Skip to content

trigger the publish workflow on an unpublished version - #212

Merged
jaemk merged 1 commit into
masterfrom
260901.release-trigger
Sep 2, 2026
Merged

jaemk merged 1 commit into
masterfrom
260901.release-trigger

Conversation

@jaemk

@jaemk jaemk commented Sep 2, 2026

Copy link
Copy Markdown
Owner

release.yml ran on every push to master: a full make ci (duplicating build.yml, which
already ran the same pipeline on the PR) followed by a release environment approval request,
whether or not the commit changed the version.

  • Ask crates.io whether the current crate version is published, and do nothing when it is. The
    make ci gate and the environment approval now happen only for a version that is actually
    going out.
  • Skip the workflow on forks, where it can only fail for lack of publish credentials (reported in
    update extract_into(), add example for bundles and add restart() method #147).
  • Add workflow_dispatch, to re-run a release whose earlier attempt failed partway.

A commit-message gate (release: ...) was considered and rejected: squash merges replace the
message with the PR title, which drops the prefix and makes the workflow skip a real release while
reporting success. cached hit exactly that and moved to this check in jaemk/cached#303. A version
that is not on the index cannot be lost by a merge strategy.

Verified against the live API: 1.2.0 resolves to "already published, nothing to release", and an
unpublished version resolves to "releasing".

`release.yml` ran on every push to `master`: a full `make ci` (duplicating `build.yml`, which
already ran the same pipeline on the PR) followed by a `release` environment approval
request, whether or not the commit changed the version.

The workflow now asks crates.io whether the current version is published and does nothing
when it is. A commit-message gate ("release: ...") was considered and rejected: squash
merges replace the message with the PR title, which drops the prefix and makes the workflow
skip a real release while reporting success. The version not being on the index cannot be
lost by a merge strategy.

Also skip the workflow on forks, where it can only fail for lack of publish credentials
(reported in #147), and add `workflow_dispatch` to re-run a release that failed partway.
@jaemk
jaemk merged commit 7d2bb14 into master Sep 2, 2026
4 checks passed
@jaemk
jaemk deleted the 260901.release-trigger branch September 2, 2026 01:05
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