From cb062eecef23a37c858cc8e9126e66cb3ab5ced6 Mon Sep 17 00:00:00 2001 From: Minsu Lee Date: Mon, 22 Jun 2026 21:41:48 +0900 Subject: [PATCH] fix(release): set GH_REPO so upload-release-assets can find the repo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The v0.1.2 run built all 6 targets (zigbuild musl included) but upload-release-assets failed: 'gh release upload' ran 'fatal: not a git repository' because that job downloads artifacts without checking out the repo, so gh had no local .git to infer the target from. publish-npm and the Homebrew job then failed downstream because no assets reached the release (the resilience always() correctly let them run and fail loudly). Set GH_REPO=${{ github.repository }} so gh resolves the repo without a checkout — mirrors how publish-npm already passes --repo to gh release download. --- .github/workflows/release-rust.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/release-rust.yml b/.github/workflows/release-rust.yml index c78e960..4f2d17f 100644 --- a/.github/workflows/release-rust.yml +++ b/.github/workflows/release-rust.yml @@ -158,6 +158,7 @@ jobs: env: GH_TOKEN: ${{ github.token }} RELEASE_TAG: ${{ inputs.tag }} + GH_REPO: ${{ github.repository }} run: | # Pass the tag via env and validate its format before use, so an # untrusted dispatch input can't inject shell into the run step. @@ -165,4 +166,6 @@ jobs: echo "Invalid release tag format: $RELEASE_TAG" >&2 exit 1 } + # This job does not check out the repo, so gh can't infer the target + # from a local .git — pass it explicitly via GH_REPO (gh reads it). gh release upload "$RELEASE_TAG" release/* --clobber