-
Notifications
You must be signed in to change notification settings - Fork 0
86 lines (70 loc) · 2.16 KB
/
pull-request.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
name: "Pull Request Workflow"
env:
WT_GITHUB_TOKEN: ${{ secrets.WT_GITHUB_PACKAGES_RO }}
GITHUB_TOKEN: ${{ secrets.WT_GITHUB_PACKAGES_RO }}
NPM_PUBLISH_ACCESS_TOKEN: ${{ secrets.WT_GITHUB_REPO_RO_PACKAGES_RW }}
on:
pull_request:
permissions:
id-token: write
contents: read
jobs:
linting:
name: Linting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup
with:
env: ${{ env.GITHUB_TOKEN }}
- name: Run linting
run: yarn lint
unit-test:
name: Unit Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup
with:
env: ${{ env.GITHUB_TOKEN }}
- name: Run unit tests
# run: yarn test
run: |
mkdir -p ./coverage &&
touch ./coverage/summary.txt &&
yarn test:coverage >> ./coverage/summary.txt
shell: bash
- name: Retrieve code coverage
id: code_coverage
run: |
echo "Total coverage: $(grep -oE '[0-9]+\.[0-9]+%' -m 1 ./coverage/summary.txt | cut -d '.' -f1)% of statements" &&
echo "coverage_percentage=$(grep -oE '[0-9]+\.[0-9]+%' -m 1 ./coverage/summary.txt | cut -d '.' -f1)" >> "$GITHUB_OUTPUT"
shell: bash
- name: Upload Coverage Artifacts
uses: actions/upload-artifact@v3
with:
name: code-coverage
path: coverage
upload_coverage:
name: Code Coverage
uses: WeTransfer/gha-workflows/.github/workflows/upload_coverage.yml@main
needs: unit-test
with:
coverage_percentage: ${{ needs.unit-test.outputs.coverage_percentage }}
badge_green_limit: 90
# publish:
# name: Publish Package
# runs-on: ubuntu-latest
# needs: [linting, unit-test]
# steps:
# - uses: actions/checkout@v4
# - name: Setup
# uses: ./.github/actions/setup
# - name: Build package
# run: yarn build
# - name: Publish package
# run: yarn publish --registry https://npm.pkg.github.com
# env:
# NODE_AUTH_TOKEN: "$NPM_PUBLISH_ACCESS_TOKEN"