Skip to content

Commit a33a25e

Browse files
committed
ci(release): Upload tests coverage report to Codecov
1 parent dae6217 commit a33a25e

File tree

1 file changed

+42
-12
lines changed

1 file changed

+42
-12
lines changed

.github/workflows/post-release.yml

Lines changed: 42 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,57 @@ on:
66
- feat/add-post-release-workflow
77
tags:
88
- "*@*.*.*"
9-
workflow_dispatch:
109

1110
jobs:
1211
extract-project:
1312
runs-on: ubuntu-latest
1413
steps:
1514
- name: Extract Project Name
16-
id: extract
15+
id: extract-project-name
16+
shell: bash
1717
run: |
1818
TAG_NAME=${{ github.ref_name }}
19-
PROJECT_NAME=$(echo "$TAG_NAME" | sed -E 's/@[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.]+)?//')
20-
echo "project=$PROJECT_NAME" >> "$GITHUB_ENV"
21-
echo "::set-output name=project::$PROJECT_NAME"
19+
if [[ "$TAG_NAME" =~ ^(.+)@[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.]+)?$ ]]; then
20+
PROJECT_NAME=${BASH_REMATCH[1]}
21+
else
22+
PROJECT_NAME=""
23+
fi
24+
echo "project=$PROJECT_NAME" >> "$GITHUB_OUTPUT"
25+
echo "Extracted project '$PROJECT_NAME' from '$TAG_NAME'"
2226
23-
- name: Show Extracted Project
24-
run: |
25-
echo "Extracted project: ${{ env.project }}"
26-
27-
use-project:
27+
upload-test-coverage:
2828
runs-on: ubuntu-latest
2929
needs: extract-project
30+
if: ${{ needs.extract-project.outputs.project != '' }}
31+
env:
32+
PROJECT: ${{ needs.extract-project.outputs.project }}
3033
steps:
31-
- name: Use Extracted Project Name
32-
run: echo "Project from tag is ${{ needs.extract-project.outputs.project }}"
34+
- name: Checkout
35+
uses: actions/checkout@v4
36+
with:
37+
fetch-tags: 'true'
38+
fetch-depth: '0'
39+
40+
- name: Enable Corepack
41+
run: corepack enable
42+
43+
- name: Install Node.js
44+
uses: actions/setup-node@v4
45+
with:
46+
node-version: 20
47+
registry-url: 'https://registry.npmjs.org/'
48+
cache: 'yarn'
49+
cache-dependency-path: 'yarn.lock'
50+
51+
- name: Install dependencies
52+
run: yarn install --immutable
53+
54+
- name: Run tests with coverage
55+
run: npx nx run ${{ env.PROJECT }}:test --coverage
56+
57+
- name: Upload ${{ env.PROJECT }} coverage reports to Codecov
58+
uses: codecov/codecov-action@13ce06bfc6bbe3ecf90edbbf1bc32fe5978ca1d3
59+
with:
60+
token: ${{ secrets.CODECOV_TOKEN }}
61+
directory: ./coverage/packages/${{ env.PROJECT }}
62+
flags: hooks,${{ env.PROJECT }}

0 commit comments

Comments
 (0)