CI: skip unaffected C++ test group on PRs and speed up slow C++ tests
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 32/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- cpp, github-actions, yaml
- Área
- ci-cd, testing-qa
Línea de trabajo
Start with the changed-files job and the conda-cpp-tests-* jobs in pr.yaml, then the pr-builder and pr-test-summary jobs that must accept a skipped job. For the speed-up, the timings name C_API_TEST and DeterministicBBTestFixture.deterministic_reproducibility/1, plus NUMOPT_INTERNAL_TEST and ROUTING_INTERNAL_TEST. Done means the path-filtered skip works for both sides, shared code still runs both groups, and the heavy tests run faster on v100. The open questions on which tests belong on PRs need maintainer input first.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Follow-up to #2247 (split C++ tests into routing and mathopt jobs), raised by @bdice and @KyleFromNVIDIA in review.
1. Skip the unaffected group based on changed files (@bdice)
Run only the routing or only the mathopt C++ test job when a PR touches just that side.
- Add routing and mathopt path filters to the
changed-filesjob inpr.yaml, and gate eachconda-cpp-tests-*job with them. - Shared code (utilities, C API, common
cpp/srcandcpp/include) must still run both groups. pr-builder/pr-test-summarymust tolerate a skipped job.
2. Make the tests faster before relying on sharding (@KyleFromNVIDIA)
Per-binary timings from PR #2247 CI run 41485888506 (commit 5722b9a4). Four binaries make up about 90% of test time in each group.
| Binary | Group | h100 | v100 |
|---|---|---|---|
NUMOPT_INTERNAL_TEST |
mathopt | 542s | 1122s |
INCUMBENT_CALLBACK_TEST |
mathopt | 152s | 202s |
GRPC_INTEGRATION_TEST |
mathopt | 102s | 117s |
C_API_TEST |
mathopt | 64s | 232s |
ROUTING_INTERNAL_TEST |
routing | 659s | 717s |
ROUTING_UNIT_TEST |
routing | 155s | 155s |
Candidates to investigate:
C_API_TESTon v100:DeterministicBBTestFixture.deterministic_reproducibility/1takes 181s on v100 vs about 25s on h100, and is why v100 mathopt takes 36 min against 16-19 min elsewhere. Use a smaller instance or a lower work limit.- Duplicate coverage: deterministic B&B reproducibility runs in both
NUMOPT_INTERNAL_TEST(about 100s) andC_API_TEST. - Routing time limits:
OBJECTIVE_FUNCTION/0and/1take about 75s each, and the 14CVRPTW_Retailcases about 20s each. Check whether a lower search time limit keeps results stable. - Large LP/MIP sweeps:
mip_solve.run_small_tests(133s) andpdlp_class.run_sub_mittleman(106s). Consider a fast subset for PRs and the full set for nightly. GRPC_INTEGRATION_TEST:PathSelectionTests(42s) andErrorRecoveryTests(24s). Check for fixed sleeps or restarts.- Per-job setup: about 4.5 min of setup and dataset download per job, paid twice after the split.
Open questions
- Which of the heavy tests are required for PR coverage and which can move to nightly?
- Are the v100 slowdowns from the GPU, CPU count, or time-limit behaviour?
- Lenguaje dominante
- Cuda
- Estrellas
- 1.1k
- Forks
- 249
- Merge medio
- 1 d 15 h
- PR fusionados (30 d)
- 126
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de NVIDIA/cuopt
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
CI: nightly Cython build with bounds checking enabledPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 22/100
NVIDIA/cuopt#2255 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 Medio día Aptitud para principiantes 50/100
Los mantenedores suelen responder en 1 día
-
[BUG] Out-of-bounds read when solving a DataModel with lower/upper constraint boundsPosiblemente ocupada @ramakrishnap-nv la tomó hace 1 día. Abiertobug
Dificultad 3/5 Medio día Aptitud para principiantes 55/100
Los mantenedores suelen responder en 1 día
Todos los issues de NVIDIA/cuopt
Issues similares
-
Remove the unused gh-aw agentic workflow setupPosiblemente ocupada @AviAvni la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 3 días
-
Stop trusting the compromised eMudhra CA certificatesPosiblemente ocupada @anth-volk la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
PolicyEngine/uk-triple-lock#54 ·
Los mantenedores suelen responder en 1 día
-
[falco-talon] Setting `podAnnotations` makes the chart fail to renderPosiblemente ocupada @RaphaelFakhri la tomó hoy. Abiertoneeds-kind
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
falcosecurity/charts#1084 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
NousResearch/hermes-agent#148799 ·
Los mantenedores suelen responder en 1 día
-
documentation good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
sorocharge/sorocharge-php#14 ·