Skip to content

chore: pin action.yml to an image digest instead of :latest - #15

Merged
jake1164 merged 1 commit into
mainfrom
chore/pin-v1-release-image
Jul 10, 2026
Merged

jake1164 merged 1 commit into
mainfrom
chore/pin-v1-release-image

Conversation

@jake1164

Copy link
Copy Markdown
Contributor

Summary

  • action.yml's runs.image was hardcoded to docker://ghcr.io/tvlsi/issueservice:latest, so even consumers pinned to @v1 actually ran whatever :latest was at execution time — any push to main (or the monthly rebuild) changed behavior for everyone with no gate.
  • Pins to the digest built from the current main (bb7f6fc), making @v1 an actual immutable reference.
  • Updates the recommended usage in publish-image.yml's step summary from @main to @v1, with a note that future releases require bumping the digest.

Test plan

  • Confirmed the digest matches the image built from bb7f6fc via docker pull + docker inspect
  • publish-image.yml's rebuild triggers (Dockerfile/requirements.txt/entrypoint.sh/workflow paths) are unaffected by this change, so this won't cause an unexpected rebuild

Previously action.yml always pulled ghcr.io/tvlsi/issueservice:latest
regardless of which git ref/tag a consumer used, so @v1 was not an
actual pin - any push to main (or the monthly rebuild) changed what
every consumer ran, with no gate. Pins to the digest built from
bb7f6fc (current main) so v1 becomes a real, immutable reference.

Also updates the publish-image.yml usage recommendation from @main to
@v1, with a note that future releases need a new digest bump.
Copilot AI review requested due to automatic review settings July 10, 2026 15:30
@jake1164
jake1164 merged commit 7ef6cfa into main Jul 10, 2026
2 checks passed

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.

Pull request overview

This PR makes the repository’s Docker-based GitHub Action immutable by pinning the container image to a specific registry digest (instead of :latest), and updates the image publish workflow’s step summary to recommend using the stable major tag (@v1).

Changes:

  • Pin action.yml’s runs.image to ghcr.io/tvlsi/issueservice@sha256:… rather than :latest to prevent un-gated behavior changes for consumers.
  • Update .github/workflows/publish-image.yml step summary to recommend TVLSI/IssueService@v1 (and add release/digest guidance text).

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
action.yml Pins the action runtime image to an immutable digest instead of :latest.
.github/workflows/publish-image.yml Updates the published-image step summary to recommend @v1 and explains digest/release implications.

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

Comment on lines +73 to +74
echo "Note: action.yml on the v1 tag pins to an image digest, not :latest." >> $GITHUB_STEP_SUMMARY
echo "This build alone does not change what @v1 consumers run — cut a new release and update action.yml's digest to ship it." >> $GITHUB_STEP_SUMMARY
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