Skip to content

Commit af47480

Browse files
author
Gonzalo Diaz
committed
[REFACTOR] [Github Actions] codecov and sonarcloud now runs in parallel
1 parent 4365671 commit af47480

File tree

1 file changed

+43
-8
lines changed

1 file changed

+43
-8
lines changed

.github/workflows/node-coverage.yml

Lines changed: 43 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,12 @@ on: # yamllint disable-line rule:truthy
55
push:
66
branches: ["main"]
77
pull_request:
8-
# The branches below must be a subset of the branches above
98
branches: ["main"]
109
workflow_dispatch:
1110

1211
jobs:
13-
coverage:
14-
name: NodeJS CI Coverage
12+
build-and-test:
13+
name: Build, Lint & Test
1514
runs-on: ubuntu-24.04
1615

1716
steps:
@@ -34,15 +33,51 @@ jobs:
3433
- name: Run the tests
3534
run: npm run jest:ci -- --coverage
3635

37-
- name: Upload coverage reports to Codecov with GitHub Action
36+
# Subir cobertura como artifact para que otros jobs lo usen
37+
- name: Upload coverage artifact
38+
uses: actions/upload-artifact@v4
39+
with:
40+
name: coverage-report
41+
path: coverage # o la carpeta donde jest genera los reportes
42+
43+
44+
codecov:
45+
name: Upload to Codecov
46+
runs-on: ubuntu-24.04
47+
needs: build-and-test
48+
49+
steps:
50+
- name: Download coverage artifact
51+
uses: actions/download-artifact@v5
52+
with:
53+
name: coverage-report
54+
path: coverage
55+
56+
- name: Upload coverage reports to Codecov
3857
uses: codecov/codecov-action@v5
3958
with:
40-
token: ${{ secrets.CODECOV_TOKEN }} # required
41-
verbose: true # optional (default = false)
59+
token: ${{ secrets.CODECOV_TOKEN }}
60+
verbose: true
61+
62+
sonarqube:
63+
name: Analyze with SonarQube
64+
runs-on: ubuntu-24.04
65+
needs: build-and-test
66+
67+
steps:
68+
- name: Checkout repository
69+
uses: actions/checkout@v5
70+
with:
71+
fetch-depth: 0
72+
73+
- name: Download coverage artifact
74+
uses: actions/download-artifact@v5
75+
with:
76+
name: coverage-report
77+
path: coverage
4278

43-
- name: Analyze with SonarQube / SonarCloud
79+
- name: SonarQube Scan
4480
uses: SonarSource/sonarqube-scan-action@master
4581
env:
4682
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
47-
# Needed to get PR information, if any
4883
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)