Repository navigation
ci: drop the third-party step after the deploy key and declare workflow permissions (#1968) - #1970
Conversation
…ow permissions (#1968) - cron-vendor/cron-conda: replace tj-actions/verify-changed-files@v17 with a `git status --porcelain` step that writes the same outputs; the commit steps read the file list through `env:` instead of `${{ }}` in the script - create-release, CodeQL: top-level `permissions: {}`; every job keeps its own - deploy-pages: top-level `contents: read`; the push to gh-pages moves to a `publish-pages` job holding `contents: write`, which never runs on a PR - tests: pin no third-party action after the deploy key, the step's outputs against v17's, top-level permissions in every workflow, and the Pages split Refs #1968
|
NEEDS CHANGES at |
- deploy-pages: each deploy names its commit in the gh-pages commit message, and `publish-pages` first reads the commit gh-pages last published; when this run's commit is behind it on main, the deploy is skipped with a notice. Anything it cannot read publishes, as before - tests: run the check against a stubbed `gh`, and pin that the deploy waits on it and writes the message it reads Refs #1968
|
GOOD TO GO at |
make pylint,make mypy,make isort)make testpasses, and a test case covers the changeWhat is the purpose of your pull request?
ci— workflows or build toolingDescription of your pull request and other information
Part 1 of #1968, covering the code-side items that were accepted.
Vendor Update and Conda Update.
tj-actions/verify-changed-files@v17becomes agit status --porcelainstep with the same id and outputs. No third-party code runs after the deploy key is loaded. The commit steps now read the file list throughenv:rather than${{ }}.Create Release and CodeQL. Both get top-level
permissions: {}. Every job keeps its own block, so no job's permissions change. Increate-release.ymlthe line takes the place of the commented-out#release:trigger, which keeps the docs' line citations stable.GitHub Pages. The top level becomes
contents: read, and the build, including on pull requests, is read-only. A newpublish-pagesjob, which never runs on a pull request, holdscontents: writeand pushes the built artifact.Pins. These cover:
Each fails against
main's files.SHA-pinning and Dependabot come after #1958 phase 1. The secret moves are repository settings. The Pages publish path is only proven by a real run on
main.Refs #1968