ci: instrumenta fases do Backend tests + pytest --durations #44
Loading…
Reference in a new issue
No description provided.
Delete branch "ci-speed-investigation"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Primeira parte da investigação de velocidade da pipeline (a segunda, causa raiz + fix do custo por teste, está na PR #43).
Divide o step único "Backend tests" em steps distintos (criar venv, pip install, pip check, compileall, pytest, restore drill) — sem mudar nenhum comportamento, só deixa o tempo de cada fase visível direto na UI do Forgejo em vez de precisar instrumentar manualmente. Adiciona
--durations=30ao pytest (útil pra continuar monitorando os testes mais lentos daqui pra frente).Já validado numa execução real (branch
ci, sem PR nem deploy): run #100 — passou, 8m17s total, com o tempo de cada fase do backend visível separadamente pela primeira vez. Foi exatamente essa instrumentação que revelou quepytestsozinho respondia por 87% do tempo do backend (achado detalhado na PR #43).Nota: também testei cache nativo do runner (
actions/cache, pip/npm/Trivy DB) nessa mesma investigação — mas o log da execução mostrouCache action is only supported on GHES version >= 3.5 ... check with GHES admin if Actions cache service is enabled, ou seja, o serviço de cache não está habilitado nesta instância do Forgejo. Como isso exigiria mudança de infraestrutura do lado do servidor (fora do escopo pedido — "não adicionar infraestrutura externa"), não incluí essa parte aqui.