ci(adk): agregar job test-adk con gate de cobertura - #12
Open
01luyicheng wants to merge 1 commit into
Open
Conversation
El job `test` de la raíz corre `uv run pytest -v` con `testpaths=["tests"]`, por lo que `astromesh-adk/tests/` nunca se ejecutaba en CI. Tampoco había un gate de cobertura para `astromesh_adk/`. Este PR agrega un job `test-adk` dedicado que: - corre `uv run pytest astromesh-adk/tests --cov=astromesh_adk --cov-report=term-missing --cov-fail-under=60` desde la raíz (ADK no tiene uv.lock propio, se instala como editable desde el root lock), - arregla `test_public_api.py::test_version`, que assertionaba `0.1.9` cuando el paquete ya estaba en `0.2.0` — un fallo preexistente que dejaba el job rojo desde el arranque. El umbral de 60% deja margen sobre el 68% medido hoy; se puede subir en follow-ups a medida que la cobertura crezca. Closes monaccode#2.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivo
Closes #2.
El job
testde la raíz correuv run pytest -vcontestpaths=["tests"](pyproject.toml), por lo queastromesh-adk/tests/nunca se ejecuta en CI. Tampoco hay un gate de cobertura paraastromesh_adk/. Este PR cierra esa deuda de proceso con un jobtest-adkdedicado.Cambios
.github/workflows/ci.yml: nuevo jobtest-adk(ubuntu-latest) que desde la raíz haceuv sync --locked --extra all(ADK no tieneuv.lockpropio, se instala como editable desde el root lock) y luegouv run pytest astromesh-adk/tests --cov=astromesh_adk --cov-report=term-missing --cov-fail-under=60.astromesh-adk/tests/test_public_api.py: arreglatest_version, que verificaba conassertque__version__ == "0.1.9"cuando el paquete ya está en0.2.0(desde el release0.1.9se incrementó la versión en__init__.pyypyproject.tomlpero no se sincronizó el test). Es un fallo preexistente que dejaba el job rojo desde el arranque; sin este fix el gate no tiene sentido.astromesh-adk/CHANGELOG.md: entradas bajo[Unreleased] → Added(el job nuevo) y→ Fixed(el test_version).Umbral de cobertura
Medido hoy: TOTAL 68.35% (runner.py 70%, team.py 82%, tools.py 96%, cli/main.py 14% arrastra).
--cov-fail-under=60deja ~8pp de margen para pasar y a la vez frenar regresiones grandes. Se puede subir de a poco en follow-ups a medida que la cobertura crezca (por ejemplo, cubriendocli/main.pyque hoy está al 14%).Cómo probar
uv run pytest astromesh-adk/tests --cov=astromesh_adk --cov-report=term-missing --cov-fail-under=60 uv run python -c "import yaml; yaml.safe_load(open('.github/workflows/ci.yml')); print('ci.yml OK')"Resultado local: 114 passed, coverage 68.35% ≥ 60%. El job
testde la raíz también sigue verde (1153 passed).Notas / fuera de alcance
astromesh_adk/: elpyproject.tomldel ADK no declara[tool.ruff.lint] select, así queruff check astromesh_adk/usaría el ruleset por defecto y con alta probabilidad rompería el gate. Queda para otro PR que alinee el ruleset de ruff del ADK con el del core.testytest-orbit.cli/main.pyestá al 14% de cobertura: queda como deuda de testing futura, fuera del alcance de este PR.Convive con PR #11
Paralelo a #11 (
fix/adk-swarm-empty-team-indexerror): sin solapamiento de archivos de código (runner.py/test_runner_local.pyvsci.yml/test_public_api.py), pero ambos editanastromesh-adk/CHANGELOG.mden la misma región ([Unreleased]). Si #11 mergeea primero, este PR necesitará un rebase trivial sobreCHANGELOG.md(ambas entradas### Fixedse combinan a mano, sin conflicto semántico). El nuevo gatetest-adkayudará a evitar regresiones como la que #11 corrige. Por lo demás, #11 corre CI sobre su propia rama con elci.ymlactual dedevelop, que aún no incluyetest-adk, así que este PR no lo impacta.