Skip to content

chore: update demos, CI workflows, and build tooling - #29

Closed
nodeselector wants to merge 2 commits into
ns/release/docsfrom
ns/release/chore
Closed

chore: update demos, CI workflows, and build tooling#29
nodeselector wants to merge 2 commits into
ns/release/docsfrom
ns/release/chore

Conversation

@nodeselector

Copy link
Copy Markdown
Collaborator

Layer 7/7 — top. Base: ns/release/docs.

Refresh VHS demo tapes and fixture workflows, adjust release/test CI workflows, and update Makefile and .gitignore.


Part of a stacked series for the pre-release hardening of gh actions-pin. Review bottom-up; each PR is based on the one below it so the diff shows only that layer.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Not ready to approve

The new Makefile install/uninstall logic hardcodes the extensions directory and uses an unguarded recursive delete, which can install to the wrong location or delete unintended paths.

Pull request overview

This PR updates local build/install tooling and transitions repository workflows to use a detached GitHub Actions lockfile (.github/workflows/actions.lock), while removing previously committed demo workflows and VHS demo assets as part of the pre-release hardening stack.

Changes:

  • Update Makefile install/reinstall/uninstall to install the built extension binary directly into the GitHub CLI extensions directory.
  • Migrate workflow dependency pin metadata from embedded dependencies: blocks to .github/workflows/actions.lock.
  • Remove demo/ workflows and VHS recording scripts/tapes.
File summaries
File Description
Makefile Updates build/test/install targets; adds direct-copy install and uninstall logic for the extension.
demo/workflows/release.yml Removes demo release workflow.
demo/workflows/deploy.yml Removes demo deploy workflow.
demo/workflows/dependabot-auto-merge.yml Removes demo Dependabot auto-merge workflow.
demo/workflows/codeql.yml Removes demo CodeQL workflow.
demo/workflows/ci.yml Removes demo CI workflow fixture.
demo/workflows-upgrade/ci.yml Removes demo “upgrade” workflow fixture.
demo/workflows-pwned/6-lockfile-forgery.yml Removes pwned-scenario fixture.
demo/workflows-pwned/5-pinned-before-update.yml Removes pwned-scenario fixture.
demo/workflows-pwned/4-never-pinned-pwned.yml Removes pwned-scenario fixture.
demo/workflows-pwned/3-repinned-bypass.yml Removes pwned-scenario fixture.
demo/workflows-pwned/2-pinned-before-lineage-rewrite.yml Removes pwned-scenario fixture.
demo/workflows-pwned/1-pinned-before-hijack.yml Removes pwned-scenario fixture.
demo/workflows-interactive/unreleased-commit.yml Removes interactive demo workflow fixture.
demo/workflows-interactive/sha-as-ref.yml Removes interactive demo workflow fixture.
demo/workflows-check/ci.yml Removes “check” demo workflow fixture.
demo/vhs/upgrade.tape Removes VHS tape used for upgrade demo recording.
demo/vhs/upgrade-version.tape Removes VHS tape used for versioned upgrade demo recording.
demo/vhs/unreleased-commit.tape Removes VHS tape used for unreleased commit demo recording.
demo/vhs/tamper-warning.tape Removes VHS tape used for tamper warning demo recording.
demo/vhs/sha-as-ref.tape Removes VHS tape used for SHA-as-ref demo recording.
demo/vhs/reset-fixtures.sh Removes fixture reset script for VHS recordings.
demo/vhs/ref-moved.tape Removes VHS tape used for ref-moved demo recording.
demo/vhs/record-all.sh Removes batch recording script for VHS demos.
demo/vhs/lockfile-forgery.tape Removes VHS tape used for lockfile forgery demo recording.
demo/vhs/imposter-commit.tape Removes VHS tape used for imposter commit demo recording.
demo/vhs/edit-repin.tape Removes VHS tape used for edit/repin demo recording.
demo/vhs/ci-failure.tape Removes VHS tape used for CI-failure demo recording.
demo/vhs/check-autofix.tape Removes VHS tape used for check-autofix demo recording.
demo/try-it.sh Removes interactive “try-it” demo runner script.
.gitignore Ignores VHS output directory under demo/vhs/out/.
.github/workflows/test.yml Pins action versions and removes embedded dependencies: in favor of lockfile.
.github/workflows/sync-early-access-release.yml Pins checkout patch version and removes embedded dependencies: in favor of lockfile.
.github/workflows/release.yml Pins checkout/precompile patch versions and removes embedded dependencies: in favor of lockfile.
.github/workflows/actions.lock Adds detached, machine-generated lockfile mapping workflows to pinned action SHAs and transitive deps.

Copilot's findings

  • Files reviewed: 33/35 changed files
  • Comments generated: 2

Note

Your feedback helps us improve the quality of this feature.
Please use 👍 or 👎 to tell us whether this assessment is correct.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Makefile Outdated
Comment on lines +2 to +3
EXT_NAME := gh-actions-pin
EXT_DIR := $(HOME)/.local/share/gh/extensions/$(EXT_NAME)
Comment thread Makefile
Comment on lines +23 to +24
uninstall:
rm -rf $(EXT_DIR)
@nodeselector
nodeselector force-pushed the ns/release/docs branch 2 times, most recently from e77f007 to 5e7d45c Compare June 8, 2026 03:32
@nodeselector
nodeselector force-pushed the ns/release/chore branch 2 times, most recently from 632836e to 351afe0 Compare June 8, 2026 05:57
@nodeselector
nodeselector force-pushed the ns/release/docs branch 2 times, most recently from 106b6ba to c5296ed Compare June 8, 2026 06:12
@nodeselector
nodeselector force-pushed the ns/release/chore branch 2 times, most recently from ed4933a to 0539912 Compare June 8, 2026 06:16
@nodeselector
nodeselector force-pushed the ns/release/docs branch 2 times, most recently from 6911a8f to fbd2569 Compare June 8, 2026 13:10
nodeselector and others added 2 commits June 8, 2026 08:45
Refresh VHS demo tapes and fixture workflows, adjust release/test CI
workflows, and update Makefile and .gitignore.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
gh resolves its data dir from XDG_DATA_HOME (falling back to
~/.local/share/gh), so the hardcoded path put 'make install' in the
wrong place for anyone who sets XDG_DATA_HOME. Honor it, keeping the
documented default when unset.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@nodeselector

Copy link
Copy Markdown
Collaborator Author

Consolidated into #30. Closing this stacked PR.

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.

2 participants