From ed079d3bf2612f6b7b5abde790f2a57f28ffb379 Mon Sep 17 00:00:00 2001 From: MK Date: Fri, 23 Oct 2026 00:41:58 +0900 Subject: [PATCH 1/3] ci: avoid Nushell release discovery failures --- .github/renovate.json | 8 ++++++++ .github/workflows/ci.yml | 22 ++++++++++++++++++---- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/.github/renovate.json b/.github/renovate.json index afa997cd1f..264b876655 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -12,6 +12,14 @@ "vite/**" ], "customManagers": [ + { + "description": "Update the Nushell release used by CLI snapshot tests.", + "customType": "regex", + "managerFilePatterns": ["/^\\.github/workflows/ci\\.yml$/"], + "matchStrings": ["NU_VERSION: '(?[^']+)'"], + "depNameTemplate": "nushell/nushell", + "datasourceTemplate": "github-releases" + }, { "description": "Keep the exact setup-vp migration target current.", "customType": "regex", diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 27b25b776a..67c41ea966 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1061,11 +1061,25 @@ jobs: "$snapshot_shell" --version done - # https://github.com/marketplace/actions/setup-nu - name: Install Nushell - uses: hustcer/setup-nu@ccd5bb5426b05a32009c2ba967946231f3919c97 # v3.25 - with: - version: '*' + env: + NU_VERSION: '0.116.1' + NU_TARGET: ${{ matrix.target }} + run: | + # Download a fixed release without querying the GitHub releases API. + nu_dir="$RUNNER_TEMP/nushell" + archive="nu-$NU_VERSION-$NU_TARGET.tar.gz" + release_url="https://github.com/nushell/nushell/releases/download/$NU_VERSION" + mkdir -p "$nu_dir" + cd "$nu_dir" + curl --fail --location --retry 3 --retry-all-errors \ + "$release_url/$archive" --output "$archive" + curl --fail --location --retry 3 --retry-all-errors \ + "$release_url/SHA256SUMS" --output SHA256SUMS + grep --fixed-strings " $archive" SHA256SUMS | shasum --algorithm 256 --check + tar -xzf "$archive" --strip-components=1 + "$nu_dir/nu" --version + echo "$nu_dir" >> "$GITHUB_PATH" - uses: ./.github/actions/setup-ci-node From 17e26f2396db98da644dfb5fe25865451ca24eed Mon Sep 17 00:00:00 2001 From: MK Date: Fri, 23 Oct 2026 17:44:02 +0900 Subject: [PATCH 2/3] ci: document when to restore setup-nu --- .github/workflows/ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 67c41ea966..2806f62ef7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1061,6 +1061,9 @@ jobs: "$snapshot_shell" --version done + # Temporary workaround for setup-nu release discovery failures. + # Switch back to hustcer/setup-nu, with a pinned Nu version, once an action + # release includes https://github.com/hustcer/setup-nu/pull/225. - name: Install Nushell env: NU_VERSION: '0.116.1' From f6031ab2083f139b61f796d192a04547b8eee7ea Mon Sep 17 00:00:00 2001 From: MK Date: Fri, 23 Oct 2026 21:43:02 +0900 Subject: [PATCH 3/3] ci: restore setup-nu with release discovery fixes --- .github/renovate.json | 4 +++- .github/workflows/ci.yml | 26 +++++--------------------- 2 files changed, 8 insertions(+), 22 deletions(-) diff --git a/.github/renovate.json b/.github/renovate.json index 264b876655..32879ac906 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -16,7 +16,9 @@ "description": "Update the Nushell release used by CLI snapshot tests.", "customType": "regex", "managerFilePatterns": ["/^\\.github/workflows/ci\\.yml$/"], - "matchStrings": ["NU_VERSION: '(?[^']+)'"], + "matchStrings": [ + "# renovate: datasource=github-releases depName=nushell/nushell\\s+version: '(?[^']+)'" + ], "depNameTemplate": "nushell/nushell", "datasourceTemplate": "github-releases" }, diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2806f62ef7..34b5bb5c0b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1061,28 +1061,12 @@ jobs: "$snapshot_shell" --version done - # Temporary workaround for setup-nu release discovery failures. - # Switch back to hustcer/setup-nu, with a pinned Nu version, once an action - # release includes https://github.com/hustcer/setup-nu/pull/225. + # Includes release lookup retries: https://github.com/hustcer/setup-nu/pull/225. - name: Install Nushell - env: - NU_VERSION: '0.116.1' - NU_TARGET: ${{ matrix.target }} - run: | - # Download a fixed release without querying the GitHub releases API. - nu_dir="$RUNNER_TEMP/nushell" - archive="nu-$NU_VERSION-$NU_TARGET.tar.gz" - release_url="https://github.com/nushell/nushell/releases/download/$NU_VERSION" - mkdir -p "$nu_dir" - cd "$nu_dir" - curl --fail --location --retry 3 --retry-all-errors \ - "$release_url/$archive" --output "$archive" - curl --fail --location --retry 3 --retry-all-errors \ - "$release_url/SHA256SUMS" --output SHA256SUMS - grep --fixed-strings " $archive" SHA256SUMS | shasum --algorithm 256 --check - tar -xzf "$archive" --strip-components=1 - "$nu_dir/nu" --version - echo "$nu_dir" >> "$GITHUB_PATH" + uses: hustcer/setup-nu@eacad52a4634c4f8d17a94916f93be6856861b9c # v3.29 + with: + # renovate: datasource=github-releases depName=nushell/nushell + version: '0.116.1' - uses: ./.github/actions/setup-ci-node