Skip to content

fix: build and upload release assets from release-please workflow#15

Merged
phramz merged 1 commit into
mainfrom
worktree-pcov
Apr 17, 2026
Merged

fix: build and upload release assets from release-please workflow#15
phramz merged 1 commit into
mainfrom
worktree-pcov

Conversation

@phramz

@phramz phramz commented Apr 17, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Standalone tag-triggered workflows (release-action.yml, update-major-tag.yml) never fired for release-please releases: tag pushes made with the default GITHUB_TOKEN don't trigger downstream workflows. Result: v1.0.1 and v1.1.0 shipped with no assets, so uses: buildrush/setup-php@v1 consumers 404 when fetching phpup-linux-amd64 and end up on a fallback path without the newly-added coverage-driver support (manifesting as No code coverage driver available / No tests executed!).
  • Fold the build + upload steps into release-please.yml so they run in the same job that creates the release — same pattern PR fix: move floating major tag from release-please workflow #10 used for the major-tag move. Delete the now-redundant release-action.yml and update-major-tag.yml.
  • After this change, no workflow triggers on push: tags: ..., closing the class of bug entirely (no 3rd recurrence possible).

Why this is safe for branch protection

The required status checks on main are ci-lint gate and integration-test gate, produced by ci-lint.yml and integration-test.yml which trigger on pull_request: branches: [main]. That path is unchanged — release-please PRs have been producing both gates (verified on PR #11 for v1.1.0).

Follow-up

Existing v1.0.1 and v1.1.0 releases have no assets and need backfilling out-of-band. Tracking separately.

Test plan

  • Next release-please release (after this merges) publishes phpup-linux-amd64, planner-linux-amd64, and sha256sums.txt on the new release.
  • v1 floating tag still advances (unchanged from PR fix: move floating major tag from release-please workflow #10).
  • Release-please PR itself shows ci-lint gate and integration-test gate green (branch protection satisfied).

Standalone tag-triggered workflows (release-action, update-major-tag)
never fired for release-please releases because tag pushes made with the
default GITHUB_TOKEN do not trigger downstream workflows. This left
v1.0.1 and v1.1.0 with no phpup-linux-amd64 asset, breaking
`uses: buildrush/setup-php@v1` consumers whose action JS resolves the
release tag and tries to download from `releases/download/<tag>/...`.

Fold the build + upload steps (and the already-migrated major-tag move)
into release-please.yml so they run in the same job that creates the
release -- same pattern PR #10 used for the major-tag move. Delete the
now-redundant release-action.yml and update-major-tag.yml.

After this change no workflow triggers on `push: tags: ...`, closing the
class of bug entirely.
@phramz
phramz merged commit bd8a48c into main Apr 17, 2026
10 checks passed
@phramz
phramz deleted the worktree-pcov branch April 17, 2026 11:17
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