Cum să trimiți coverage la fiecare commit în Codacy — Ghid pas cu pas
In this tutorial, you'll learn about Cum să trimiți coverage la fiecare commit în Codacy. We cover key concepts, practical examples, and best practices to help you understand and apply this topic effectively.
Trimiți coverage la fiecare commit în Codacy pentru a urmări evoluția acoperirii codului în timp real. La fiecare commit, pipeline-ul CI rulează testele, generează raportul și îl trimite automat.
Step-by-Step Fix
1. Configurare în GitHub Actions
name: Coverage
on: [push]
jobs:
coverage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- run: npm ci
- run: npm test -- --coverage
- name: Upload to Codacy
run: |
bash <(curl -Ls https://coverage.codacy.com/get.sh) report \
-r coverage/lcov.info
env:
CODACY_PROJECT_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }}
2. Configurare în Buddy pipeline
- pipeline: "Coverage Check"
trigger_mode: ON_EVERY_PUSH
stages:
- stage: "Test & Coverage"
actions:
- type: build
image: node:20
commands:
- npm ci
- npm test -- --coverage
- bash <(curl -Ls https://coverage.codacy.com/get.sh) report \
-r coverage/lcov.info
env:
CODACY_PROJECT_TOKEN: "${vars.CODACY_PROJECT_TOKEN}"
3. Verificare în Codacy
După upload, intră în Codacy > Coverage > vezi graficul cu evoluția commit cu commit.
Common Mistakes
- Token neconfigurat în CI -- token-ul trebuie adăugat ca secret în pipeline
- Commit asociat greșit -- raportul se leagă de commit-ul HEAD; verifică checkout-ul
- Teste eșuate -- nu trimite raport dacă testele eșuează
- Branch neprotejat -- coverage pe branch-uri tranzitorii poluează statisticile
- Raport trimis de două ori -- ultimul upload suprascrie precedentul pentru același commit
Practice Exercise
Configurează un workflow GitHub Actions care rulează la fiecare push, rulează pytest cu coverage și trimite raportul XML la Codacy.
FAQ
Construit de dezvoltatorii Doda Browser, DodaZIP și Durga Antivirus Pro.
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro