migrate-workflow-ec2-to-osdc

Installation
SKILL.md

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-arcmust 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.

Installs
2
GitHub Stars
110
First Seen
Jun 29, 2026
migrate-workflow-ec2-to-osdc — pytorch/test-infra