diff --git a/.github/runners.json b/.github/runners.json index 537ded23b143..e48ed0da2ab5 100644 --- a/.github/runners.json +++ b/.github/runners.json @@ -333,6 +333,8 @@ "nightly.yml#resolve-nightly-ghostty-cli-helper": {"class": "portable-checks"}, "nightly.yml#build-nightly-inputs": {"class": "portable-checks"}, "nightly.yml#find-nightly-next-recovery": {"class": "portable-checks"}, + "nightly.yml#pick-nightly-sign-runner": {"class": "portable-checks"}, + "nightly.yml#route-visual-gate-nightly": {"class": "portable-checks"}, "nightly.yml#prepare-nightly-variant-primary": {"class": "portable-checks"}, "nightly.yml#prepare-nightly-variant": {"class": "portable-checks"}, "nightly.yml#build-nightly-remote-daemon": "portable-checks", diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 1f57ab847839..1b5677cebe9d 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -3421,7 +3421,7 @@ jobs: # The picker itself has no signing key. Keep its routing job on the # allowlisted Blacksmith Linux set even when RUNNER_POOLS is stale or # points at a non-Blacksmith fleet member. - runs-on: ${{ github.repository_owner != 'manaflow-ai' && 'ubuntu-24.04' || github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository && 'blacksmith-4vcpu-ubuntu-2404' || contains(fromJSON('["blacksmith-4vcpu-ubuntu-2404","blacksmith-16vcpu-ubuntu-2404","blacksmith-32vcpu-ubuntu-2404"]'), fromJSON(vars.RUNNER_POOLS).linux) && fromJSON(vars.RUNNER_POOLS).linux || fromJSON('["blacksmith-4vcpu-ubuntu-2404","blacksmith-16vcpu-ubuntu-2404","blacksmith-32vcpu-ubuntu-2404"]')[0] }} + runs-on: ${{ github.repository_owner != 'manaflow-ai' && 'ubuntu-24.04' || github.repository == 'manaflow-ai/cmux' && github.ref == 'refs/heads/nightly-next' && github.run_attempt == 1 && vars.CI_NIGHTLY_ONLY_RUNNER == 'glaeda-nightly-only-m4pro' && vars.CI_NIGHTLY_ONLY_RUNNER || github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository && 'blacksmith-4vcpu-ubuntu-2404' || contains(fromJSON('["blacksmith-4vcpu-ubuntu-2404","blacksmith-16vcpu-ubuntu-2404","blacksmith-32vcpu-ubuntu-2404"]'), fromJSON(vars.RUNNER_POOLS).linux) && fromJSON(vars.RUNNER_POOLS).linux || 'blacksmith-4vcpu-ubuntu-2404' }} # The owned pick mints the routing token (GLAEDA_ROUTE_APP_KEY), so the key is read in the # routing environment, as pick-nightly-build-runner does (tests/test_supplychain_security.py). environment: ci-routing-agent @@ -5256,7 +5256,7 @@ jobs: needs: [decide, resolve-nightly-cmux-tui-client] if: github.repository == 'manaflow-ai/cmux' && needs.decide.outputs.track == 'nightly-next' && needs.decide.outputs.should_build == 'true' && needs.decide.outputs.fast_build != 'true' && needs.decide.outputs.build_only != 'true' && needs.decide.outputs.continue_only != 'true' && needs.decide.outputs.no_publish != 'true' && needs.resolve-nightly-cmux-tui-client.outputs.already_published != 'true' && needs.resolve-nightly-cmux-tui-client.outputs.superseded != 'true' && vars.NIGHTLY_NEXT_VISUAL_GATE != '' && vars.NIGHTLY_NEXT_VISUAL_GATE != 'off' # Credentials stay on the validated ephemeral set until exclusive owned-Mac admission exists. - runs-on: ${{ github.repository_owner != 'manaflow-ai' && 'ubuntu-24.04' || contains(fromJSON('["blacksmith-16vcpu-ubuntu-2404","blacksmith-32vcpu-ubuntu-2404"]'), fromJSON(vars.RUNNER_POOLS || '{}').linux) && fromJSON(vars.RUNNER_POOLS || '{}').linux || github.run_attempt > 1 && 'blacksmith-16vcpu-ubuntu-2404' || 'blacksmith-32vcpu-ubuntu-2404' }} + runs-on: ${{ github.repository_owner != 'manaflow-ai' && 'ubuntu-24.04' || github.repository == 'manaflow-ai/cmux' && github.ref == 'refs/heads/nightly-next' && github.run_attempt == 1 && vars.CI_NIGHTLY_ONLY_RUNNER == 'glaeda-nightly-only-m4pro' && vars.CI_NIGHTLY_ONLY_RUNNER || contains(fromJSON('["blacksmith-16vcpu-ubuntu-2404","blacksmith-32vcpu-ubuntu-2404"]'), fromJSON(vars.RUNNER_POOLS || '{}').linux) && fromJSON(vars.RUNNER_POOLS || '{}').linux || github.run_attempt > 1 && 'blacksmith-16vcpu-ubuntu-2404' || 'blacksmith-32vcpu-ubuntu-2404' }} timeout-minutes: 5 # GLAEDA_ROUTE_APP_KEY lives in the routing environment, like every other route job's. environment: ci-routing-agent diff --git a/tests/test_ci_nightly_off_blacksmith.py b/tests/test_ci_nightly_off_blacksmith.py index ab7162f83f30..1067a512542d 100644 --- a/tests/test_ci_nightly_off_blacksmith.py +++ b/tests/test_ci_nightly_off_blacksmith.py @@ -44,8 +44,8 @@ # blacksmith-32vcpu-ubuntu-2404 with no fleet route, and every other nightly job waits on it. BLACKSMITH_LINUX_ONLY_DEBT = frozenset({ "promote-nightly-next", "await-release-surface-ack", "promote-nightly-next-acked", - "attest-nightly-remote-daemon", "pick-nightly-sign-runner", "signer-build", "signer-app", "signer-app-notary", - "signer-dmg", "route-visual-gate-nightly", "keep-published-dsyms", + "attest-nightly-remote-daemon", "signer-build", "signer-app", "signer-app-notary", + "signer-dmg", "keep-published-dsyms", "publish-nightly-identity-legacy", "republish-nightly-deltas", "published-in", "sign-release-notes", "publish-release-notes", "publish-nightly-reel", })