ci: advanced CodeQL (#99) #173
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Analysis | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
types: [opened, reopened, synchronize, ready_for_review, converted_to_draft] | |
schedule: | |
- cron: "0 11 * * 0" # 3 AM PST = 12 PM UDT, runs sundays | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
tests-java: | |
name: Backend Tests | |
if: github.event_name != 'pull_request' || !github.event.pull_request.draft | |
uses: ./.github/workflows/.tests.yml | |
trivy: | |
name: Repository Report | |
if: github.event_name != 'pull_request' || !github.event.pull_request.draft | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run Trivy vulnerability scanner in repo mode | |
uses: aquasecurity/[email protected] | |
with: | |
format: "sarif" | |
output: "trivy-results.sarif" | |
ignore-unfixed: true | |
scan-type: "fs" | |
scanners: "vuln,secret,config" | |
severity: "CRITICAL,HIGH" | |
- name: Upload Trivy scan results to GitHub Security tab | |
uses: github/codeql-action/upload-sarif@v3 | |
with: | |
sarif_file: "trivy-results.sarif" | |
codeql: | |
name: Semantic Code Analysis | |
runs-on: ubuntu-24.04 | |
permissions: | |
actions: read | |
contents: read | |
packages: read | |
security-events: write | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: github/codeql-action/init@v3 | |
with: | |
languages: javascript,java | |
# Autobuild failed for Java, so building manually | |
- name: Set up JDK 17 and Caching maven dependencies | |
uses: actions/setup-java@v4 | |
with: | |
distribution: "temurin" | |
java-version: "17" | |
cache: "maven" | |
server-id: "github" | |
# Java builds | |
- name: Build Core | |
working-directory: core | |
run: mvn clean package install -DskipTests -Dtests.skip=true | |
- name: Build Spring | |
working-directory: spring | |
run: mvn clean package -DskipTests -Dtests.skip=true | |
- name: Perform CodeQL Analysis | |
uses: github/codeql-action/analyze@v3 | |
results: | |
name: Analysis Results | |
# needs: [codeql, tests-java, trivy] - uncomment when/if Trivy stops failing (upstream problem) | |
needs: [codeql, tests-java] | |
runs-on: ubuntu-24.04 | |
steps: | |
- run: echo "Workflow completed successfully!" |