Skip to content

Commit

Permalink
[ci] Try to parallelize devtools builds (#32266)
Browse files Browse the repository at this point in the history
Building DevTools is currently the long pole for the runtime CI job.
Let's see if we can get the overall runtime for runtime build and test
down by speeding this one step up.
---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/facebook/react/pull/32266).
* #32267
* __->__ #32266
  • Loading branch information
poteto authored Jan 30, 2025
1 parent 2fe5b57 commit 14f7c07
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 14 deletions.
18 changes: 8 additions & 10 deletions .github/workflows/runtime_build_and_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -501,6 +501,9 @@ jobs:
name: Build DevTools and process artifacts
needs: build_and_lint
runs-on: ubuntu-latest
strategy:
matrix:
browser: [chrome, firefox, edge]
steps:
- uses: actions/checkout@v4
with:
Expand All @@ -525,27 +528,22 @@ jobs:
pattern: _build_*
path: build
merge-multiple: true
- run: ./scripts/ci/pack_and_store_devtools_artifacts.sh
- run: ./scripts/ci/pack_and_store_devtools_artifacts.sh ${{ matrix.browser }}
env:
RELEASE_CHANNEL: experimental
- name: Display structure of build
run: ls -R build
- name: Archive devtools build
uses: actions/upload-artifact@v4
with:
name: react-devtools
name: react-devtools-${{ matrix.browser }}
path: build/devtools.tgz
# Simplifies getting the extension for local testing
- name: Archive chrome extension
uses: actions/upload-artifact@v4
with:
name: react-devtools-chrome-extension
path: build/devtools/chrome-extension.zip
- name: Archive firefox extension
- name: Archive ${{ matrix.browser }} extension
uses: actions/upload-artifact@v4
with:
name: react-devtools-firefox-extension
path: build/devtools/firefox-extension.zip
name: react-devtools-${{ matrix.browser }}-extension
path: build/devtools/${{ matrix.browser }}-extension.zip

run_devtools_e2e_tests:
name: Run DevTools e2e tests
Expand Down
14 changes: 10 additions & 4 deletions scripts/ci/pack_and_store_devtools_artifacts.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,16 @@ npm pack
mv ./react-devtools-inline*.tgz ../../build/devtools/

cd ../react-devtools-extensions
yarn build
mv ./chrome/build/ReactDevTools.zip ../../build/devtools/chrome-extension.zip
mv ./firefox/build/ReactDevTools.zip ../../build/devtools/firefox-extension.zip
if [[ -n "$1" ]]; then
yarn build:$1
mv ./$1/build/ReactDevTools.zip ../../build/devtools/$1-extension.zip
else
yarn build
for browser in chrome firefox edge; do
mv ./$browser/build/ReactDevTools.zip ../../build/devtools/$browser-extension.zip
done
fi

# Compress all DevTools artifacts into a single tarball for easy download
cd ../../build/devtools
tar -zcvf ../devtools.tgz .
tar -zcvf ../devtools.tgz .

0 comments on commit 14f7c07

Please sign in to comment.