From 316a24e245ee5a98727ffbe65608592a90df243e Mon Sep 17 00:00:00 2001 From: jeadie Date: Wed, 8 Jul 2026 12:13:35 +1000 Subject: [PATCH 1/5] ci: add base_branch input to create-release workflow --- .github/workflows/create_release.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/create_release.yml b/.github/workflows/create_release.yml index cd3e01a8c..0b5e6825d 100644 --- a/.github/workflows/create_release.yml +++ b/.github/workflows/create_release.yml @@ -4,9 +4,14 @@ on: workflow_dispatch: inputs: version: - description: "Version number (e.g. 2.0)" + description: "Version number (e.g. 2.0). Becomes `website/versioned_docs/version-{version_number}.x`." required: true type: string + base_branch: + description: "Git branch to copy from as the versioned docs." + required: false + default: "trunk" + type: string permissions: contents: write @@ -16,10 +21,10 @@ jobs: create-release: runs-on: ubuntu-latest steps: - - name: Checkout trunk + - name: Checkout base branch uses: actions/checkout@v4 with: - ref: trunk + ref: ${{ inputs.base_branch }} - name: Create release branch and run release script working-directory: website From fd54e1e95a0f858986620f50fa131581ce3baf13 Mon Sep 17 00:00:00 2001 From: jeadie Date: Wed, 8 Jul 2026 16:13:30 +1000 Subject: [PATCH 2/5] ci: overlay docs from base_branch onto trunk for release --- .github/workflows/create_release.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/create_release.yml b/.github/workflows/create_release.yml index 0b5e6825d..bf61193a5 100644 --- a/.github/workflows/create_release.yml +++ b/.github/workflows/create_release.yml @@ -21,10 +21,15 @@ jobs: create-release: runs-on: ubuntu-latest steps: - - name: Checkout base branch + - name: Checkout trunk uses: actions/checkout@v4 with: - ref: ${{ inputs.base_branch }} + ref: trunk + + - name: Overlay docs from base branch + run: | + git fetch origin ${{ inputs.base_branch }} + git checkout FETCH_HEAD -- website/docs - name: Create release branch and run release script working-directory: website From 9bd965710757da6fc3d9ec6d83d44d942c5ead78 Mon Sep 17 00:00:00 2001 From: jeadie Date: Wed, 8 Jul 2026 16:17:15 +1000 Subject: [PATCH 3/5] ci: force-push release branch to allow re-runs --- .github/workflows/create_release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/create_release.yml b/.github/workflows/create_release.yml index bf61193a5..0570cae52 100644 --- a/.github/workflows/create_release.yml +++ b/.github/workflows/create_release.yml @@ -43,7 +43,7 @@ jobs: git config user.email "github-actions[bot]@users.noreply.github.com" git add -A git commit -m "Add versioned docs for v${{ inputs.version }}" - git push origin "release/docs-v${{ inputs.version }}" + git push --force origin "release/docs-v${{ inputs.version }}" - name: Create Pull Request env: From fe2220025e7aa26815307165c6e1705aacd6cd9b Mon Sep 17 00:00:00 2001 From: jeadie Date: Wed, 8 Jul 2026 16:19:11 +1000 Subject: [PATCH 4/5] ci: use run_id in release branch name to avoid conflicts --- .github/workflows/create_release.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/create_release.yml b/.github/workflows/create_release.yml index 0570cae52..b4c013bd7 100644 --- a/.github/workflows/create_release.yml +++ b/.github/workflows/create_release.yml @@ -34,7 +34,7 @@ jobs: - name: Create release branch and run release script working-directory: website run: | - git checkout -b "release/docs-v${{ inputs.version }}" + git checkout -b "release/docs-v${{ inputs.version }}-${{ github.run_id }}" ./create-release.sh "${{ inputs.version }}" - name: Commit and push @@ -43,7 +43,7 @@ jobs: git config user.email "github-actions[bot]@users.noreply.github.com" git add -A git commit -m "Add versioned docs for v${{ inputs.version }}" - git push --force origin "release/docs-v${{ inputs.version }}" + git push origin "release/docs-v${{ inputs.version }}-${{ github.run_id }}" - name: Create Pull Request env: @@ -51,7 +51,7 @@ jobs: run: | gh pr create \ --base trunk \ - --head "release/docs-v${{ inputs.version }}" \ + --head "release/docs-v${{ inputs.version }}-${{ github.run_id }}" \ --title "Add versioned docs for v${{ inputs.version }}" \ --body "Creates versioned documentation snapshot for v${{ inputs.version }}." \ --label "area/docs" From d201405b3f01ae847c59dae2b0d668fb3d32ddc8 Mon Sep 17 00:00:00 2001 From: jeadie Date: Wed, 8 Jul 2026 16:21:12 +1000 Subject: [PATCH 5/5] ci: restore website/docs to trunk before committing versioned snapshot --- .github/workflows/create_release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/create_release.yml b/.github/workflows/create_release.yml index b4c013bd7..2b6b778c4 100644 --- a/.github/workflows/create_release.yml +++ b/.github/workflows/create_release.yml @@ -41,6 +41,7 @@ jobs: run: | git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" + git checkout trunk -- website/docs git add -A git commit -m "Add versioned docs for v${{ inputs.version }}" git push origin "release/docs-v${{ inputs.version }}-${{ github.run_id }}"