-
-
Notifications
You must be signed in to change notification settings - Fork 18
130 lines (101 loc) · 2.98 KB
/
Copy pathci.yml
File metadata and controls
130 lines (101 loc) · 2.98 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
name: CI
on:
pull_request:
branches:
- main
push:
branches:
- main
permissions:
contents: read
concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
name: Build & Typecheck
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.11
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Audit critical JavaScript dependencies
run: bun audit --audit-level=critical
- name: Build web application
run: bun run build:www
- name: Build Figma plugin
run: bun run build:figma
- name: Test Figma plugin messaging
run: bun run --filter './packages/figma' test
- name: Build Gutenberg integration
run: bun run build:gutenberg
- name: Build builder integrations
run: bun run build:builders
- name: Build Gutenberg blocks
run: bun run build:blocks
- name: Build WordPress application
working-directory: packages/wp
env:
APP_ENV: production
run: bunx tsc && bunx vite build
test-web:
name: Test Web Application
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.11
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Test
working-directory: packages/www
run: bunx jest --coverage --detectOpenHandles --watchman=false
test-php:
name: Test WordPress PHP
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: "8.0"
tools: composer
- name: Install dependencies
working-directory: packages/wp
run: composer install --prefer-dist --no-interaction --no-progress
- name: Audit PHP dependencies
working-directory: packages/wp
run: composer audit --locked --no-interaction
- name: Test
working-directory: packages/wp
run: vendor/bin/phpunit Tests
e2e-wordpress:
name: WordPress E2E
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.11
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: "8.0"
tools: composer
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Build and test the WordPress release ZIP
run: bun run e2e:wp
- name: Lint PHP syntax
run: find packages/wp -path packages/wp/vendor -prune -o -name '*.php' -print0 | xargs -0 -n1 php -l