Repository navigation
133 lines (123 loc) · 3.12 KB
/
Copy pathci.yml
File metadata and controls
133 lines (123 loc) · 3.12 KB
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
name: CI
on:
push:
branches: [default]
pull_request:
branches: [default]
permissions:
contents: read
env:
NODE_OPTIONS: '--unhandled-rejections=strict'
jobs:
types:
name: TypeScript
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v7
- name: Install Node.js
uses: actions/setup-node@v7
with:
node-version: lts/*
cache: npm
- name: Install dependencies
run: npm ci
- name: Check types
run: npm run typecheck
lint:
name: Code style
runs-on: ubuntu-latest
needs: [test, types]
steps:
- name: Checkout sources
uses: actions/checkout@v7
- name: Install Node.js
uses: actions/setup-node@v7
with:
node-version: lts/*
cache: npm
- name: Install dependencies
run: npm ci
- name: Check code style
run: npm run lint
test:
name: Tests
strategy:
matrix:
node-version: [22.x, 24.x, 26.x]
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v7
- name: Install Node.js ${{matrix.node-version}}
uses: actions/setup-node@v7
with:
node-version: ${{matrix.node-version}}
cache: npm
- name: Update npm
if: ${{matrix.node-version == '22.x'}}
run: npm install -g npm@11
- name: Install dependencies
run: npm ci
- name: Run tests
run: npm run tests-only -- --coverage
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
security-events: write
needs: [test, types]
strategy:
fail-fast: false
matrix:
language: [javascript]
steps:
- name: Checkout sources
uses: actions/checkout@v7
- name: Install Node.js
uses: actions/setup-node@v7
with:
node-version: lts/*
cache: npm
- name: Install dependencies
run: npm ci
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
netlify:
name: Deploy demo
runs-on: ubuntu-latest
needs: [test, types]
permissions:
checks: write
statuses: write
steps:
- uses: actions/checkout@v7
- name: Install Node.js
uses: actions/setup-node@v7
with:
node-version: lts/*
cache: npm
- name: Install dependencies
run: npm ci
- name: Build
run: npm run prod
env:
VITE_DEMO: 1
- name: Deploy to Netlify
uses: nwtgck/actions-netlify@v4.0
with:
publish-dir: './npm/public'
production-branch: 'default'
github-token: ${{secrets.GITHUB_TOKEN}}
deploy-message: "Deploy from GitHub Actions"
enable-pull-request-comment: false
enable-commit-comment: false
env:
NETLIFY_AUTH_TOKEN: ${{secrets.NETLIFY_AUTH_TOKEN}}
NETLIFY_SITE_ID: ${{secrets.NETLIFY_SITE_ID}}
timeout-minutes: 1