Skip to content

Commit f654471

Browse files
ci: run on ubuntu-latest-large, the pool this repo actually has
Jobs on `ubuntu-latest` queued indefinitely and were never assigned a runner -- five days on the first attempt, with runner_name empty throughout. The label was wrong, not the workflow. This org grants public repos the `github-hosted-large` runner group, whose labels are ubuntu-latest-large / windows-latest-large. Membership is self-service Terraform in twilio-internal/secure-supply-chain-domain (iac/terraform/infrastructure/prod/us-east-1/github-org-config/github-hosted-large-repos.txt), and twilio/twilio-verify-sna-android is already listed there -- so access was never the problem; we were asking for a pool we don't get. vars.CI_RUNNER still overrides this without a code change. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent 1c2f436 commit f654471

1 file changed

Lines changed: 15 additions & 10 deletions

File tree

.github/workflows/ci.yml

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,23 @@ concurrency:
1616
permissions:
1717
contents: read
1818

19-
# Every job resolves its runner from `vars.CI_RUNNER`, falling back to
20-
# ubuntu-latest. Setting that one repo variable moves the whole pipeline to a
21-
# self-hosted label with no code change. It is left unset because the
22-
# twilio-internal-* labels used elsewhere in the org are unconfirmed for this
23-
# public repo. Daemon usage is controlled per-task inside the lanes rather than
24-
# by a global GRADLE_OPTS, which would fight setup-gradle's cache handling.
19+
# Runner: ubuntu-latest-large, the `github-hosted-large` pool this repo is a
20+
# member of. Plain `ubuntu-latest` does NOT work here -- jobs queue forever with
21+
# no runner ever assigned. Membership is self-service Terraform in
22+
# twilio-internal/secure-supply-chain-domain
23+
# (iac/terraform/.../github-hosted-large-repos.txt), where twilio/twilio-verify-sna-android
24+
# is already listed; the pool's labels are ubuntu-latest-large / windows-latest-large.
25+
#
26+
# `vars.CI_RUNNER` overrides this per-repo without a code change.
27+
#
28+
# Daemon usage is controlled per-task inside the lanes rather than by a global
29+
# GRADLE_OPTS, which would fight setup-gradle's cache handling.
2530
jobs:
2631
# Job bodies are deliberately a single fastlane call: all build logic lives in
2732
# fastlane/Fastfile so it runs identically here, on any other CI, or locally.
2833
assemble:
2934
name: Assemble
30-
runs-on: ${{ vars.CI_RUNNER || 'ubuntu-latest' }}
35+
runs-on: ${{ vars.CI_RUNNER || 'ubuntu-latest-large' }}
3136
steps:
3237
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
3338
- uses: ./.github/actions/setup-build-env
@@ -37,7 +42,7 @@ jobs:
3742
ktlint:
3843
name: Ktlint
3944
needs: [assemble]
40-
runs-on: ${{ vars.CI_RUNNER || 'ubuntu-latest' }}
45+
runs-on: ${{ vars.CI_RUNNER || 'ubuntu-latest-large' }}
4146
steps:
4247
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
4348
- uses: ./.github/actions/setup-build-env
@@ -47,7 +52,7 @@ jobs:
4752
unit_tests:
4853
name: Unit tests
4954
needs: [ktlint]
50-
runs-on: ${{ vars.CI_RUNNER || 'ubuntu-latest' }}
55+
runs-on: ${{ vars.CI_RUNNER || 'ubuntu-latest-large' }}
5156
permissions:
5257
contents: read
5358
pull-requests: write # Danger comments on the PR
@@ -89,7 +94,7 @@ jobs:
8994
size_report:
9095
name: Size report
9196
needs: [unit_tests]
92-
runs-on: ${{ vars.CI_RUNNER || 'ubuntu-latest' }}
97+
runs-on: ${{ vars.CI_RUNNER || 'ubuntu-latest-large' }}
9398
steps:
9499
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
95100
- uses: ./.github/actions/setup-build-env

0 commit comments

Comments
 (0)