Skip to content

ci(pages): replace upload-pages-artifact composite with explicit SHA-pinned upload#38

Merged
hyperpolymath merged 1 commit into
mainfrom
fix/pages-explicit-pinned
May 16, 2026
Merged

ci(pages): replace upload-pages-artifact composite with explicit SHA-pinned upload#38
hyperpolymath merged 1 commit into
mainfrom
fix/pages-explicit-pinned

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

ci(pages): replace upload-pages-artifact composite with explicit SHA-pinned upload

GitHub Pages (casket-pages.yml) failed the org "all actions pinned to
a full-length commit SHA" ruleset with:

actions/upload-artifact@v4 is not allowed … must be pinned to a
full-length commit SHA

casket-pages.yml itself already pins every action. The violation is
transitive: actions/upload-pages-artifact@v3 is a composite action
whose own action.yml does uses: actions/upload-artifact@v4 (an
unpinned upstream moving tag) — and the ruleset evaluates nested
actions recursively, which we cannot pin from our side.

Fix: drop the composite and do exactly what it does, with a
SHA-pinned primitive — tar _site the way actions/deploy-pages
expects and upload it as the github-pages artifact via
actions/upload-artifact@ea165f8d… # v4 (the same SHA already pinned
elsewhere in this repo). configure-pages / deploy-pages stay
(already pinned; they don't nest an unpinned upload-artifact).

No behaviour change to the published site; removes the only remaining
policy-blocked red. Pre-existing infra, unrelated to the #122/#30
source migration.

Co-Authored-By: Claude Opus 4.7 noreply@anthropic.com

…pinned upload

`GitHub Pages` (casket-pages.yml) failed the org "all actions pinned to
a full-length commit SHA" ruleset with:

    actions/upload-artifact@v4 is not allowed … must be pinned to a
    full-length commit SHA

casket-pages.yml itself already pins every action. The violation is
*transitive*: `actions/upload-pages-artifact@v3` is a composite action
whose own action.yml does `uses: actions/upload-artifact@v4` (an
unpinned upstream moving tag) — and the ruleset evaluates nested
actions recursively, which we cannot pin from our side.

Fix: drop the composite and do exactly what it does, with a
SHA-pinned primitive — tar `_site` the way `actions/deploy-pages`
expects and upload it as the `github-pages` artifact via
`actions/upload-artifact@ea165f8d… # v4` (the same SHA already pinned
elsewhere in this repo). `configure-pages` / `deploy-pages` stay
(already pinned; they don't nest an unpinned upload-artifact).

No behaviour change to the published site; removes the only remaining
policy-blocked red. Pre-existing infra, unrelated to the #122/#30
source migration.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@hyperpolymath hyperpolymath merged commit df21dba into main May 16, 2026
23 of 29 checks passed
@hyperpolymath hyperpolymath deleted the fix/pages-explicit-pinned branch May 16, 2026 16:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant