From d3c37c83c1bd8856534154fa778d7106e1e50266 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Tue, 3 Nov 2026 20:32:00 +0800 Subject: [PATCH 1/2] fix(ci): batch main CodeQL scans weekly --- .ci-policy.md | 1 + .github/workflows/codeql.yml | 47 ++++++++++++++++++++++++++++++++++++ CHANGELOG.md | 2 ++ 3 files changed, 50 insertions(+) create mode 100644 .ci-policy.md create mode 100644 .github/workflows/codeql.yml diff --git a/.ci-policy.md b/.ci-policy.md new file mode 100644 index 0000000..deb4ef2 --- /dev/null +++ b/.ci-policy.md @@ -0,0 +1 @@ +CodeQL scans main weekly to batch this quiet repository's changes without adding daily scans; PR/manual scans remain enabled and CI/deployment gates are unchanged. diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 0000000..4e22d57 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,47 @@ +name: CodeQL + +on: + pull_request: + schedule: + - cron: "37 5 * * 1" + workflow_dispatch: + +permissions: + contents: read + +# Keep scheduled scans running; only superseded PR scans should be cancelled. +concurrency: + group: codeql-${{ github.event_name }}-${{ github.event_name == 'workflow_dispatch' && github.run_id || github.event.pull_request.number || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + +jobs: + analyze: + name: Analyze (${{ matrix.language }}) + runs-on: ubuntu-24.04 + timeout-minutes: 20 + permissions: + actions: read + contents: read + security-events: write + strategy: + fail-fast: false + matrix: + language: + - actions + - javascript-typescript + steps: + - name: Check out source + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - name: Initialize CodeQL + uses: github/codeql-action/init@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1 + with: + languages: ${{ matrix.language }} + build-mode: none + + - name: Analyze + uses: github/codeql-action/analyze@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1 + with: + category: /language:${{ matrix.language }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 18784d6..3c09983 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +- Batch main CodeQL analysis weekly while preserving PR and manual scans. + - Accept identifier-free reporting-installation counts into an optional aggregate-only D1 `(day, gap, reports)` histogram with 90-day pruning; successful update answers advertise the server UTC day only when the binding exists, and production stays unbound. Thanks @roboclaw-bot. - Maintain public vocabulary with daily checks of immutable stable releases, retained backfill, isolated generation, constrained publication, serialized deployment, and retryable exact-commit rollout verification. - Preserve all reported public channel, provider, and plugin names instead of truncating each list to 32 before validation; keep upload and Analytics Engine byte limits covered by regression tests. From bcd5713bdec3d25d5b5797c0c3d534c6364e3037 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Tue, 3 Nov 2026 20:33:54 +0800 Subject: [PATCH 2/2] fix(ci): preserve the native CodeQL job budget --- .github/workflows/codeql.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 4e22d57..285d561 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -18,7 +18,6 @@ jobs: analyze: name: Analyze (${{ matrix.language }}) runs-on: ubuntu-24.04 - timeout-minutes: 20 permissions: actions: read contents: read