Files
fil/.github/documentation/runners.md
Henrik Jess Nielsen b4c07d3693
All checks were successful
Deploy fil (kreuzberg) / deploy (push) Successful in 49s
Nomad changes
2026-06-01 23:40:55 +02:00

2.1 KiB

Custom GitHub Actions Runners

Available Runners

Runner Label Architecture Size Ephemeral Notes
runner-small x86_64 Small No Light tasks: linting, formatting, validation
runner-medium x86_64 Medium No Standard CI: tests, builds
runner-medium-arm64 arm64 Medium No ARM64 builds and tests
runner-large x86_64 Large No Heavy workloads: benchmarks, coverage, release builds
runner-large-spot x86_64 Large Yes Cost-optimized large jobs where interruption is acceptable
runner-medium-arm64-spot arm64 Medium Yes Cost-optimized ARM64 jobs where interruption is acceptable

Spot Runners

Spot runners (*-spot) use ephemeral cloud instances provisioned on a best-effort basis. They are significantly cheaper but can be preempted at any time if the cloud provider reclaims capacity.

Use spot runners for:

  • Jobs that can be retried without consequence (test suites, linting)
  • Non-time-critical workloads
  • PR validation where re-runs are acceptable

Do not use spot runners for:

  • Benchmarks (preemption and noisy-neighbor effects skew results)
  • Release builds and publishing
  • Jobs requiring consistent, reproducible timing

Choosing a Runner

Workload Recommended Runner
Linting, formatting, validation runner-small
Unit tests, standard builds runner-medium
ARM64 cross-compilation / tests runner-medium-arm64
Benchmarks, coverage reports runner-large
Non-critical large builds runner-large-spot
Non-critical ARM64 builds runner-medium-arm64-spot