-
Notifications
You must be signed in to change notification settings - Fork 46.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ci] Add yarn_test_build job to gh actions #30072
Changes from all commits
806db82
f106958
f753d17
5c3640e
8f9c026
06a526c
8a897de
6160690
d7249de
e485044
8d357ee
37c33c5
67b7d44
0929e18
076327c
cd878f1
1494686
64e82c5
cefa13e
6cb4dac
f75c82b
fcd411f
a9561f4
d4b354c
74abad5
b6ff5cd
f7baa44
f24ccbf
e63e491
3762c79
67c669b
ea9de6e
0e1e97c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -53,6 +53,66 @@ jobs: | |
path: | | ||
build | ||
|
||
test_build: | ||
name: yarn test-build | ||
needs: build_and_lint | ||
strategy: | ||
matrix: | ||
test_params: [ | ||
# Intentionally passing these as strings instead of creating a | ||
# separate parameter per CLI argument, since it's easier to | ||
# control/see which combinations we want to run. | ||
-r=stable --env=development, | ||
-r=stable --env=production, | ||
-r=experimental --env=development, | ||
-r=experimental --env=production, | ||
|
||
# Dev Tools | ||
--project=devtools -r=experimental, | ||
|
||
# TODO: Update test config to support www build tests | ||
# - "-r=www-classic --env=development --variant=false" | ||
# - "-r=www-classic --env=production --variant=false" | ||
# - "-r=www-classic --env=development --variant=true" | ||
# - "-r=www-classic --env=production --variant=true" | ||
# - "-r=www-modern --env=development --variant=false" | ||
# - "-r=www-modern --env=production --variant=false" | ||
# - "-r=www-modern --env=development --variant=true" | ||
# - "-r=www-modern --env=production --variant=true" | ||
|
||
# TODO: Update test config to support xplat build tests | ||
# - "-r=xplat --env=development --variant=false" | ||
# - "-r=xplat --env=development --variant=true" | ||
# - "-r=xplat --env=production --variant=false" | ||
# - "-r=xplat --env=production --variant=true" | ||
|
||
# TODO: Test more persistent configurations? | ||
] | ||
continue-on-error: true | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-node@v4 | ||
with: | ||
node-version: 18.20.1 | ||
cache: yarn | ||
cache-dependency-path: yarn.lock | ||
- name: Restore cached node_modules | ||
uses: actions/cache@v4 | ||
id: node_modules | ||
with: | ||
path: "**/node_modules" | ||
key: ${{ runner.arch }}-${{ runner.os }}-modules-${{ hashFiles('yarn.lock') }} | ||
- run: yarn install --frozen-lockfile | ||
- name: Restore archived build | ||
uses: actions/download-artifact@v4 | ||
with: | ||
path: build | ||
merge-multiple: true | ||
- name: Display structure of build | ||
run: ls -R build | ||
- run: yarn test --build ${{ matrix.test_params }} --ci=github | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does this parallelize by default? If not, should we? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It is parallelized, it uses the matrix defined above and creates a CI worker for each value in the matrix |
||
|
||
process_artifacts_combined: | ||
name: Process artifacts combined | ||
needs: build_and_lint | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
copied from circleci config