feat(linux): provide pinned gh-stack tooling - #30
Merged
Conversation
Member
Author
|
Final delivery verification at |
|
🎉 This PR is included in version 1.3.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
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.
Summary
ghpackage in the broad Linux image with the official checksum-pinned GitHub CLI 2.97.0 archive and MIT licensegithub/gh-stackv0.1.0 for the non-rootubuntuuser, retaining its pinned manifest, source/license evidence, and ordinary extension dispatchCloses #29.
Coordinates
mainatcfd1afd4088f76f6cd327159b0d58b20a6a6b0ddfeat/pinned-gh-stackatf96fdade70435ba9826099552a09f0909db327ba/workspaces/atrinik/workspace/worktrees/devcontainer/issue-29-gh-stack7721ece feat(linux): provide pinned gh-stack tooling;f96fdad fix(linux): harden gh-stack verificationValidation
docker build --check --file linux/Dockerfile .docker build --check --file windows/Dockerfile .docker build --file linux/Dockerfile --target validation --tag atrinik-linux-validation:issue-29 .gh2.97.0, Git 2.53.0, owner/name/tag/ispinned: true, extension-list,gh stack --version,gh stack --help, SHA-256, and installer cache/state absence assertionsgh attestation verifyuses a checksum-pinned GitHub CLI and is constrained togithub/gh-stack,.github/workflows/release.yml,refs/tags/v0.1.0, source/signer commita1b4a3d4d0bcde9ec3a78ab99b2d63af121857a9, and the expectedlinux-amd64digestactionlint -config-file .github/actionlint.yaml .github/workflows/*.ymltools/test-require-image-checks.shtools/validate-toolchains.sh toolchains.json '' audio-toolchain.json '' audio-toolchain.spdx.json '' windows/classic-check-toolchain.jsongit diff --checkManual verification
Runtime topology is not applicable: this repository publishes build images and the change does not alter an Atrinik game service. Build and inspect the broad Linux image directly:
docker build --file linux/Dockerfile --tag atrinik-linux-build . docker run --rm --user ubuntu --env HOME=/home/ubuntu \ atrinik-linux-build gh version docker run --rm --user ubuntu --env HOME=/home/ubuntu \ --env GH_TOKEN=unused atrinik-linux-build gh extension list docker run --rm --user ubuntu --env HOME=/home/ubuntu \ atrinik-linux-build gh stack --version docker run --rm --user ubuntu --env HOME=/home/ubuntu \ atrinik-linux-build gh stack --help docker run --rm --user ubuntu --env HOME=/home/ubuntu \ atrinik-linux-build sha256sum \ /home/ubuntu/.local/share/gh/extensions/gh-stack/gh-stack docker run --rm atrinik-linux-build \ syft dir:/ --select-catalogers +sbom-cataloger -o spdx-jsonThe non-secret
GH_TOKEN=unusedplaceholder suppresses GitHub CLI's login prerequisite for the local-only extension-list query; no credential is needed. No command creates, changes, pushes, links, rebases, unstacks, or merges a stack. Repeating the build and read-only smoke commands is safe. The disposable containers remove themselves; no wrapper profile, scenario, state, topology, server/client data, or cleanup operation is involved.