Scheduled (weekly) runs outside per-PR CI: plan and tracking

Aperta
#4,140 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
cpp, github-actions
Ambito
ci-cd, testing

Direzione di ricerca

Read the existing workflows .github/workflows/coverage.yaml and .github/workflows/coverage-tests.yaml, then compare their triggers and runners with the per-PR workflows named in the issue. The first audit found that the CI-directory randomized run took 2.5 minutes for 10 seeds on Anvil, while AMPI took 12 minutes; the workflow location is still undecided. Done means the scheduled workflow is written and failures it finds are filed as linked issues.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

CI

This issue tracks the scheduled jobs we run, or intend to run, outside the per-PR CI. It records what each one does, where it runs and what it costs. Per-PR CI (.github/workflows/reconverse-ci.yaml, reconverse-cuda.yaml) is not covered here.

Running now

Job Workflow When Runs on What it does
Coverage report .github/workflows/coverage.yaml Sundays 06:00 UTC GitHub ubuntu-latest Line, function and region coverage of Charm++ and reconverse over the CI test tier, published to https://charmplusplus.org/charm-coverage/
Coverage backlog tests .github/workflows/coverage-tests.yaml Mondays 12:17 UTC GitHub ubuntu-latest + Claude API Writes tests for the top of the coverage backlog and opens one draft PR. Blocked: the API credit this job was given cannot be used for Claude Code requests; waiting on Anthropic support.

Planned

Randomized message-order run (added 2026-11-04)

Why. Reconverse does not keep per-sender message order, by design. Code that silently depends on order breaks only when the order happens to change. Two such bugs turned up on 2026-11-04: CkMulticast (#4032, fixed in #4131) and AMPI start-up (#4137). Both showed up in a few seeds under +randomized_msgq, but only rarely, or never, in plain runs.

What.

  • Every directory in TEST_DIRS, plus tests/ampi and megatest, run under +randomized_msgq +randomized_seed S, at 2 processes × 2 PEs.
  • A fresh set of seeds each week, for example derived from the date, so the run covers new orders over time. The seeds used are printed in the log so that any failure can be reproduced.
  • Excluded: tests that check FIFO or priority order by design, such as megatest's priotest.
  • Each directory has a timeout, so a hang shows up as a failure instead of stalling the job.

Where. Either a GitHub runner (2 processes on one host, as in the per-PR 2-process step) or Anvil through a scheduled job. The first audit (2026-11-04, Anvil) will show how long 10 seeds take. That decides whether it fits a GitHub job (6-hour limit) or needs Anvil.

Cost. The single-process randomized step was measured at 15–30 s per job in October. The 2-process run with 10 seeds will be measured in the first audit.

Status.

  • First audit on Anvil (2026-11-04): 26 CI test directories × 10 seeds at 2 processes took 2.5 min on one node, with no failures; the AMPI tests took 12 min. Failures were found only in AMPI: cas (a race in the test) and collmatch/migrate_colls (a nonblocking-collective result reaching a rank that has migrated but not been restored yet). At that cost the CI-directory part fits a GitHub runner.
  • Workflow written (GitHub or Anvil, decided from the audit's run time)
  • Failures it finds filed as issues and linked here
Cluster tier (idea, undecided)

Scheduled runs on supercomputer allocations (Anvil, Delta), for things GitHub runners cannot show:

  • multi-node runs;
  • real interconnects (Slingshot CXI, InfiniBand);
  • MPI interop under the site MPI (Cray MPICH srun --mpi=cray_shasta);
  • application runs (NAMD, ChaNGa).

Open questions: how to trigger them (a cron job on a login node, or a self-hosted runner), whose allocation pays, and where results are reported.

The body of this issue is the current plan, edited as decisions are made; discussion goes in the comments.

Drafted by Claude Code (Opus 5.5) for @lvkale

Lingua principale
C++
Stelle
241
Fork
62
Merge medio
1g 1h
PR unite (30g)
121

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di charmplusplus/charm

Tutte le issue di charmplusplus/charm

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.