migrate-workflow-ec2-to-osdc
Migrating a workflow from EC2 to OSDC
OSDC (= ARC = on-site data center, EKS-hosted self-hosted runners) replaces EC2 runners. Migration touches the workflow file and requires a few inputs to flow into the reusable _linux-build.yml / _linux-test.yml so the OSDC code paths (build-osdc, test-osdc) activate. EC2 paths (build, test) and OSDC paths gate on inputs.use-arc (!inputs.use-arc vs inputs.use-arc), so flipping that input swaps execution lanes.
This playbook is for workflows that call the reusable _linux-build.yml / _linux-test.yml (e.g. test-b200.yml, pull.yml, trunk.yml, tsan.yml, operator_microbenchmark.yml). Standalone OSDC workflows (raw ARC label + container: directive) follow a different pattern not covered here.
Decide: dial-up vs. 100% opt-in
| Pattern | When to use | Example |
|---|---|---|
| Dial-up (preferred) | Existing workflow with broad coverage; you want to ramp OSDC adoption via labels like pull.yml/trunk.yml. |
test-b200.yml (PR #181544) |
| 100% opt-in | Workflow is meant to always run on OSDC (e.g. testing the single B200 we own on EKS). | operator_microbenchmark.yml, attention_op_microbenchmark.yml (B200 jobs) |
The two pieces — runner_prefix and use-arc — must move together. Hardcoding one but driving the other off the determinator is a bug.
Migration steps (dial-up pattern)
Worked reference: PR #181544 / commit f156b7ddfd1 ("Migrate smoke test on B200 to OSDC"). The diff was 10 lines.