CI Perf Lint

prefer-standard-arm-runner-for-api-cli

Flags API-bound CLI jobs that run on standard x64 Ubuntu GitHub-hosted runners and may be good candidates for the matching standard arm64 Ubuntu runner.

Why it matters

Terraform, CDK, Pulumi, cloud provider CLIs, Kubernetes CLIs, and similar tools generally run on arm64. These jobs often spend time in provider API calls or CLI orchestration rather than CPU-bound local work. Examples include:

For these jobs, runner CPU architecture may matter less than CLI startup, dependency setup, and provider API wait time. If the CLI, setup actions, and credentials flow support arm64, a standard arm64 runner can be a practical alternative to standard x64 Ubuntu runners.

Current heuristic

This rule only fires when all of the following are visible:

The severity drops to suggestion when architecture-sensitive work is also visible, such as Docker builds, native compilation, browser tests, Electron, or Tauri.

Suggested fix

Test the job on the corresponding standard arm64 Ubuntu label, then keep the change only if all actions, CLIs, credentials, and command behavior remain compatible.

Measurement hint

Compare wall-clock duration, setup time, and failure rate across several runs before and after changing the runner label.

Notes

This rule is intentionally advisory. Some third-party actions and install paths may not support arm64 cleanly, and some infrastructure jobs include architecture-sensitive build steps before the API-bound CLI work. Verify compatibility before changing production workflows.