Repository navigation
ci: make pyright blocking, pin actions to commit SHAs, add CodeQL - #51
Merged
Merged
Conversation
- types job: drop continue-on-error so a pyright error fails `types` and the required `ci-ok`; AGENTS.md and the [tool.pyright] comment now say blocking instead of advisory. Job names are unchanged. - Pin every action in ci.yml and release.yml to a full commit SHA with a `# vX.Y.Z` comment. dependabot's github-actions ecosystem keeps them current. - New codeql.yml: python, build-mode none, on push to main, PRs, weekly and manual dispatch; contents:read plus security-events:write on the analyze job only. It is not a required check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
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
typesis now blocking.ci.ymldropscontinue-on-error: truefrom the pyright job, so a pyright error failstypesand, throughneeds, the requiredci-ok. The job and check names are unchanged.AGENTS.md(the Typecheck paragraph and theci-oksentence) and the[tool.pyright]comment inpyproject.tomlnow say blocking instead of advisory.Every action is pinned to a full commit SHA with a
# vX.Y.Zcomment, inci.ymlandrelease.yml. Each SHA was resolved read-only withgh api repos/<owner>/<action>/git/ref/tags/<tag>, following annotated tags down to the commit. Every pin is the commit the floating major tag points to today, so behaviour doesn't change:actions/checkoutv5 →fbc6f399…(v5.1.0)actions/setup-pythonv6 →ece7cb06…(v6.3.0)actions/setup-nodev5 →a0853c24…(v5.0.0)actions/upload-artifactv4 →ea165f8d…(v4.6.2)actions/download-artifactv4 →d3f86a10…(v4.3.0)pypa/gh-action-pypi-publishrelease/v1→dc37677b…(v1.14.2; thecompareAPI shows it is identical to therelease/v1head)softprops/action-gh-releasev2 →3bb12739…(v2.6.2)github/codeql-actionv4 →24c54180…(v4.38.3)The existing
github-actionsentry independabot.ymlkeeps these pins updated. That file is unchanged.New
codeql.ymlscans Python withbuild-mode: none. It runs on pushes to main (docs-only pushes skipped, like ci.yml), on every PR, weekly (Mon 04:27 UTC) and on manual dispatch. The top-level token iscontents: read; only theanalyzejob also getssecurity-events: write. Its concurrency rule matches ci.yml: main runs are never cancelled. It is not a required check. I confirmed read-only that CodeQL default setup isnot-configuredon the repo, so this advanced workflow won't conflict with it.Findings addressed
These are the follow-ups from the W5 review (
result-W5-passiveworkers-T13T14.mdlines 23-30): pyright passed on main but was advisory, actions were not SHA-pinned, and there was no CodeQL.Verify (run on the rebased head 803ebbf, after #50 landed on main)
ruff check . && pytest tests/ -q --cov=passiveworkers --cov-fail-under=75→ exit 0: ruff "All checks passed!", 784 passed and 9 skipped, coverage 80.92%pyrightin a fresh venv built the way CI does it (pip install -e . pyright) → exit 0, 0 errors / 0 warnings / 0 informations. I also ran it on fresh main before any edit: 0 errors. The rerun matters because fix(net): per-route coordinator body caps and counted baseline skips #50 touchedpassiveworkers/net/*, which this check now gates.actionlint .github/workflows/*.yml(v1.7.12, tarball sha256 checked against the release checksums) → exit 0grep -nE '^\s*-?\s*uses:' .github/workflows/*.yml | grep -vE 'uses: [^@ ]+@[0-9a-f]{40} # v[0-9]+\.[0-9]+\.[0-9]+$'→ no output. All 25uses:lines are pinned (ci 12, release 10, codeql 3).Unverified
typesrun on GitHub have not been observed.release.ymlonly runs on av*.*.*tag push. Its pinned actions were checked with actionlint but have not been run.docs/ROADMAP.md,docs/DECISIONS.md(D52),docs/RELEASING.mdandCHANGELOG.mdstill say pyright is "advisory". I left them alone on purpose: they record what shipped in 0.4.0, and they are outside this lane's files.🤖 Generated with Claude Code