From f70a5fbdedbd7c83a5fd5aed27b5e84fe87a9ae2 Mon Sep 17 00:00:00 2001 From: Bruno Devic Date: Fri, 27 Mar 2026 19:41:03 +0100 Subject: [PATCH 1/3] Add safe.directory in failure handler --- .github/workflows/release-80_publish-crates.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release-80_publish-crates.yml b/.github/workflows/release-80_publish-crates.yml index 53a3eeac9dd30..ef58596546859 100644 --- a/.github/workflows/release-80_publish-crates.yml +++ b/.github/workflows/release-80_publish-crates.yml @@ -379,6 +379,7 @@ jobs: GITHUB_TOKEN: ${{ github.token }} run: | echo "Job failed. Pushing branch '$CRATES_RELEASE_BRANCH' to origin (paritytech-release) to preserve state for resume..." + git config --global --add safe.directory "${GITHUB_WORKSPACE}" # Restore origin to the fork repo in case it was changed by the upstream push step git remote set-url origin "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}.git" git push origin "$CRATES_RELEASE_BRANCH" --force-with-lease From 9cf8a0a5f41e01499c6fc69b19ba5e6429383458 Mon Sep 17 00:00:00 2001 From: Bruno Devic Date: Fri, 27 Mar 2026 19:43:30 +0100 Subject: [PATCH 2/3] Use local ref check instead of git ls-remote --- .github/workflows/release-80_publish-crates.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-80_publish-crates.yml b/.github/workflows/release-80_publish-crates.yml index ef58596546859..c0468d04b5610 100644 --- a/.github/workflows/release-80_publish-crates.yml +++ b/.github/workflows/release-80_publish-crates.yml @@ -124,7 +124,7 @@ jobs: CRATES_RELEASE_BRANCH: ${{ steps.derive_branch.outputs.CRATES_RELEASE_BRANCH }} RESUME_FROM: ${{ inputs.resume_from }} run: | - if ! git ls-remote --heads origin "$CRATES_RELEASE_BRANCH" | grep -q "$CRATES_RELEASE_BRANCH"; then + if ! git branch -r --list "origin/$CRATES_RELEASE_BRANCH" | grep -q "$CRATES_RELEASE_BRANCH"; then echo "❌ ::error::Cannot resume from '$RESUME_FROM': branch '$CRATES_RELEASE_BRANCH' does not exist on remote. Use 'full' for a fresh run." exit 1 fi From a947a7eaea4b69bba2705f0a0e812a9c4e93886f Mon Sep 17 00:00:00 2001 From: Bruno Devic Date: Fri, 27 Mar 2026 19:44:18 +0100 Subject: [PATCH 3/3] Remove safe.directory from failure handler --- .github/workflows/release-80_publish-crates.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/release-80_publish-crates.yml b/.github/workflows/release-80_publish-crates.yml index c0468d04b5610..46308989891b8 100644 --- a/.github/workflows/release-80_publish-crates.yml +++ b/.github/workflows/release-80_publish-crates.yml @@ -379,7 +379,6 @@ jobs: GITHUB_TOKEN: ${{ github.token }} run: | echo "Job failed. Pushing branch '$CRATES_RELEASE_BRANCH' to origin (paritytech-release) to preserve state for resume..." - git config --global --add safe.directory "${GITHUB_WORKSPACE}" # Restore origin to the fork repo in case it was changed by the upstream push step git remote set-url origin "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}.git" git push origin "$CRATES_RELEASE_BRANCH" --force-with-lease