Repository navigation
ci: T9082: modernize CodeQL reusable — codeql-action v4 + build-mode input - #155
Conversation
…input
- Bump github/codeql-action init/autobuild/analyze from v3 to v4
(v3 is deprecation-bound; v4 runs on Node 24).
- Add optional build-mode input ('none', 'autobuild', 'manual') passed
through to codeql-action/init. When set, the explicit Autobuild step is
skipped ('none'/'autobuild' are handled by codeql-action itself; 'manual'
requires and runs build-command).
- Add a fail-fast input-validation step rejecting invalid
build-mode/build-command combinations.
- Correct the languages input doc string to current canonical language ids.
Behavior with no build-mode set is the same legacy contract as before
(explicit Autobuild step, or Manual build when build-command is provided).
🤖 Generated by [robots](https://vyos.io)
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited), Organization UI (inherited) Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughSummary by CodeRabbit
WalkthroughChangesCodeQL workflow
✨ Finishing Touches✨ Simplify code
Comment |
Adversarial review —
|
Pre-merge validation complete (legacy autobuild on v4, validation fail-fast, build-mode none — all green; vyos/.github#155 merged). Fleet-standard caller shape. 🤖 Generated by [robots](https://vyos.io)
Pre-merge validation complete (legacy interpreted row green; vyos/.github#155 merged). Fleet-standard caller shape. 🤖 Generated by [robots](https://vyos.io)
* ci: T9082: onboard CodeQL scanning via central reusable workflow Caller temporarily pinned to the Track-A feature SHA for pre-merge validation; first commit exercises the legacy autobuild path on codeql-action v4. Flipped to @production before merge. 🤖 Generated by [robots](https://vyos.io) * ci: T9082: canary step 2 — deliberate invalid input combo build-mode 'none' + build-command must be rejected by the reusable's validation step before any scanning cost. Reverted in the next commit. 🤖 Generated by [robots](https://vyos.io) * ci: T9082: canary step 3 — final shape (build-mode none) Removes the deliberate invalid combo; c-cpp extraction via build-mode 'none'. Coverage compared against the step-1 autobuild run per the T9082 canary procedure. 🤖 Generated by [robots](https://vyos.io) * ci: T9082: finalize — pin to @production, restore paths filter Pre-merge validation complete (legacy autobuild on v4, validation fail-fast, build-mode none — all green; vyos/.github#155 merged). Fleet-standard caller shape. 🤖 Generated by [robots](https://vyos.io)
Track A of the vyos-org CodeQL rollout (T9082, IS-610).
What
github/codeql-action/{init,autobuild,analyze}v3 → v4 (v3 is deprecation-bound; v4 runs on Node 24).build-modeinput (none/autobuild/manual), passed through tocodeql-action/init. When set, the explicit Autobuild step is skipped (none/autobuildare handled by codeql-action itself;manualrequires and runsbuild-command).build-mode/build-commandcombinations before any scanning cost.Unset
build-modekeeps the same legacy behavior contract (explicit Autobuild step, or Manual build whenbuild-commandis provided) — all 4 existing callers (vyatta-cfg, vyatta-bash, vyos-build, vyos-1x) exercise only that path.Pre-merge verification (in flight)
Two canary caller PRs run pinned to this branch's SHA before merge: ipaddrcheck exercises the legacy autobuild row on v4, the validation failure path, and
build-mode: none; rest.vyos exercises the legacy interpreted row. Post-merge, the 4 existing callers' latest runs are actively re-run (rerun re-resolves@production).Phase 0 (local CodeRabbit) dispositions
build-commandshell interpolation in the Manual build step: pre-existing behavior, unchanged by this PR.workflow_callinputs come from a caller workflow committed to the calling repo — anyone able to setbuild-commandcan already run arbitrary steps in that repo's own workflows; no trust boundary is crossed. An allowlist would break the documented manual-build flexibility.build-mode: noneagainst language (Go/Kotlin/Swift unsupported): skipped;codeql-action/initalready fails fast with a clear upstream error for unsupported combinations, and duplicating its compatibility table here invites drift. Fleet callers usenoneonly for c-cpp/python/javascript.Advances: IS-610
🤖 Generated by robots