| name | release-test |
| description | Push a tagged release to rigbook-build-test repo and let the workflow build it |
| allowed-tools | Bash(git *, gh *, uv *, just *), Read, Edit |
Release Test
Push a tagged release to the rigbook-build-test repo. The release workflow triggers on tag push (no branch required).
This creates a temporary branch with the version bump, tags it, pushes the commit and tag to the test repo, then cleans up locally.
Version Numbering
Run just next-dev-version to get the next version automatically. This reads the base version from pyproject.toml and queries existing releases on EnigmaCurry/rigbook-build-test to find the next sequential .devN suffix.
The result is e.g. 0.2.7.dev0. The tag uses a v prefix: v0.2.7.dev0.
Instructions
-
Get the next version and tell the user which version will be built:
just next-dev-version
Set PYPROJECT_VERSION to the output (e.g. 0.2.7.dev0) and NEW_VERSION to v{PYPROJECT_VERSION}.
-
Ensure the build-test remote exists:
git remote get-url build-test 2>/dev/null || git remote add build-test git@deploy-github.com-EnigmaCurry-rigbook-build-test:EnigmaCurry/rigbook-build-test.git
-
Save the current branch name:
git branch --show-current
-
Check if the tag already exists locally (save this for cleanup later):
git tag -l {NEW_VERSION}
-
Create a temporary branch from the current HEAD:
git checkout -b build-test-temp
-
Bump version in pyproject.toml to {PYPROJECT_VERSION} and rebuild the lockfile:
uv lock
Then commit:
git add pyproject.toml uv.lock
git commit -m "Bump version to {NEW_VERSION}"
-
Delete the remote tag if it already exists (ignore errors):
git push build-test :refs/tags/{NEW_VERSION} 2>/dev/null || true
-
Tag and force push the commit and tag:
The workflow needs the tagged commit to exist on the remote. Push the commit to a throwaway branch, then push the tag.
git tag -f {NEW_VERSION}
git push --force build-test HEAD:refs/heads/build-test-temp
git push --force build-test {NEW_VERSION}
-
Switch back to the original branch and delete the temporary branch:
git checkout {ORIGINAL_BRANCH}
git branch -D build-test-temp
-
Clean up the local tag (only if it didn't exist before step 4):
git tag -d {NEW_VERSION}
-
Watch the GitHub Actions build in the background:
The workflow will create the GitHub release automatically.
gh run watch $(gh run list --repo EnigmaCurry/rigbook-build-test --limit 1 --json databaseId -q '.[0].databaseId') --repo EnigmaCurry/rigbook-build-test
Run this with run_in_background: true so the user isn't blocked. When notified of completion, report the build result.
-
Report success with the version and a link to the build-test repo's actions page.