Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
5abf6a0
Update README.md
brasleiro01 Oct 3, 2025
937c498
teste 01
marcus-jetsales Oct 3, 2025
5ac776a
add git commit-2
brasleiro01 Oct 3, 2025
82894ba
Merge pull request #1 from brasleiro01/marcus/desafio2
brasleiro01 Oct 3, 2025
fc41f07
teste
brasleiro01 Oct 3, 2025
d2fd641
teste1
brasleiro01 Oct 3, 2025
af402a6
teste2
brasleiro01 Oct 3, 2025
06b4389
teste3
brasleiro01 Oct 3, 2025
c187682
teste3
brasleiro01 Oct 3, 2025
c1aa2e3
ajustes de parametros
brasleiro01 Oct 3, 2025
b56b1a2
ajustes de parametros
brasleiro01 Oct 3, 2025
ae130ec
ajustes de parametros2
brasleiro01 Oct 3, 2025
f663174
resolution
brasleiro01 Oct 3, 2025
470e8a1
teste de ci
brasleiro01 Oct 3, 2025
bcbff70
Merge pull request #3 from brasleiro01/teste-desafio-nivel-3
brasleiro01 Oct 3, 2025
ec7896e
teste de ci
brasleiro01 Oct 3, 2025
4e22228
add docker login
brasleiro01 Oct 3, 2025
4c2cf96
Merge pull request #4 from brasleiro01/teste-desafio-nivel-3
brasleiro01 Oct 3, 2025
56082e9
add docker login
brasleiro01 Oct 3, 2025
96a1f51
Merge pull request #5 from brasleiro01/teste-desafio-nivel-3
brasleiro01 Oct 3, 2025
8eaf882
add docker login
brasleiro01 Oct 3, 2025
706dca4
Merge pull request #6 from brasleiro01/teste-desafio-nivel-3
brasleiro01 Oct 3, 2025
1b6c161
add hadolint
brasleiro01 Oct 3, 2025
3df34f0
Merge pull request #7 from brasleiro01/teste-desafio-nivel-3
brasleiro01 Oct 3, 2025
da2f2b0
add hadolint-1
brasleiro01 Oct 3, 2025
54e4531
Merge pull request #8 from brasleiro01/teste-desafio-nivel-3
brasleiro01 Oct 3, 2025
13657f7
add hadolint-2
brasleiro01 Oct 3, 2025
47eac43
Merge pull request #9 from brasleiro01/teste-desafio-nivel-3
brasleiro01 Oct 3, 2025
a4e9fef
add hadolint-3
brasleiro01 Oct 3, 2025
44ac167
Merge pull request #10 from brasleiro01/teste-desafio-nivel-3
brasleiro01 Oct 3, 2025
e7c4523
add build e run-1
brasleiro01 Oct 3, 2025
d8445be
Merge pull request #11 from brasleiro01/teste-desafio-nivel-3
brasleiro01 Oct 3, 2025
952dea1
add trivy-1
brasleiro01 Oct 3, 2025
c0ffe64
Merge pull request #12 from brasleiro01/teste-desafio-nivel-3
brasleiro01 Oct 3, 2025
d679a09
add trivy-2
brasleiro01 Oct 3, 2025
475d2de
Merge pull request #13 from brasleiro01/teste-desafio-nivel-3
brasleiro01 Oct 3, 2025
4ac5e6d
add ajustes-2
brasleiro01 Oct 3, 2025
9685dca
Merge pull request #14 from brasleiro01/teste-desafio-nivel-3
brasleiro01 Oct 3, 2025
a79b051
add ajustes-2
brasleiro01 Oct 3, 2025
c093f58
Merge pull request #15 from brasleiro01/teste-desafio-nivel-3
brasleiro01 Oct 3, 2025
ab0fb56
add ajustes-3
brasleiro01 Oct 3, 2025
d31bc1c
Merge pull request #16 from brasleiro01/teste-desafio-nivel-3
brasleiro01 Oct 3, 2025
a60cea1
add ajustes-3
brasleiro01 Oct 3, 2025
a0272ca
Merge pull request #17 from brasleiro01/teste-desafio-nivel-3
brasleiro01 Oct 3, 2025
eba10ba
add ajustes-3
brasleiro01 Oct 3, 2025
89e835c
Merge pull request #18 from brasleiro01/teste-desafio-nivel-3
brasleiro01 Oct 3, 2025
2891e00
add ajustes-3
brasleiro01 Oct 3, 2025
953ce2e
Merge pull request #19 from brasleiro01/teste-desafio-nivel-3
brasleiro01 Oct 3, 2025
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
24 changes: 19 additions & 5 deletions .github/workflows/02-tests-ci.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
name: "Nível 2: Testes Automatizados"
on:
pull_request:
branches: [ main ]
branches:
- main
- desafio-nivel-3

