keycloak-scim/.github/workflows/codeql-analysis.yml
Bruno Oliveira da Silva 61c6bd5ace
Apply the principle of least privilege for GitHub workflows (#33534)
Closes #33544

Signed-off-by: Bruno Oliveira da Silva <bruno@abstractj.com>
2024-10-04 14:17:35 +02:00

134 lines
3.3 KiB
YAML

name: CodeQL
on:
push:
branches-ignore:
- main
- dependabot/**
- quarkus-next
pull_request:
branches: [main]
workflow_dispatch:
env:
MAVEN_ARGS: "-B -nsu -Daether.connector.http.connectionMaxTtl=25"
concurrency:
# Only cancel jobs for PR updates
group: codeql-analysis-${{ github.ref }}
cancel-in-progress: true
defaults:
run:
shell: bash
permissions:
contents: read
jobs:
conditional:
name: Check conditional workflows and jobs
runs-on: ubuntu-latest
outputs:
java: ${{ steps.conditional.outputs.codeql-java }}
javascript: ${{ steps.conditional.outputs.codeql-javascript }}
typescript: ${{ steps.conditional.outputs.codeql-typescript }}
steps:
- uses: actions/checkout@v4
- id: conditional
uses: ./.github/actions/conditional
with:
token: ${{ secrets.GITHUB_TOKEN }}
java:
name: CodeQL Java
needs: conditional
runs-on: ubuntu-latest
if: needs.conditional.outputs.java == 'true'
outputs:
conclusion: ${{ steps.check.outputs.conclusion }}
steps:
- uses: actions/checkout@v4
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: java
- name: Build Keycloak
uses: ./.github/actions/build-keycloak
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
wait-for-processing: true
env:
CODEQL_ACTION_EXTRA_OPTIONS: '{"database":{"interpret-results":["--max-paths",0]}}'
javascript:
name: CodeQL JavaScript
needs: conditional
runs-on: ubuntu-latest
if: needs.conditional.outputs.javascript == 'true'
outputs:
conclusion: ${{ steps.check.outputs.conclusion }}
steps:
- uses: actions/checkout@v4
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
env:
CODEQL_ACTION_EXTRA_OPTIONS: '{"database":{"finalize":["--no-run-unnecessary-builds"]}}'
with:
languages: javascript
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
wait-for-processing: true
env:
CODEQL_ACTION_EXTRA_OPTIONS: '{"database":{"interpret-results":["--max-paths",0]}}'
typescript:
name: CodeQL TypeScript
needs: conditional
runs-on: ubuntu-latest
if: needs.conditional.outputs.typescript == 'true'
outputs:
conclusion: ${{ steps.check.outputs.conclusion }}
steps:
- uses: actions/checkout@v4
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
env:
CODEQL_ACTION_EXTRA_OPTIONS: '{"database":{"finalize":["--no-run-unnecessary-builds"]}}'
with:
languages: typescript
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
wait-for-processing: true
env:
CODEQL_ACTION_EXTRA_OPTIONS: '{"database":{"interpret-results":["--max-paths",0]}}'
check:
name: Status Check - CodeQL
if: always()
needs:
- conditional
- java
- javascript
- typescript
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/status-check
with:
jobs: ${{ toJSON(needs) }}