Skip to content

Move Greenlight workflows off ubuntu-latest onto OSDC ARC runners - #8430

Closed
jeanschmidt wants to merge 5 commits into
mainfrom
jeanschmidt/greenlight_meta_own_fleet
Closed

Move Greenlight workflows off ubuntu-latest onto OSDC ARC runners#8430
jeanschmidt wants to merge 5 commits into
mainfrom
jeanschmidt/greenlight_meta_own_fleet

Conversation

@jeanschmidt

@jeanschmidt jeanschmidt commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Impact: CI only — the Greenlight scan and PR-review workflows
Risk: low

What

Switches the scan, announce_start, review, and record jobs from ubuntu-latest to the OSDC ARC runner mt-l-x86iavx512-8-64, running each job inside a node:20-bookworm container and bootstrapping the CLI tools the GitHub-hosted image used to provide (jq, AWS CLI v2, gh) via the new greenlight-container-tools composite action.

Why

Dodging current instability with GitHub-hosted ubuntu-latest. Moving onto our own ARC fleet gets Greenlight off the hared hosted runners. Because ARC's kubernetes-novolume mode has no host-execution path, every step now runs in the job container, so tools that came free on the hosted image (jq, awscli, gh) have to be installed explicitly — only the ones each job actually needs.

And our runners should be cheaper anyways :)

**Impact:** CI only — the Greenlight scan and PR-review workflows
**Risk:** medium

## What
Switches the `scan`, `announce_start`, `review`, and `record` jobs from
`ubuntu-latest` to the OSDC ARC runner `mt-l-x86iavx512-16-32`, running each
job inside a `node:20-bookworm` container and bootstrapping the CLI tools the
GitHub-hosted image used to provide (jq, AWS CLI v2, gh) via the new
`greenlight-container-tools` composite action.

## Why
Dodging current instability with GitHub-hosted `ubuntu-latest`. Moving onto our
own ARC fleet gets Greenlight off the shared hosted runners. Because ARC's
kubernetes-novolume mode has no host-execution path, every step now runs in the
job container, so tools that came free on the hosted image (jq, awscli, gh)
have to be installed explicitly — only the ones each job actually needs.

# Notes
- `mise-action` still supplies Python 3.14 / uv / just on the scan job;
  `setup-python` handles 3.14 on the pr-review jobs. The composite action only
  adds the extra CLIs, requested per-job.
- First run against ARC — untested vs the hosted baseline: docker.io image pull,
  py3.14 pypi wheel availability from cache, novolume node behavior, and the
  base image being tagged rather than digest-pinned are the open risks to watch.

Signed-off-by: Jean Schmidt <contato@jschmidt.me>
- Add `defaults.run.shell: bash` to greenlight-review.yml
- Add `defaults.run.shell: bash` to greenlight-pr-review.yml
- Keep existing greenlight-review working-directory default alongside shell

The container base (node:20-bookworm) from the ARC runner migration defaults
run steps to dash, which rejects `set -o pipefail`. Forcing bash keeps the
existing bash-syntax steps working after the move off ubuntu-latest.

Signed-off-by: Jean Schmidt <contato@jschmidt.me>
@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Aug 3, 2026
@vercel

vercel Bot commented Aug 3, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
torchci Ignored Ignored Preview Aug 3, 2026 11:04pm

Request Review

- Switch every job in both workflows from mt-l-x86iavx512-16-32 to mt-l-x86iavx512-8-64
- Replace the greenlight-container-tools composite action with inline apt-get/curl installs
- Install AWS CLI v2 inline in announce_start and record jobs
- Install gh (via apt keyring) and jq inline in the review job

Notes:
The 8-64 runner (8 CPU / 64 GB) fits the workload better than 16-32.
Dropping the local composite action removes a repo-relative dependency and
makes each job's tool setup self-contained and explicit, matching the
container-based (node:20-bookworm) jobs that have no host execution mode.

Signed-off-by: Jean Schmidt <contato@jschmidt.me>
- Add greenlight-container-tools composite action installing jq, AWS CLI v2,
  and gh on demand for minimal container base images
- Replace three inline apt/curl install steps in greenlight-pr-review.yml with
  calls to the new action (awscli; gh+jq; awscli+jq)
- Each job now requests only the tools it needs via boolean inputs

Notes:
The ARC runners use a minimal node:20-bookworm container that lacks the CLI
tools the GitHub-hosted ubuntu image ships by default, so each job hand-rolled
the same apt/curl install boilerplate. Consolidating into one composite action
removes the duplication and keeps the install logic single-sourced.

Signed-off-by: Jean Schmidt <contato@jschmidt.me>
- Delete .github/actions/greenlight-container-tools composite action
- Inline AWS CLI v2, gh, and jq installs into greenlight-pr-review.yml
- Replace local ./.github/actions/setup-uv with astral-sh/setup-uv@v8.1.0 (pinned uv 0.11.14)

Local `./` actions do not resolve on the kubernetes-novolume ARC
runners the greenlight workflows now run on, so the checkout-dependent
composite actions can't be used. Each job's tool installs move to inline
run steps and uv is fetched via the remote setup-uv action.

Signed-off-by: Jean Schmidt <contato@jschmidt.me>
@jeanschmidt
jeanschmidt temporarily deployed to greenlight-record August 3, 2026 23:05 — with GitHub Actions Inactive
@jeanschmidt
jeanschmidt marked this pull request as draft August 3, 2026 23:30
@jeanschmidt jeanschmidt closed this Aug 4, 2026
@jeanschmidt

Copy link
Copy Markdown
Contributor Author

abandoning, given it seems to not worth the effort

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant