ci: move release-plz flow into mise tasks#234
Merged
zeitlinger merged 7 commits intomainfrom Apr 28, 2026
Merged
Conversation
zeitlinger
added a commit
that referenced
this pull request
Apr 27, 2026
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
b3d499d to
f6d3fc2
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
This PR moves release automation into repo-owned mise tasks, adds automated syncing/testing for README tool/version snippets, and updates flint to support a --allow-fixed mode for autofix workflows.
Changes:
- Add
--allow-fixedtoflint run --fixand add CLI/e2e coverage around the new behavior. - Introduce
sync-readme-snippetsplus a drift test to keep READMEmise.tomlsnippets aligned with repo tool versions. - Rework release management to use
misetasks (and rename the binary release workflow torelease-assets.yml), and simplify Renovate rules accordingly.
Reviewed changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
tests/cases/shfmt/auto-fix-allow-fixed/test.toml |
Adds an e2e case asserting --allow-fixed succeeds after applying fixes. |
tests/cases/shfmt/auto-fix-allow-fixed/files/script.sh |
Fixture shell script used by the new shfmt autofix test. |
tests/cases/shfmt/auto-fix-allow-fixed/files/mise.toml |
Fixture mise.toml pinning shfmt for the new test. |
tests/cases/general/allow-fixed-requires-fix/test.toml |
Adds a CLI validation test that --allow-fixed requires --fix. |
tests/cases/general/allow-fixed-requires-fix/files/.gitkeep |
Empty fixture directory placeholder for the new CLI test case. |
src/registry/tests.rs |
Adds README snippet drift test and updates generated docs scope links. |
src/main.rs |
Implements --allow-fixed flag and threads it through fix outcome handling. |
src/bin/sync-readme-snippets.rs |
New helper binary to rewrite README fenced TOML blocks from repo state. |
release-plz.toml |
Simplifies release-plz config by removing custom PR body. |
mise.toml |
Adds release-plz tool, updates lint tasks to run the flint bin explicitly, and adds a release PR task. |
docs/linters.md |
Updates scope links/section structure for per-scope anchors. |
README.md |
Updates tool versions/snippets and tweaks setup wording. |
.mise/tasks/release/update |
New task to run release-plz update then sync release-managed docs. |
.mise/tasks/release/docs-sync |
New task to sync README snippets and run flint in fix mode with --allow-fixed. |
.mise/tasks/release/create |
New task to create releases (JSON output) and trigger the assets workflow. |
.github/workflows/release-plz.yml |
Switches from release-plz/action to mise-driven release management. |
.github/workflows/release-assets.yml |
Renames the workflow display name to match new release assets naming. |
.github/renovate.json5 |
Removes the README-specific Renovate rule now covered by sync + tests. |
.github/renovate-tracked-deps.json |
Updates tracked workflow paths after renames/adjustments. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
f7c5de1 to
183ab0d
Compare
martincostello
approved these changes
Apr 28, 2026
zeitlinger
added a commit
that referenced
this pull request
Apr 28, 2026
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
2 tasks
zeitlinger
added a commit
that referenced
this pull request
May 8, 2026
## Summary - Pass `--git-token` and `--forge github` to `release-plz release` and `release-plz release-pr` from the workflow as usage args. - Extract `release:pr` from inline `mise.toml` to `.mise/tasks/release/pr` so it can forward variadic args the same way `release:create` already does. ## Why release-plz 0.3.x requires explicit `--git-token` and `--forge` for both `release` and `release-pr`. Without them, both fail with: ```text ERROR git release not configured. Did you specify git-token and forge? ``` Every release-plz workflow run since [#234](#234) has been failing for that reason, leaving release PR [#242](#242) stuck on its 2026-04-28 snapshot. After this merges, the next push to `main` will refresh #242 with all merged commits since. ## Test plan - [ ] CI green on this PR - [ ] After merge, next push to `main` refreshes #242 with all merged commits + correct version bump (note: `#270` was `refactor!` so the bump should be a major increment per release-plz semantics) --------- Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
This moves the release-plz workflow logic into repository-owned mise tasks and keeps the release-managed README snippets in sync from the repo itself.
.mise/tasks/release/*miseinstead of the dedicatedrelease-plzaction wrapperrelease-assets.ymland trigger it from the repo-managed release tasksync-readme-snippetsplus drift tests so README tool/version snippets stay aligned with current repo state--allow-fixedso the docs-sync task can auto-fix generated docs and still succeed when everything was fixed cleanlyWhy
This keeps the release workflow logic in the repository, makes local and CI behavior match more closely, and replaces ad hoc README version maintenance with a repeatable sync path guarded by tests.
Validation
cargo test readme_ -- --nocapturecargo test repo_renovate_config_stays_aligned_with_shared_preset_contract -- --nocapturemise run lint:fixmise run lint