From afc50ff7be0b7892d4e715e29c8e66d5520bf9a8 Mon Sep 17 00:00:00 2001 From: Hongming Wang Date: Sun, 19 Apr 2026 11:26:41 -0700 Subject: [PATCH] fix(ci): move canary-verify to self-hosted runner MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GitHub-hosted ubuntu-latest runs on this repo hit "recent account payments have failed or your spending limit needs to be increased" — same root cause as the publish + CodeQL + molecule-app workflow moves earlier this quarter. canary-verify was the last one still on ubuntu-latest. Switches both jobs to [self-hosted, macos, arm64]. crane install switched from Linux tarball to brew (matches promote-latest.yml's install pattern + avoids /usr/local/bin write perms on the shared mac mini). Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/canary-verify.yml | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/.github/workflows/canary-verify.yml b/.github/workflows/canary-verify.yml index 16d06a70..d11890c6 100644 --- a/.github/workflows/canary-verify.yml +++ b/.github/workflows/canary-verify.yml @@ -34,7 +34,9 @@ jobs: canary-smoke: # Skip when the upstream workflow failed — no image to test against. if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' }} - runs-on: ubuntu-latest + # Self-hosted mac mini — GitHub-hosted minutes are quota-blocked on + # this org (same reason publish/promote-latest moved earlier). + runs-on: [self-hosted, macos, arm64] outputs: sha: ${{ steps.compute.outputs.sha }} steps: @@ -77,12 +79,21 @@ jobs: # the runner) that can retag remotely with a single API call each. needs: canary-smoke if: ${{ needs.canary-smoke.result == 'success' }} - runs-on: ubuntu-latest + runs-on: [self-hosted, macos, arm64] steps: - - name: Install crane + - name: Ensure crane installed + # Matches the install pattern in promote-latest.yml — brew + # cleanup exits non-zero on the shared runner's /opt/homebrew + # symlinks, so skip it. + env: + HOMEBREW_NO_INSTALL_CLEANUP: "1" + HOMEBREW_NO_AUTO_UPDATE: "1" + HOMEBREW_NO_ENV_HINTS: "1" run: | - curl -fsSL https://github.com/google/go-containerregistry/releases/download/v0.20.2/go-containerregistry_Linux_x86_64.tar.gz | \ - tar xz -C /usr/local/bin crane + if ! command -v crane >/dev/null 2>&1; then + brew install crane + fi + crane version - name: GHCR login run: |