Repository navigation
Start the image build from the Releaser workflow - #12
Merged
Merged
Conversation
A tag pushed with GITHUB_TOKEN starts no on.push workflows, and this repo has no UCI_GITHUB_TOKEN secret, so docker.yml never ran for a release tag. Dispatch it explicitly once a release is created, as was being done by hand. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Release tags never started
docker.yml, so every release image had to be built by hand. This makes the Releaser start that build itself.Confirmed cause
The Releaser creates the tag with
GITHUB_TOKEN, and a push made withGITHUB_TOKENdoes not start other workflows.secrets.UCI_GITHUB_TOKEN || github.tokento the release action. This repo has noUCI_GITHUB_TOKEN:actions/secretsandactions/organization-secretsboth returntotal_count: 0.github-actions[bot].workflow_dispatchofdocker.yml(for v1.1.0, 41626211367). None has apushrun. The v1.1.0 Releaser run (41624924279) succeeded, so nothing failed visibly.Tag Push Checkerhas the same cause and has never run (0 runs).Fix
A new
publish-imagejob inreleaser.ymlruns after the release and callsgh workflow run docker.yml --ref <tag>.workflow_dispatchis the documented exception to theGITHUB_TOKENrule, and this is the same action people were taking by hand, so the build, ref and image tags are unchanged.ifas filecoin-ffi. Otherversion.jsonpushes and re-runs on an existing tag do not movelatest.actions: writeis scoped to this job.Why not set
UCI_GITHUB_TOKENIt needs a long-lived credential, and it would have a side effect:
Tag Push Checkerwould start running on release tags and, unless the pusher isweb3-bot, open a "manual release created" issue for every release. Leaving it unset keeps that nag for tags pushed by hand, which is what it is for, sotagpush.ymlis unchanged.If the secret is set later, tag pushes would also trigger
docker.yml, so each release would build twice.How it was checked
No tags were created or moved, and no images were published.
On a throwaway branch (since deleted), with
docker.ymlreplaced by a stub that only logged in to GHCR:GITHUB_TOKENwith onlyactions: writedispatchesdocker.ymlworkflow_dispatchifwith stubbed output shaped like a release (41624924279)ifwith stubbed output shaped like no release (41624338037)github-actions[bot], the actor on dispatched runsactionlintpasses onreleaser.yml. The stub runs remain in thedocker.ymlrun history under the deleted branch.Not tested: an end-to-end run. These paths only run for a real release:
github-actions[bot](only the login was tested)After the next release, confirm that a
docker.ymlrun started bygithub-actions[bot]appears for the tag and that the image exists before pinning its digest. If it doesn't, the manual dispatch still works.🤖 Generated with Claude Code