mirror of
https://github.com/DeusData/codebase-memory-mcp.git
synced 2026-10-17 05:19:35 +08:00
CodeQL SAST keyed its concurrency group by commit SHA on push events, so every merge to main got its own group and nothing was ever cancelled; OpenSSF Scorecard had no group at all. On 2026-10-04 a day of 36 merges queued one CodeQL analysis (40-100 minutes each) and one Scorecard run per merge, ahead of every pull request run: pull request CI waited hours for a runner, and a main analysis waited 4 hours. CodeQL now groups by event and by pull request number or ref, so pull requests keep one analysis each as before, and a newer push to main cancels the analysis of an older main commit. Scorecard groups by ref with the same cancellation. Only the newest main commit matters for both: code scanning tracks the default branch's latest analysis. DCO keeps its per-commit group on purpose: its push run on main is the check that catches a merge rewriting sign-offs, so a superseded push must still be checked, and a DCO job takes seconds. Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
48 lines
1.5 KiB
YAML
48 lines
1.5 KiB
YAML
name: CodeQL SAST
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
# One analysis per pull request and one per pushed branch. A newer push to main
|
|
# cancels the analysis of an older main commit; only the newest commit's
|
|
# results matter for main, and a merge-heavy day otherwise queues one 40-100
|
|
# minute analysis per merge ahead of every pull request run.
|
|
concurrency:
|
|
group: codeql-${{ github.event_name }}-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
analyze:
|
|
runs-on: ubuntu-latest
|
|
# CodeQL needs security-events: write to upload results; scoped to this job so
|
|
# the workflow's top-level token stays read-only (Scorecard TokenPermissions).
|
|
permissions:
|
|
security-events: write
|
|
actions: read
|
|
contents: read
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Install build dependencies
|
|
run: sudo apt-get update && sudo apt-get install -y zlib1g-dev
|
|
|
|
- name: Initialize CodeQL
|
|
uses: github/codeql-action/init@1c5b675653bb5c22dbe9b12b556ec555138e09fd # v4.38.1
|
|
with:
|
|
languages: c-cpp
|
|
build-mode: manual
|
|
|
|
- name: Build for CodeQL analysis
|
|
run: scripts/build.sh
|
|
|
|
- name: Perform CodeQL Analysis
|
|
uses: github/codeql-action/analyze@1c5b675653bb5c22dbe9b12b556ec555138e09fd # v4.38.1
|
|
with:
|
|
category: "/language:c-cpp"
|