ci: move code scanning to CodeQL advanced setup - #83
Merged
Conversation
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Code scanning moves from CodeQL default setup to advanced setup, at
.github/workflows/codeql.yml. Default setup is already turned off, so this workflow is what analyzes the repository from here.The
mainruleset'scode_qualityrule is removed.gh api repos/svyatov/oss-kit/code-quality/setupanswers404 Code quality is not available for this repository, so the rule required a tool that can never report.AGENTS.mdis corrected in both places that described the old arrangement.Why this way
Release pull request #82 passed all six required checks and could not merge. CodeQL returned
neutralwithCode scanning cannot determine the alerts introduced by this pull request, because 1 configuration present on refs/heads/main was not found, because the release touches only JSON and Markdown and there was nothing forjavascript-typescriptto compare. The ruleset'scode_scanningrule blocks on that verdict. Every future release would have hit the same wall, since a release only ever touches three plugin manifests and the changelog. The workflow carries no path filter, so a verdict always arrives.Default setup also excludes fork pull requests, and every external contribution here arrives from a fork, which is the R-SEC-09 gap
AGENTS.mdalready recorded as open. Advanced setup is what theoss-hardenskill names for that case.The matrix names
actionsandjavascript-typescriptwhere default setup reported four languages.javascript-typescriptis the identifier that covers both JavaScript and TypeScript, so the other two analyzed the same tree again.code_qualityis removed rather than kept for later becauseskills/oss-harden/references/github.mdalready tells a reader not to add that rule where Code Quality is off, on the grounds that a rule requiring a tool that never reports blocks every merge. This repository had done the thing its own skill warns against.Verification
The ruleset was backed up before the edit and read back after it.
target,enforcement,conditions, andbypass_actorsare unchanged, and the six remaining rules are identical to their previous values.bypass_actorsis still[]andcurrent_user_can_bypassis stillnever, so nothing here exempts anybody from anything.github/codeql-actionis pinned to a full commit SHA resolved throughskills/oss-harden/scripts/resolve-pin.mjs, and the job setstimeout-minutes, so the workflow meets R-SEC-01 and R-CI-05.bun testreports 328 passing andscripts/prose.mjsreports no finding onAGENTS.md.Known gaps
Whether advanced setup delivers a CodeQL verdict on a pull request from a fork is not verified here, because this branch is not one. R-SEC-09 stays recorded as open on that path until a fork pull request demonstrates it.
The
CodeQLcontext is not in the ruleset's required status checks and is not added. Thecode_scanningrule is what gates on the analysis, and it gates on what the analysis found rather than on whether it ran.Affects