This repository has been archived by the owner on Aug 21, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 0
executable file
Β·153 lines (148 loc) Β· 3.71 KB
/
branch-build.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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
name: branch-build
on:
pull_request:
branches: [dev]
push:
branches: [dev]
merge_group:
types: [checks_requested]
jobs:
secrets-gate:
runs-on: ubuntu-latest
outputs:
ok: ${{ steps.check-secrets.outputs.ok }}
steps:
- name: check for secrets needed to run workflows
id: check-secrets
run: |
if [ ${{ secrets.BRANCH_BUILD_ENABLED }} == 'true' ]; then
echo "ok=enabled" >> $GITHUB_OUTPUT
fi
install-modules:
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 18.x
- name: restore lerna
uses: actions/cache@v3
with:
path: |
node_modules
*/*/node_modules
package-lock.json
key: ${{ runner.os }}-branch-build-${{ hashFiles('**/package.json') }}
- run: cp .env.local.default .env.local
- run: sed -i 's/localhost/127.0.0.1/g' .env.local
- name: Config npm registry token
run: npm config set '//npm.pkg.github.com/:_authToken' "${NPM_TOKEN}"
env:
NPM_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: npm install --production=false --loglevel notice --legacy-peer-deps
- name: cache for next steps
uses: actions/cache@v3
with:
path: .
key: dir-${{github.sha}}
check-lint:
needs: install-modules
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- uses: actions/cache@v3
with:
path: .
key: dir-${{github.sha}}
- run: npm run lint
- run: npm run check-eslint
timeout-minutes: 20
check-errors:
needs: install-modules
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- uses: actions/cache@v3
with:
path: .
key: dir-${{github.sha}}
- run: npm run dev-docker
- run: npm run dev-reinit
- run: npm run check-errors
timeout-minutes: 20
build-client:
needs: install-modules
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- uses: actions/cache@v3
with:
path: .
key: dir-${{github.sha}}
- run: npm run dev-docker
- run: npm run dev-reinit
- run: npm run build-client
test:
needs: install-modules
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
package:
- client
- client-core
- common
- ecs
- editor
- engine
- hyperflux
- matchmaking
- network
- server
- spatial
- taskserver
- visual-script
- xrui
defaults:
run:
shell: bash
steps:
- uses: actions/cache@v3
with:
path: .
key: dir-${{github.sha}}
- run: cd packages/${{ matrix.package }} && npm run test
test_docker:
needs: install-modules
runs-on: ubuntu-latest
strategy:
matrix:
package:
- server-core
- instanceserver
defaults:
run:
shell: bash
steps:
- uses: actions/cache@v3
with:
path: .
key: dir-${{github.sha}}
- run: rm -rf packages/client
- run: rm -rf packages/client-core
- run: rm -rf packages/editor
- run: rm -rf packages/ui
- run: npm run dev-docker
- run: npm run dev-reinit
- run: git config --global user.email "[email protected]" && git config --global user.name "Your Name"
- run: cd packages/${{ matrix.package }} && npm run test