diff --git a/.github/workflows/branch-policy.yml b/.github/workflows/branch-policy.yml index f1ad3cf..7b9960a 100644 --- a/.github/workflows/branch-policy.yml +++ b/.github/workflows/branch-policy.yml @@ -4,6 +4,7 @@ permissions: contents: read on: + workflow_dispatch: pull_request: branches: - main @@ -18,7 +19,7 @@ jobs: run: | set -euo pipefail - source="${{ github.head_ref }}" + source="${GITHUB_HEAD_REF:-${GITHUB_REF_NAME}}" echo "Source branch: ${source}" if [[ "${source}" == "development" || "${source}" == release/v* ]]; then diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml index b23f498..91515ec 100644 --- a/.github/workflows/commitlint.yml +++ b/.github/workflows/commitlint.yml @@ -1,6 +1,7 @@ name: Commitlint on: + workflow_dispatch: pull_request: branches: - main @@ -21,7 +22,15 @@ jobs: with: fetch-depth: 0 - - name: Lint commits + - name: Lint PR commits + if: github.event_name == 'pull_request' uses: wagoid/commitlint-github-action@v6 with: configFile: .commitlintrc.json + + - name: Lint release commit + if: github.event_name == 'workflow_dispatch' + uses: wagoid/commitlint-github-action@v6 + with: + configFile: .commitlintrc.json + commitDepth: 1 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fd839c4..f78369b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,6 +24,7 @@ on: permissions: contents: write pull-requests: write + actions: write concurrency: group: release-${{ github.event_name }}-${{ github.ref_name }} @@ -225,50 +226,29 @@ jobs: echo "url=${pr_url}" >> "$GITHUB_OUTPUT" + - name: Dispatch validation workflows + shell: bash + run: | + set -euo pipefail + + branch="${{ steps.version.outputs.branch }}" + + # Run the real checks on the release branch so their check runs attach + # to the release commit, not this workflow_dispatch run. + gh workflow run branch-policy.yml --ref "${branch}" + gh workflow run commitlint.yml --ref "${branch}" + gh workflow run tests.yml --ref "${branch}" + - name: Write pull request summary shell: bash run: | { printf 'Release pull request: %s\n' "${{ steps.pr.outputs.url }}" + printf 'Validation workflows have been dispatched on %s.\n' "${{ steps.version.outputs.branch }}" printf 'Publish is skipped on workflow_dispatch by design.\n' printf 'Merge that pull request into main to trigger the publish job.\n' } >> "$GITHUB_STEP_SUMMARY" - # GITHUB_TOKEN pushes don't trigger other workflows, so the required - # checks ("Run tests", "Lint commit messages") would stay pending on the - # release PR. These jobs run the same checks inline with matching names - # so branch protection on main is satisfied. - release-tests: - needs: prepare - if: github.event_name == 'workflow_dispatch' - name: Run tests - runs-on: macos-latest - steps: - - name: Check out release branch - uses: actions/checkout@v5 - with: - ref: ${{ needs.prepare.outputs.branch }} - - - name: Run tests - run: ./tests.sh - - release-lint: - needs: prepare - if: github.event_name == 'workflow_dispatch' - name: Lint commit messages - runs-on: ubuntu-latest - steps: - - name: Check out release branch - uses: actions/checkout@v5 - with: - ref: ${{ needs.prepare.outputs.branch }} - fetch-depth: 0 - - - name: Lint commits - uses: wagoid/commitlint-github-action@v6 - with: - configFile: .commitlintrc.json - publish: if: github.event_name == 'push' name: Publish release diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index daca352..2aac576 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -4,6 +4,7 @@ permissions: contents: read on: + workflow_dispatch: push: branches: - development diff --git a/CHANGELOG.md b/CHANGELOG.md index 81c384d..1b45c57 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,30 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [0.1.2] - 2026-06-09 + +### Features + +- multi-screen sync coordinator (#85) +- add two darker brightness steps to rain palette (#71) +- group options sheet into sections (#69) + +### Bug Fixes + +- dispatch release checks on release branch (#93) +- exit number rain loop when scene completes (#89) +- recreate release PR instead of reusing (#88) +- run required checks inline in release workflow (#87) +- trigger checks on release branch push (#86) +- restrict release workflow dispatch to development branch (#83) +- always regenerate changelog on release reruns (#82) +- allow release workflow dispatch from development branch (#81) +- source release changelog from development branch (#80) +- derive current version from latest git tag in release workflow (#74) +- auto-merge back-merge PR and sync VERSION after release (#73) +- apply typing speed to all intro scenes (#70) + ## [0.1.1] - 2026-05-20 ### Features diff --git a/VERSION b/VERSION index 17e51c3..d917d3e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.1.1 +0.1.2