Files
parsedmarc/.github
52edca0245 Block a release while a code scanning alert is open (#913)
A tag push ran python-tests.yml — lint, docs build, the test matrix — and
nothing else. CodeQL runs as GitHub default setup rather than from that
workflow, so release.yml never saw it, and a pull request's own CodeQL check
reports only what that diff introduces, which means an alert already open on
master passed every check a release went through.

release.yml now has a code-scanning job that build waits on, so a release
stops before it publishes anything rather than after. Everything else hangs
off build, so gating build gates the PyPI upload, the GitHub release, the
Docker image, and the docs deploy with it.

Reading the alert list is only meaningful if CodeQL has looked at the code
being released, and the tag is usually pushed moments after the commit lands
on master, while its analyses are still running. So the job first waits, up to
15 minutes, for an analysis of the tagged commit in every language CodeQL
covers. That set is read back from the analyses already published for the
default branch instead of hard-coded, so it cannot drift out of step with the
repository configuration, and a commit CodeQL never analyzed fails rather than
passing against a scan of different code.

A false positive is dismissed in the Security tab: a dismissed alert has state
"dismissed", not "open", so it stops blocking without needing an exception
here.

Co-authored-by: Sean Whalen <seanthegeek@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-20 20:14:06 -04:00
..