Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/release-plz.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
- name: Create release metadata
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: mise run release:create
run: mise run release:create --git-token "$GITHUB_TOKEN"

release-pr:
# Runs on every push to main. Keeps an open PR that bumps Cargo.toml version
Expand Down Expand Up @@ -60,6 +60,6 @@ jobs:
version: v2026.5.0
sha256: 7db5db7a36d28203eb8329140d98fb26b41f5efea32d762f69a1e4b369e1e1a8
- name: Update release PR
run: mise run release:pr
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: mise run release:pr --git-token "$GITHUB_TOKEN"
18 changes: 5 additions & 13 deletions .mise/tasks/release/create
Original file line number Diff line number Diff line change
@@ -1,24 +1,18 @@
#!/usr/bin/env bash
#MISE description="Create git tags and GitHub releases when a release PR was merged"
#USAGE arg "[args]" var=#true help="Additional arguments passed to release-plz release"
#USAGE flag "--git-token <token>" help="GitHub token used by release-plz and gh"

set -euo pipefail

if [ -z "${GITHUB_TOKEN:-}" ]; then
echo "GITHUB_TOKEN environment variable is not set. Exiting."
if [ -z "${usage_git_token:-}" ]; then
echo "--git-token is required" >&2
exit 1
fi

tmp_json="$(mktemp)"
trap 'rm -f "${tmp_json}"' EXIT

release_args=()
if [ -n "${usage_args:-}" ]; then
# Mise provides variadic args as a shell-escaped string.
eval "release_args=(${usage_args})"
fi

release-plz release -o json "${release_args[@]}" >"${tmp_json}"
release-plz release --git-token "${usage_git_token}" --forge github -o json >"${tmp_json}"

jq -e '.releases and (.releases | type == "array")' "${tmp_json}" >/dev/null

Expand All @@ -27,9 +21,7 @@ if ! jq -e '.releases | length > 0' "${tmp_json}" >/dev/null; then
exit 0
fi

if [ -z "${GH_TOKEN:-}" ]; then
export GH_TOKEN="${GITHUB_TOKEN}"
fi
export GH_TOKEN="${usage_git_token}"

tag="$(jq -r '.releases[0].tag' "${tmp_json}")"

Expand Down
13 changes: 13 additions & 0 deletions .mise/tasks/release/pr
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/usr/bin/env bash
#MISE description="Open or update the release PR"
#MISE depends=["release:update"]
#USAGE flag "--git-token <token>" help="GitHub token used by release-plz"

set -euo pipefail

if [ -z "${usage_git_token:-}" ]; then
echo "--git-token is required" >&2
exit 1
fi

Comment thread
zeitlinger marked this conversation as resolved.
release-plz release-pr --allow-dirty --git-token "${usage_git_token}" --forge github
5 changes: 0 additions & 5 deletions mise.toml
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,6 @@ run = "cargo run -q --bin flint -- run"
description = "Auto-fix lint issues"
run = "cargo run -q --bin flint -- run --fix"

[tasks."release:pr"]
description = "Open or update the release PR"
depends = ["release:update"]
run = "release-plz release-pr --allow-dirty"

[tasks.build]
description = "Build the project"
run = "cargo build"
Expand Down
Loading