Skip to content

Restore the release trigger and ship 3.1.1 - #51

Merged
pathscale merged 2 commits into
masterfrom
fix/restore-release-trigger
Sep 21, 2026
Merged

pathscale merged 2 commits into
masterfrom
fix/restore-release-trigger

Conversation

@pathscale

Copy link
Copy Markdown
Owner

Fixes a release I broke in #50, and ships the same work as 3.1.1.

What went wrong

#50 removed every automatic trigger from rust.yml, which correctly stopped
pull request runs and incorrectly stopped releases.

The publish job is gated on github.event_name == 'push' && github.ref == 'refs/heads/master' and reads github.event.before to diff Cargo.toml. Both
only exist on a push event. With workflow_dispatch alone that job could never
run, and a manual dispatch would not have helped: github.event.before is empty
outside a push, so the diff would be meaningless.

So 3.1.0 merged to master, no workflow fired at all, and crates.io is still on
3.0.3.

What this does

  • 4fdefda puts the master push trigger back and leaves pull_request
    off. Pull requests still do not run CI; master does, because on this
    repository a push to master is the release. workflow_dispatch stays.
  • 719f81a bumps to 3.1.1. The publish step diffs Cargo.toml against the
    previous master commit, so restoring the trigger on its own would find no
    change and release nothing. No source change; 3.1.1 carries exactly the nagoya
    socket work 3.1.0 was meant to carry.

3.1.0 will exist in this repository's history and never on crates.io. That is
the honest outcome and it costs a patch number.

Local gate

cargo build                                          ok
cargo test --no-default-features \
  --features ws-core,framed-transport,nagoya-transport   98 passed, 0 failed
cargo fmt --all -- --check                           clean
cargo clippy --no-default-features \
  --features ws-core,framed-transport,nagoya-transport -- -D warnings   clean

a_wire_message_crosses_a_nagoya_unix_socket_in_both_directions ... ok

The workflow was parsed rather than eyeballed, since a bad trigger is the defect
being fixed:

triggers: ["push", "workflow_dispatch"]
push branches: ["master"]
pull_request present: false
publish if: github.event_name == 'push' && github.ref == 'refs/heads/master'

The if now matches a trigger that exists.

After merge

The push to master fires the workflow, Cargo.toml differs from the previous
commit, and cargo publish runs. Watch for 3.1.1 on crates.io rather than
assuming it; the whole point of this PR is that a merge without a run is a
release that did not happen.

meh added 2 commits September 22, 2026 05:04
Dropping every automatic trigger took the pull request runs away, which was the
point, and took releases with it, which was not. The publish job is gated on
`github.event_name == 'push'` and diffs Cargo.toml against
`github.event.before`, both of which only exist on a push. With
workflow_dispatch alone that job can never run, so 3.1.0 merged to master and
published nothing, and crates.io stayed on 3.0.3.

Master keeps its push trigger. Pull requests stay off. workflow_dispatch stays
so the workflow can still be run on request.
3.1.0 exists as a tag in this repository's history and nowhere else: it merged
while the publish job could not fire. The publish step diffs Cargo.toml against
the previous master commit, so restoring the trigger alone would find no change
and release nothing.

3.1.1 carries the same nagoya socket work 3.1.0 was meant to. No source change.
@pathscale
pathscale merged commit 7ed1584 into master Sep 21, 2026
@pathscale
pathscale deleted the fix/restore-release-trigger branch September 21, 2026 22: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