env:
NODE_VERSION: '18'
Expand All @@ -20,10 +22,16 @@ jobs:
- name: "Checkout do código"
uses: actions/checkout@v4

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

- name: "Instalar dependencias"
run: npm install

- name: "Executar testes"
run: npm run tests

- 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
Expand All @@ -32,6 +40,12 @@ jobs:
echo "Coverage: $COVERAGE%"
echo "coverage=$COVERAGE" >> $GITHUB_OUTPUT

- name: "Valida se os testes passaram"
if: ${{ steps.coverage.outputs.coverage < env.COVERAGE_MIN }}
run: |
echo "Cobertura minima não atendida: Esperado - ${{ env.COVERAGE_MIN }}%. Atingido: ${{ steps.coverage.outputs.coverage }}%"
exit 1

generate-certificate: # DAQUI PARA BAIXO, NÃO ALTERAR
name: "Desafio Nível 2 - Certificado"
runs-on: ubuntu-latest
Expand Down
74 changes: 74 additions & 0 deletions .github/workflows/03-build-containers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,80 @@ jobs:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Definir variáveis da imagem
id: vars
run: |
OWNER=$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]')
REPO=$(echo "${{ github.event.repository.name }}" | tr '[:upper:]' '[:lower:]')
REGISTRY=ghcr.io
TAG=${GITHUB_SHA}
echo "IMAGE_NAME=${{ vars.IMAGE_NAME }}" >> $GITHUB_ENV
echo "REGISTRY=$REGISTRY" >> $GITHUB_ENV
echo "OWNER=$OWNER" >> $GITHUB_ENV
echo "TAG=$TAG" >> $GITHUB_ENV

- name: Docker Login
uses: docker/login-action@v3.6.0
with:
registry: ${{ env.REGISTRY }}
username: brasleiro01
password: ${{ secrets.TOKEN_PAT }}

- name: Rodar Hadolint
id: hadolint
uses: hadolint/hadolint-action@v3.3.0
with:
dockerfile: Dockerfile
output-file: lint-report.txt
format: tty
no-color: true
no-fail: true

- name: Output (DL3006 e DL3008)
run: |
cat lint-report.txt
if grep -q "DL3006\|DL3008" lint-report.txt; then
echo "Erros críticos encontrados no Dockerfile (DL3006 ou DL3008)!"
exit 1
else
echo "Dockerfile passou no lint!"
fi

- name: Build
uses: docker/build-push-action@v6.18.0
with:
context: .
file: ./Dockerfile
load: true
tags: ${{ env.REGISTRY }}/${{ env.OWNER }}/${{ env.IMAGE_NAME }}:${{ env.TAG }}

- name: Scan de vulnerabilidades com Trivy
uses: aquasecurity/trivy-action@0.33.1
with:
scan-type: image
image-ref: ${{ env.REGISTRY }}/${{ env.OWNER }}/${{ env.IMAGE_NAME }}:${{ env.TAG }}
severity: CRITICAL
exit-code: 1
format: table
output: trivy-report.txt

- name: Upload relatório Trivy
uses: actions/upload-artifact@v4
with:
name: trivy-report
path: trivy-report.txt

- name: Push da imagem no GHCR
uses: docker/build-push-action@v6.18.0
with:
context: .
file: ./Dockerfile
push: true
tags: ${{ env.REGISTRY }}/${{ env.OWNER }}/${{ env.IMAGE_NAME }}:${{ env.TAG }}

# AQUI VAI O CÓDIGO DO DESAFIO :)

generate-certificate: # DAQUI PARA BAIXO, NÃO ALTERAR
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,4 +87,8 @@ Ao completar cada workflow com sucesso, você ganha os badges:

**Feito pela comunidade LINUXtips.**

Marcus Vinicius
<<<<<<< HEAD

=======
>>>>>>> 8f45690 (teste 01)