diff --git a/.github/workflows/gitflow.yml b/.github/workflows/gitflow.yml index 9f1e2d2..5b72f39 100644 --- a/.github/workflows/gitflow.yml +++ b/.github/workflows/gitflow.yml @@ -57,7 +57,7 @@ jobs: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0 - - uses: BioJulia/Workflows@v1.1.0 + - uses: BioJulia/Workflows@v1.1.1 with: check: source model: gitflow @@ -75,7 +75,7 @@ jobs: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0 - - uses: BioJulia/Workflows@v1.1.0 + - uses: BioJulia/Workflows@v1.1.1 with: check: version model: gitflow @@ -94,7 +94,7 @@ jobs: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0 - - uses: BioJulia/Workflows@v1.1.0 + - uses: BioJulia/Workflows@v1.1.1 with: check: changelog model: gitflow @@ -118,7 +118,7 @@ jobs: version: '1' - uses: julia-actions/cache@9353db09a0f2bbbdec6f41791918c75d37391b36 # v3.5.0 # Compares the main branch's public API and compat bounds with the head's, runs the main branch's tests against the head, and writes what it finds to the job summary. - - uses: BioJulia/Workflows@v1.1.0 + - uses: BioJulia/Workflows@v1.1.1 with: check: breaking model: gitflow @@ -136,7 +136,7 @@ jobs: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0 - - uses: BioJulia/Workflows@v1.1.0 + - uses: BioJulia/Workflows@v1.1.1 with: check: entry model: gitflow diff --git a/.github/workflows/oneflow.yml b/.github/workflows/oneflow.yml index 6f317c0..bdd8c19 100644 --- a/.github/workflows/oneflow.yml +++ b/.github/workflows/oneflow.yml @@ -53,7 +53,7 @@ jobs: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0 - - uses: BioJulia/Workflows@v1.1.0 + - uses: BioJulia/Workflows@v1.1.1 with: check: source model: oneflow @@ -73,7 +73,7 @@ jobs: with: ref: ${{ github.event.pull_request.head.sha }} fetch-depth: 0 - - uses: BioJulia/Workflows@v1.1.0 + - uses: BioJulia/Workflows@v1.1.1 with: check: version model: oneflow @@ -92,7 +92,7 @@ jobs: with: ref: ${{ github.event.pull_request.head.sha }} fetch-depth: 0 - - uses: BioJulia/Workflows@v1.1.0 + - uses: BioJulia/Workflows@v1.1.1 with: check: changelog model: oneflow @@ -116,7 +116,7 @@ jobs: with: version: '1' - uses: julia-actions/cache@9353db09a0f2bbbdec6f41791918c75d37391b36 # v3.5.0 - - uses: BioJulia/Workflows@v1.1.0 + - uses: BioJulia/Workflows@v1.1.1 with: check: breaking model: oneflow @@ -134,7 +134,7 @@ jobs: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0 - - uses: BioJulia/Workflows@v1.1.0 + - uses: BioJulia/Workflows@v1.1.1 with: check: entry model: oneflow diff --git a/.github/workflows/register.yml b/.github/workflows/register.yml index 814f33a..6fadb6f 100644 --- a/.github/workflows/register.yml +++ b/.github/workflows/register.yml @@ -64,7 +64,7 @@ jobs: with: fetch-depth: 0 - id: registration - uses: BioJulia/Workflows@v1.1.0 + uses: BioJulia/Workflows@v1.1.1 with: check: registration project: ${{ inputs.project }} @@ -77,14 +77,14 @@ jobs: permissions: contents: read outputs: - register: ${{ steps.registration.outputs.register }} - version: ${{ steps.registration.outputs.version }} - notes: ${{ steps.registration.outputs.notes }} + register: ${{ steps.registration-local.outputs.register }} + version: ${{ steps.registration-local.outputs.version }} + notes: ${{ steps.registration-local.outputs.notes }} steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0 - - id: registration + - id: registration-local uses: ./ with: check: registration diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ce1314c..798a916 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -133,7 +133,7 @@ jobs: version=$(sed -n 's/^version = "\(.*\)"$/\1/p' "${RELEASEFLOW_PROJECT:+${RELEASEFLOW_PROJECT%/}/}Project.toml") git switch --detach "v$version" - id: prepare - uses: BioJulia/Workflows@v1.1.0 + uses: BioJulia/Workflows@v1.1.1 with: check: prepare model: ${{ inputs.model }} @@ -161,10 +161,10 @@ jobs: permissions: contents: read outputs: - version: ${{ steps.prepare.outputs.version }} - branch: ${{ steps.prepare.outputs.branch }} - base: ${{ steps.prepare.outputs.base }} - notes: ${{ steps.prepare.outputs.notes }} + version: ${{ steps.prepare-local.outputs.version }} + branch: ${{ steps.prepare-local.outputs.branch }} + base: ${{ steps.prepare-local.outputs.base }} + notes: ${{ steps.prepare-local.outputs.notes }} commit: ${{ steps.changes.outputs.commit }} patch: ${{ steps.changes.outputs.patch }} steps: @@ -193,7 +193,7 @@ jobs: set -euo pipefail version=$(sed -n 's/^version = "\(.*\)"$/\1/p' "${RELEASEFLOW_PROJECT:+${RELEASEFLOW_PROJECT%/}/}Project.toml") git switch --detach "v$version" - - id: prepare + - id: prepare-local uses: ./ with: check: prepare diff --git a/.github/workflows/trunk.yml b/.github/workflows/trunk.yml index 5df74e9..e525133 100644 --- a/.github/workflows/trunk.yml +++ b/.github/workflows/trunk.yml @@ -59,7 +59,7 @@ jobs: with: fetch-depth: 0 - id: release - uses: BioJulia/Workflows@v1.1.0 + uses: BioJulia/Workflows@v1.1.1 with: check: is-release model: trunk @@ -77,7 +77,7 @@ jobs: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0 - - uses: BioJulia/Workflows@v1.1.0 + - uses: BioJulia/Workflows@v1.1.1 with: check: version model: trunk @@ -96,7 +96,7 @@ jobs: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0 - - uses: BioJulia/Workflows@v1.1.0 + - uses: BioJulia/Workflows@v1.1.1 with: check: changelog model: trunk @@ -120,7 +120,7 @@ jobs: with: version: '1' - uses: julia-actions/cache@9353db09a0f2bbbdec6f41791918c75d37391b36 # v3.5.0 - - uses: BioJulia/Workflows@v1.1.0 + - uses: BioJulia/Workflows@v1.1.1 with: check: breaking model: trunk @@ -139,7 +139,7 @@ jobs: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0 - - uses: BioJulia/Workflows@v1.1.0 + - uses: BioJulia/Workflows@v1.1.1 with: check: entry model: trunk diff --git a/ReleaseFlow/CHANGELOG.md b/ReleaseFlow/CHANGELOG.md index c98f353..659c13e 100644 --- a/ReleaseFlow/CHANGELOG.md +++ b/ReleaseFlow/CHANGELOG.md @@ -6,6 +6,8 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm ## [Unreleased] +## [1.1.1] - 2026-10-31 + ### Changed - The breaking check's summary shows each failing test of the last release with its expression, and what it evaluated to or the exception it threw, at its path in the repository, rather than only the line naming its file. @@ -56,7 +58,8 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm - The back-merge workflow opens its pull request with a GitHub App's token, from the secrets `RELEASEFLOW_APP_CLIENT_ID` and `RELEASEFLOW_APP_PRIVATE_KEY`, in preference to `RELEASEFLOW_TOKEN`; the README explains how to create the app. - The back-merge workflow creates its branch with the job's own token, so the app or personal token needs only read and write access to pull requests; where GitHub refuses the job's token the branch, the other token creates it, with access to contents and workflows. -[Unreleased]: https://github.com/BioJulia/Workflows/compare/v1.1.0...HEAD +[Unreleased]: https://github.com/BioJulia/Workflows/compare/v1.1.1...HEAD +[1.1.1]: https://github.com/BioJulia/Workflows/compare/v1.1.0...v1.1.1 [1.1.0]: https://github.com/BioJulia/Workflows/compare/v1.0.1...v1.1.0 [1.0.1]: https://github.com/BioJulia/Workflows/compare/v1.0.0...v1.0.1 [1.0.0]: https://github.com/BioJulia/Workflows/releases/tag/v1.0.0 diff --git a/ReleaseFlow/Project.toml b/ReleaseFlow/Project.toml index 79926bd..1c57fba 100644 --- a/ReleaseFlow/Project.toml +++ b/ReleaseFlow/Project.toml @@ -1,6 +1,6 @@ name = "ReleaseFlow" uuid = "0b38582b-4297-4346-83b3-5ff614b8a115" -version = "1.1.0" +version = "1.1.1" authors = ["BioJulia"] [deps] diff --git a/ReleaseFlow/test/release_workflow.jl b/ReleaseFlow/test/release_workflow.jl index eb1e5b5..814479e 100644 --- a/ReleaseFlow/test/release_workflow.jl +++ b/ReleaseFlow/test/release_workflow.jl @@ -66,9 +66,10 @@ end for (file, key, token) in [("release.yml", "prepare", "push"), ("register.yml", "registration", "register")] jobs = workflow_jobs(file) @test !any(lines -> any(pinned, lines) && any(checkout, lines), values(jobs)) - # The job at the checkout is the job at the release, but for its action and its condition. + # The job at the checkout is the job at the release, but for its action, its condition, and its step's id, which is its job's key, so that each step's id is unique in the workflow. local_job = map(jobs[key]) do line - pinned(line) ? replace(line, r"BioJulia/Workflows@\S+" => "./") : replace(line, "if: \${{ !inputs.local-action }}" => "if: \${{ inputs.local-action }}") + pinned(line) && return replace(line, r"BioJulia/Workflows@\S+" => "./") + return replace(line, "if: \${{ !inputs.local-action }}" => "if: \${{ inputs.local-action }}", "- id: $(key)" => "- id: $(key)-local", "steps.$(key)." => "steps.$(key)-local.") end @test count(pinned, jobs[key]) == 1 @test local_job == jobs["$(key)-local"]