From 93ec6e249854f594f7c73e1ceda7ec2a23773add Mon Sep 17 00:00:00 2001 From: Tim Conley Date: Fri, 9 Oct 2026 11:52:12 -0700 Subject: [PATCH] Support standalone pinned changelog tool checkouts --- .github/workflows/changelog-fragments.yml | 11 +++++++++++ README.md | 5 +++++ 2 files changed, 16 insertions(+) diff --git a/.github/workflows/changelog-fragments.yml b/.github/workflows/changelog-fragments.yml index b735207..b33a014 100644 --- a/.github/workflows/changelog-fragments.yml +++ b/.github/workflows/changelog-fragments.yml @@ -7,6 +7,10 @@ on: description: Path to the pinned sdk-rust checkout; use '.' in sdk-rust itself required: true type: string + sdk-rust-revision: + description: Optional pinned SDK Rust revision to check out at sdk-rust-path for repositories without a Core submodule + default: '' + type: string fragments-directory: description: Repository-relative directory containing category folders default: changelog @@ -39,6 +43,13 @@ jobs: with: fetch-depth: 0 submodules: true + - name: Check out shared changelog tool + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + if: steps.override.outputs.skip != 'true' && inputs.sdk-rust-revision != '' + with: + repository: temporalio/sdk-rust + ref: ${{ inputs.sdk-rust-revision }} + path: ${{ inputs.sdk-rust-path }} - uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable if: steps.override.outputs.skip != 'true' - name: Require and validate category fragments diff --git a/README.md b/README.md index 7c83a1f..4aa03cd 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,11 @@ permissions, and the `skip-changelog` override. Pin the workflow to a reviewed commit, and update the caller's sdk-rust pin to a revision containing the tool before switching workflows. +Repositories without a Core submodule can pass `sdk-rust-revision` with a pinned +SDK Rust commit and set `sdk-rust-path` to a separate directory, such as +`.changelog-tool`. The workflow checks out that revision there and builds only +the shared changelog CLI. Existing submodule callers omit this input. + ## Why do this