ponyc CI Tiers¶
ponyc organizes its PR CI into two tiers to balance fast feedback against comprehensive coverage.
Tier 1¶
Tier 1 jobs run on every non-draft PR. These are the primary platforms that most users target and where regressions are most likely to be caught. A PR must pass all Tier 1 jobs before merging.
- x86-64 Linux (glibc and musl)
- arm64 Linux (glibc and musl)
- x86-64 macOS
- arm64 macOS
- x86-64 Windows
- arm64 Windows
Tier 1 jobs are defined in the pr-ponyc workflow.
Tier 2¶
Tier 2 jobs are expensive and rarely catch issues that Tier 1 misses. They run on a daily schedule (1 AM UTC) rather than on every PR, gated on whether there were commits in the last 24 hours.
riscv64Linux (cross-compiled)- arm Linux (cross-compiled)
- armhf Linux (cross-compiled)
- Use directive variants (
dtrace,pool_memalign,pool_retain,runtimestats,runtime_tracing) - Sanitizers (address sanitizer, undefined behavior sanitizer)
Tier 2 jobs are defined in the ponyc-tier2 workflow. They can also be triggered manually via workflow dispatch with a ref input to test a specific branch, tag, or SHA on demand.