-
Notifications
You must be signed in to change notification settings - Fork 0
137 lines (123 loc) · 3.45 KB
/
quality.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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
name: Quality
on:
workflow_call:
push:
branches:
- main
paths:
- packages/**
pull_request:
branches:
- main
paths:
- packages/**
# When pushing a new commit we should
# cancel the previous test run to not
# consume more runners than we need to.
concurrency:
group: ${{ github.ref }}_quality
cancel-in-progress: true
jobs:
biome:
name: Format, Lint & Organize Import
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npx @biomejs/biome ci --reporter github
shell: bash
test-core:
name: Core
needs:
- biome
runs-on: ubuntu-latest
strategy:
matrix:
node-version:
- 20.x
- 22.x
steps:
- uses: actions/checkout@v4
- uses: ./.github/workflows/actions/test
with:
package: core
node-version: ${{ matrix.node-version }}
test-react:
name: React
needs:
- biome
runs-on: ubuntu-latest
strategy:
matrix:
node-version:
- 20.x
- 22.x
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Prepare
run: |
npm install -w @poppy-ui/core
npm run build -w @poppy-ui/core
npm pack -w @poppy-ui/core
PKG=$(ls poppy-ui-core-*.tgz)
mv $PKG poppy-ui-core-${{ matrix.node-version }}.tgz
shell: bash
- name: Install
run: |
npm install ./poppy-ui-core-${{ matrix.node-version }}.tgz -w @poppy-ui/react
npm install -w @poppy-ui/react
shell: bash
- name: Test
run: npm run test:spec -w @poppy-ui/react --if-present -- --passWithNoTests --coverage
shell: bash
- name: Test e2e
run: npm run test:e2e -w @poppy-ui/react --if-present -- --pass-with-no-tests --reporter github
shell: bash
- uses: ./.github/workflows/actions/test
with:
package: react
node-version: ${{ matrix.node-version }}
test-vue:
name: Vue
needs:
- biome
runs-on: ubuntu-latest
strategy:
matrix:
node-version:
- 20.x
- 22.x
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Prepare
run: |
npm install -w @poppy-ui/core
npm run build -w @poppy-ui/core
npm pack -w @poppy-ui/core
PKG=$(ls poppy-ui-core-*.tgz)
mv $PKG poppy-ui-core-${{ matrix.node-version }}.tgz
npm pack -w @poppy-ui/docs
PKG=$(ls poppy-ui-docs-*.tgz)
mv $PKG poppy-ui-docs-${{ matrix.node-version }}.tgz
shell: bash
- name: Install
run: |
npm install ./poppy-ui-core-${{ matrix.node-version }}.tgz -w @poppy-ui/vue
npm install -D ./poppy-ui-docs-${{ matrix.node-version }}.tgz -w @poppy-ui/vue
npm install -w @poppy-ui/vue
shell: bash
- name: Test
run: npm run test:spec -w @poppy-ui/vue --if-present -- --passWithNoTests --coverage
shell: bash
- name: Test e2e
run: npm run test:e2e -w @poppy-ui/vue --if-present -- --pass-with-no-tests --reporter github
shell: bash
- uses: ./.github/workflows/actions/test
with:
package: vue
node-version: ${{ matrix.node-version }}