Skip to content

Commit c60f606

Browse files
committed
[ci] Combine Runtime workflows
Merges most workflows into a single workflow, which should make the "Checks" tab easier to visualize sincee it will all be graphed in a single interface. There should be no change in behavior, this is a mechanical change. ghstack-source-id: fa9bc77 Pull Request resolved: #30324
1 parent 7dea8da commit c60f606

File tree

5 files changed

+131
-174
lines changed

5 files changed

+131
-174
lines changed

.github/workflows/runtime_build.yml renamed to .github/workflows/runtime_build_and_test.yml

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,137 @@ env:
1111
TZ: /usr/share/zoneinfo/America/Los_Angeles
1212

1313
jobs:
14+
# ----- FLOW -----
15+
discover_flow_inline_configs:
16+
name: Discover flow inline configs
17+
runs-on: ubuntu-latest
18+
outputs:
19+
matrix: ${{ steps.set-matrix.outputs.result }}
20+
steps:
21+
- uses: actions/checkout@v4
22+
- uses: actions/github-script@v7
23+
id: set-matrix
24+
with:
25+
script: |
26+
const inlinedHostConfigs = require('./scripts/shared/inlinedHostConfigs.js');
27+
return inlinedHostConfigs.map(config => config.shortName);
28+
29+
flow:
30+
name: Flow check ${{ matrix.flow_inline_config_shortname }}
31+
needs: discover_flow_inline_configs
32+
runs-on: ubuntu-latest
33+
continue-on-error: true
34+
strategy:
35+
matrix:
36+
flow_inline_config_shortname: ${{ fromJSON(needs.discover_flow_inline_configs.outputs.matrix) }}
37+
steps:
38+
- uses: actions/checkout@v4
39+
- uses: actions/setup-node@v4
40+
with:
41+
node-version: 18.20.1
42+
cache: yarn
43+
cache-dependency-path: yarn.lock
44+
- name: Restore cached node_modules
45+
uses: actions/cache@v4
46+
id: node_modules
47+
with:
48+
path: "**/node_modules"
49+
key: ${{ runner.arch }}-${{ runner.os }}-modules-${{ hashFiles('yarn.lock') }}
50+
- run: yarn install --frozen-lockfile
51+
- run: node ./scripts/tasks/flow-ci ${{ matrix.flow_inline_config_shortname }}
52+
53+
# ----- FIZZ -----
54+
check_generated_fizz_runtime:
55+
name: Confirm generated inline Fizz runtime is up to date
56+
runs-on: ubuntu-latest
57+
steps:
58+
- uses: actions/checkout@v4
59+
- uses: actions/setup-node@v4
60+
with:
61+
node-version: 18.20.1
62+
cache: yarn
63+
cache-dependency-path: yarn.lock
64+
- name: Restore cached node_modules
65+
uses: actions/cache@v4
66+
id: node_modules
67+
with:
68+
path: "**/node_modules"
69+
key: ${{ runner.arch }}-${{ runner.os }}-modules-${{ hashFiles('yarn.lock') }}
70+
- run: yarn install --frozen-lockfile
71+
- run: |
72+
yarn generate-inline-fizz-runtime
73+
git diff --quiet || (echo "There was a change to the Fizz runtime. Run `yarn generate-inline-fizz-runtime` and check in the result." && false)
74+
75+
# ----- FEATURE FLAGS -----
76+
flags:
77+
name: Check flags
78+
runs-on: ubuntu-latest
79+
steps:
80+
- uses: actions/checkout@v4
81+
- uses: actions/setup-node@v4
82+
with:
83+
node-version: 18.20.1
84+
cache: yarn
85+
cache-dependency-path: yarn.lock
86+
- name: Restore cached node_modules
87+
uses: actions/cache@v4
88+
id: node_modules
89+
with:
90+
path: "**/node_modules"
91+
key: ${{ runner.arch }}-${{ runner.os }}-modules-${{ hashFiles('yarn.lock') }}
92+
- run: yarn install --frozen-lockfile
93+
- run: yarn flags
94+
95+
# ----- TESTS -----
96+
test:
97+
name: yarn test ${{ matrix.params }} (Shard ${{ matrix.shard }})
98+
runs-on: ubuntu-latest
99+
strategy:
100+
matrix:
101+
params:
102+
- "-r=stable --env=development"
103+
- "-r=stable --env=production"
104+
- "-r=experimental --env=development"
105+
- "-r=experimental --env=production"
106+
- "-r=www-classic --env=development --variant=false"
107+
- "-r=www-classic --env=production --variant=false"
108+
- "-r=www-classic --env=development --variant=true"
109+
- "-r=www-classic --env=production --variant=true"
110+
- "-r=www-modern --env=development --variant=false"
111+
- "-r=www-modern --env=production --variant=false"
112+
- "-r=www-modern --env=development --variant=true"
113+
- "-r=www-modern --env=production --variant=true"
114+
- "-r=xplat --env=development --variant=false"
115+
- "-r=xplat --env=development --variant=true"
116+
- "-r=xplat --env=production --variant=false"
117+
- "-r=xplat --env=production --variant=true"
118+
# TODO: Test more persistent configurations?
119+
- "-r=stable --env=development --persistent"
120+
- "-r=experimental --env=development --persistent"
121+
shard:
122+
- 1/5
123+
- 2/5
124+
- 3/5
125+
- 4/5
126+
- 5/5
127+
continue-on-error: true
128+
steps:
129+
- uses: actions/checkout@v4
130+
- uses: actions/setup-node@v4
131+
with:
132+
node-version: 18.20.1
133+
cache: yarn
134+
cache-dependency-path: yarn.lock
135+
- name: Restore cached node_modules
136+
uses: actions/cache@v4
137+
id: node_modules
138+
with:
139+
path: "**/node_modules"
140+
key: ${{ runner.arch }}-${{ runner.os }}-modules-${{ hashFiles('yarn.lock') }}
141+
- run: yarn install --frozen-lockfile
142+
- run: yarn test ${{ matrix.params }} --ci=github --shard=${{ matrix.shard }}
143+
144+
# ----- BUILD -----
14145
build_and_lint:
15146
name: yarn build and lint
16147
runs-on: ubuntu-latest

.github/workflows/runtime_fizz.yml

Lines changed: 0 additions & 33 deletions
This file was deleted.

.github/workflows/runtime_flags.yml

Lines changed: 0 additions & 31 deletions
This file was deleted.

.github/workflows/runtime_flow.yml

Lines changed: 0 additions & 50 deletions
This file was deleted.

.github/workflows/runtime_test.yml

Lines changed: 0 additions & 60 deletions
This file was deleted.

0 commit comments

Comments
 (0)