Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 41 additions & 4 deletions .github/workflows/02-tests-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,48 @@ jobs:
- name: "Checkout do código"
uses: actions/checkout@v4

# INSIRA AQUI A LÓGICA PARA RODAR OS TESTES E VERIFICAR A COBERTURA
###
###
###
# LOGICA DE TESTES
- name: "Setup Node.js"
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}

- name: "Instalar dependências"
run: npm ci

- name: "Rodar testes com cobertura"
run: npm run tests

- name: "Verificar cobertura mínima"
run: |
COVERAGE=$(npx nyc report --reporter=text-summary | grep -oP 'Statements\s*:\s*\K[0-9\.]+(?=%)' | head -1)
echo "Cobertura atual: $COVERAGE%"
echo "Mínimo exigido: ${{ env.COVERAGE_MIN }}%"

if [ -z "$COVERAGE" ]; then
echo "❌ Não foi possível extrair a cobertura!"
exit 1
fi

node -e "
const coverage = parseFloat('$COVERAGE');
const minimo = ${{ env.COVERAGE_MIN }};
if (coverage >= minimo) {
console.log('✅ Cobertura aprovada: ' + coverage + '%');
process.exit(0);
} else {
console.log('❌ Cobertura abaixo do mínimo: ' + coverage + '% < ' + minimo + '%');
process.exit(1);
}
"

- name: "Upload do relatório de cobertura"
uses: actions/upload-artifact@v4
with:
name: coverage-report
path: coverage/
retention-days: 30

- name: "Extrair porcentagem de cobertura" # Esse step será validado pelo desafio, não altere o nome. No final, ele deve gerar o output "coverage" com a porcentagem de cobertura.
id: coverage
run: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/03-build-containers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ jobs:
if: #????
runs-on: ubuntu-latest

steps:
# AQUI VAI O CÓDIGO DO DESAFIO :)
# steps:
# # AQUI VAI O CÓDIGO DO DESAFIO :)

generate-certificate: # DAQUI PARA BAIXO, NÃO ALTERAR
name: "Desafio Nível 3 - Certificado"
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ Se inscreva na aula ao vivo e gratuita: https://quiz.linuxtips.io/github-actions

Bem-vindo ao **Descomplicando GitHub Actions**! Este projeto foi criado pela comunidade **LINUXtips** para você aprender os conceitos básicos de CI/CD na prática de forma simples e direta.

Nome: Cláudio Roberto

Este projeto foi desenhado para ser o material de apoio do vídeo "Descomplicando GitHub Actions" no [canal da LINUXtips no YouTube](https://youtube.com/linuxtips). A ideia é que você possa codificar junto e aprender na prática.

## O que você vai aprender
Expand Down