sdmaid-se/tools/release
darken 125b814b57 General: Migrate to Actions-driven release flow
Replaces the interactive release.sh with a two-job GitHub Actions workflow (release-prepare.yml) that bumps versions, commits, tags, and pushes atomically to main via a GitHub App token. The App-token push naturally triggers the existing release-tag.yml pipeline without an explicit dispatch.

What changed:

- Add tools/release/bump.sh: non-interactive version bumper (check/plan/write modes, --expected-tag for tag validation, --expected-current stale-state guard, leading-zero rejection, 0-99 bounds, post-write verification)

- Add tools/release/bump.bats: 46 unit tests

- Add .github/workflows/release-prepare.yml: two-job manual-dispatch workflow with pre-flight main health check (ruleset-scoped, warns on pending, fails on definitive failure), ref guard, tag collision checks in both jobs, and atomic push

- Add .github/RELEASING.md: operator docs including the Fastlane lane-to-track mapping table

- Add .claude/rules/release.md: AI-agent pointer

- Update release-tag.yml: add workflow-level concurrency, validate-tag job (push-only, delegates to bump.sh), conditional needs on downstream jobs

- Update code-checks.yml: add check-release-tooling job (shellcheck + bats + live --mode=check)

- Update version.properties: header references tools/release/bump.sh

- Delete release.sh
2026-05-01 11:04:26 +02:00
..
bump.bats General: Migrate to Actions-driven release flow 2026-05-01 11:04:26 +02:00
bump.sh General: Migrate to Actions-driven release flow 2026-05-01 11:04:26 +02:00