From c3e4b76838f2622875b82257b2ae8cba5c63eda0 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 17 Sep 2026 00:58:41 +0000 Subject: [PATCH] ci: run hosted jobs on ubuntu-22.04 ## Why GitHub does not assign a hosted runner for Release or Package CI. Release on ubuntu-24.04 and Package CI on ubuntu-latest both sit with runner_id 0 and an empty runner_name. Changeset uses ubuntu-latest, so it shares that stuck label. The change is the runner label only. Publish stays the changesets action with OIDC and provenance. There is no new publish path and no NPM_TOKEN. ## Scope - `.github/workflows/release.yml` job `release` moves from `ubuntu-24.04` to `ubuntu-22.04`. - `.github/workflows/ci.yml` job `package` moves from `ubuntu-latest` to `ubuntu-22.04`. - `.github/workflows/changeset.yml` job `changeset` moves from `ubuntu-latest` to `ubuntu-22.04`. Product code, permissions, and the publish script stay as they are. ## Tradeoffs An earlier Release change used macos-latest to leave the Ubuntu queue. This PR does not repeat that move. The next Ubuntu label is the requested change. ## Blast Radius After merge, these three jobs wait on ubuntu-22.04. Package users notice nothing until a Release job publishes. If ubuntu-22.04 also fails to assign, npm stays at 0.6.0. ## Verification origin/main at 53dfe28 has Release on ubuntu-24.04 and Package CI plus Changeset on ubuntu-latest. The Actions jobs API shows queued Release run 35168563360 with labels ubuntu-24.04, runner_id 0, and an empty runner_name. Cancelled Package CI run 35167927752 has labels ubuntu-latest and the same empty runner. git diff against origin/main is three runs-on lines. A runner start is not proven until a job is assigned after merge. Co-authored-by: Zack Jackson --- .github/workflows/changeset.yml | 2 +- .github/workflows/ci.yml | 2 +- .github/workflows/release.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/changeset.yml b/.github/workflows/changeset.yml index 47e8cae..449ea46 100644 --- a/.github/workflows/changeset.yml +++ b/.github/workflows/changeset.yml @@ -17,7 +17,7 @@ concurrency: jobs: changeset: name: Changeset present - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 timeout-minutes: 10 steps: # `changeset status --since=origin/main` diffs against the merge-base. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 506b172..35fa200 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ concurrency: jobs: package: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 timeout-minutes: 10 steps: - name: Check out the repository diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b4ca382..758fa53 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,7 +16,7 @@ concurrency: jobs: release: - runs-on: ubuntu-24.04 + runs-on: ubuntu-22.04 timeout-minutes: 15 steps: - name: Check out the repository