-
Notifications
You must be signed in to change notification settings - Fork 19
132 lines (101 loc) · 3.83 KB
/
Copy pathci.yml
File metadata and controls
132 lines (101 loc) · 3.83 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
name: CI
on:
pull_request:
branches:
- main
push:
branches:
- main
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
test-and-build:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Check out
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5
- name: Set up pnpm
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda
with:
version: 10.32.1
- name: Set up Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
with:
node-version: 22
cache: pnpm
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Test repo scripts
run: pnpm test:scripts
- name: Check README shared blocks
run: pnpm check:readmes
- name: Run tests
run: pnpm test
- name: Enforce Morph coverage
run: pnpm --filter @layoutit/polycss-morph test:coverage
- name: Enforce domformat coverage
run: pnpm --filter @layoutit/polycss-domformat test:coverage
- name: Certify domformat package
run: pnpm --filter @layoutit/polycss-domformat pack:check
- name: Build packages (DTS + JS)
run: pnpm build:packages
- name: Certify Morph package
run: pnpm --filter @layoutit/polycss-morph test:package
- name: Certify Morph with registry dependencies
run: pnpm --filter @layoutit/polycss-morph test:package:registry
- name: Certify Gallery domformat corpus
run: pnpm --filter @layoutit/polycss-website test:domformat-tools && pnpm --filter @layoutit/polycss-website verify:domformat
- name: Build website
run: pnpm build:website
certify-domformat-browser:
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- name: Check out
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5
- name: Set up pnpm
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda
with:
version: 10.32.1
- name: Set up Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
with:
node-version: 22
cache: pnpm
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Install pinned Playwright Chromium
run: pnpm exec playwright install --with-deps chromium
- name: Expose pinned Playwright Chromium executable
run: >-
node --input-type=module --eval 'import { chromium } from "playwright"; process.stdout.write("DOMFORMAT_BROWSER=" + chromium.executablePath() + "\n");' >> "$GITHUB_ENV"
- name: Certify domformat in real Chromium
env:
DOMFORMAT_BROWSER_NO_SANDBOX: "1"
run: pnpm --filter @layoutit/polycss-domformat test:browser
certify-gallery-domformat-corpus:
# Gallery assets are byte-bound to this Chromium/sharp runner; changing it requires corpus regeneration.
runs-on: macos-15
timeout-minutes: 30
steps:
- name: Check out
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5
- name: Set up pnpm
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda
with:
version: 10.32.1
- name: Set up Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
with:
node-version: 22
cache: pnpm
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Install pinned Playwright Chromium
run: pnpm exec playwright install chromium
- name: Build domformat
run: pnpm --filter @layoutit/polycss-domformat build
- name: Regenerate and compare the complete Gallery corpus
run: pnpm --filter @layoutit/polycss-website verify:domformat:fresh