-
Notifications
You must be signed in to change notification settings - Fork 1
114 lines (106 loc) · 4.09 KB
/
ci.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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
on: push
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
name: CI
jobs:
eslint:
name: ESLint
runs-on: ubuntu-latest
timeout-minutes: 5
env:
LINT: 1
steps:
- name: Harden Runner
uses: step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v2.10.1
with:
egress-policy: audit
- name: Set running flag
run: echo "RUNNING=1" >> $GITHUB_ENV
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
- uses: technote-space/get-git-comment-action@452f5ad96363fd079a9a36ac980b943eedf327df # v1.2.3
- uses: technote-space/get-diff-action@f27caffdd0fb9b13f4fc191c016bb4e0632844af # v6.1.2
with:
PATTERNS: +(src|__tests__)/**/*.+(js|ts)
FILES: |
yarn.lock
.eslintrc
if: "! contains(env.COMMIT_MESSAGE, '[skip ci]') && ! contains(env.COMMIT_MESSAGE, '[ci skip]')"
- name: Set running flag
run: echo "RUNNING=" >> $GITHUB_ENV
if: "! env.GIT_DIFF"
- uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3.8.2
with:
node-version: 16
cache: yarn
if: env.RUNNING
- name: Install Package dependencies
run: yarn install
if: env.RUNNING
- name: Check code style
run: yarn eslint ${{ env.GIT_DIFF_FILTERED }}
if: env.RUNNING && !env.MATCHED_FILES
- name: Check code style
run: yarn lint
if: env.RUNNING && env.MATCHED_FILES
cover:
name: Coverage
needs: eslint
runs-on: ${{matrix.os}}
timeout-minutes: 10
strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04, ubuntu-latest, macos-latest]
steps:
- name: Harden Runner
uses: step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v2.10.1
with:
egress-policy: audit
- name: Set running flag
run: echo "RUNNING=1" >> $GITHUB_ENV
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
- uses: technote-space/get-git-comment-action@452f5ad96363fd079a9a36ac980b943eedf327df # v1.2.3
- uses: technote-space/get-diff-action@f27caffdd0fb9b13f4fc191c016bb4e0632844af # v6.1.2
with:
PATTERNS: +(src|__tests__)/**/*.+(js|ts|snap)
FILES: |
yarn.lock
jest.config.js
vite.config.ts
if: "! contains(env.COMMIT_MESSAGE, '[skip ci]') && ! contains(env.COMMIT_MESSAGE, '[ci skip]')"
- name: Set running flag
run: echo "RUNNING=" >> $GITHUB_ENV
if: "! env.GIT_DIFF"
- name: Set running flag
if: "matrix.os == 'ubuntu-latest' && ! startsWith(github.ref, 'refs/tags/') && github.event.base_ref == format('refs/heads/{0}', github.event.repository.default_branch)"
run: echo "RUNNING=1" >> $GITHUB_ENV
- name: Set running flag
if: "matrix.os == 'ubuntu-latest' && ! startsWith(github.ref, 'refs/tags/') && startsWith(github.base_ref, 'refs/heads/develop/v')"
run: echo "RUNNING=1" >> $GITHUB_ENV
- name: Set running flag
if: matrix.os == 'ubuntu-latest' && startsWith(github.ref, 'refs/tags/v')
run: echo "RUNNING=1" >> $GITHUB_ENV
- name: Set running flag
run: |
if [[ ! -f package.json ]] || ! < package.json jq -r '.scripts | keys[]' | grep -qe '^cover$'; then
echo "RUNNING=" >> $GITHUB_ENV
fi
- uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3.8.2
with:
node-version: 16
cache: yarn
if: env.RUNNING
- name: Install Package dependencies
run: yarn install
if: env.RUNNING
- name: Run tests
run: yarn cover
if: env.RUNNING
- name: Codecov
run: |
if [ -n "$CODECOV_TOKEN" ]; then
curl -s https://codecov.io/bash | bash -s -- -t $CODECOV_TOKEN -f $COVERAGE_FILE
fi
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
COVERAGE_FILE: ./coverage/lcov.info
if: env.RUNNING && matrix.os == 'ubuntu-latest'