-
Notifications
You must be signed in to change notification settings - Fork 567
64 lines (54 loc) · 1.71 KB
/
test.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
name: Run tests
on:
workflow_call:
inputs:
node-version:
required: true
type: string
runs-on:
required: true
type: string
permissions:
contents: read
jobs:
test:
name: Test with Node.js ${{ inputs.node-version }} on ${{ inputs.runs-on }}
timeout-minutes: 15
runs-on: ${{ inputs.runs-on }}
steps:
- name: Checkout
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
with:
persist-credentials: false
- name: Setup Node.js@${{ inputs.node-version }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: ${{ inputs.node-version }}
- name: Print version information
run: |
echo OS: $(node -p "os.version()")
echo Node.js: $(node --version)
echo npm: $(npm --version)
echo git: $(git --version)
- name: Install dependencies
run: npm install
- name: Print installed dependencies
run: npm ls --all
continue-on-error: true
- name: Run tests with coverage
id: coverage
if: inputs.runs-on == 'ubuntu-latest' && inputs.node-version == 22
run: npm run coverage:ci
env:
CI: true
NODE_V8_COVERAGE: ./coverage/tmp
- name: Run tests
if: steps.coverage.outcome == 'skipped'
run: npm run test:javascript
env:
CI: true
- name: Coverage Report
if: inputs.runs-on == 'ubuntu-latest' && inputs.node-version == 20
uses: codecov/codecov-action@015f24e6818733317a2da2edd6290ab26238649a # v5.0.7
with:
token: ${{ secrets.CODECOV_TOKEN }}