Skip to content

Test release workflow changes

Use scratch branches to exercise workflow changes before they reach master. Release scratch branches are forced to dry-run mode.

Before you start

You need permission to push and delete branches on origin and to inspect GitHub Actions runs. Start from a clean checkout containing the workflow changes.

1. Exercise CI changes

Create and push a ci/** branch:

git switch -c ci/check-workflow-change
git push -u origin HEAD

The ci.yml push trigger runs lint, Linux and macOS tests, and package checking. A branch whose name starts with ci/full also enables the extra Linux test tools.

2. Exercise release workflow changes

Create and push a ci/release/** branch:

git switch -c ci/release/check-workflow-change
git push -u origin HEAD

The release workflow treats every push in this branch family as a forced dry run. It can exercise the guard, full CI, and preview without pushing a version bump, tag, GitHub Release, or crates.io version.

3. Review and remove the scratch branch

Read the run summary and each job result. Once finished, delete the remote scratch branch:

git push origin --delete ci/release/check-workflow-change

Use the branch name you created. Delete a ci/** branch the same way after its CI run.

If it goes wrong

GitHub only dispatches workflow files present on the default branch. A dispatch with --ref runs that branch's version of an already registered workflow (ci.yml, release.yml). Only a brand-new workflow file that is triggered directly needs a push first so GitHub can register it. Use the ci/release/** push trigger to exercise a changed release.yml before it lands; binaries_tag recovery can then be dispatched against the same scratch ref.

Tested rolling snapshot bob-cli 41afa14 bob-mac-capture 556bb67 bob-plugins af1e691 Built 2026-10-24T22:34:13Z (zensical) build.json