Skip to content

Commit

Permalink
[ci] Add yarn_test_build job to gh actions
Browse files Browse the repository at this point in the history
ghstack-source-id: 8fba65fbc40ca07fc629d39adfb487d37e0b4244
Pull Request resolved: #30072
  • Loading branch information
poteto committed Jun 24, 2024
1 parent ed968aa commit b21b742
Show file tree
Hide file tree
Showing 4 changed files with 75 additions and 23 deletions.
76 changes: 71 additions & 5 deletions .github/workflows/runtime_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
id: define_release_channels
with:
script: |
return ['stable', 'experimental'];
return ["stable", "experimental"];
build:
name: yarn build
Expand All @@ -51,12 +51,14 @@ jobs:
key: ${{ runner.arch }}-${{ runner.os }}-modules-${{ hashFiles('yarn.lock') }}
- run: yarn install --frozen-lockfile
- run: yarn build --b=${{ matrix.bundle_type }} --r=${{ matrix.release_channel }} --ci=github
- name: Display structure of build
run: ls -R build
- name: Archive build
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.bundle_type }}-${{ matrix.release_channel }}
name: ${{ matrix.bundle_type }}_${{ matrix.release_channel }}
path: |
build/**
build
lint_build:
name: yarn lint-build
Expand All @@ -65,6 +67,7 @@ jobs:
matrix:
bundle_type: ${{ fromJSON(needs.define_build_params.outputs.bundle_type) }}
release_channel: ${{ fromJSON(needs.define_build_params.outputs.release_channel) }}
continue-on-error: true
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand All @@ -79,9 +82,72 @@ jobs:
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:
name: ${{ matrix.bundle_type }}-${{ matrix.release_channel }}
- run: yarn install --frozen-lockfile
name: ${{ matrix.bundle_type }}_${{ matrix.release_channel }}
path: build
- name: Display structure of build
run: ls -R build
- run: yarn lint-build

test_build:
name: yarn test-build
needs: build
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.x
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-temp
- name: Display structure of build
run: ls -R build
# - run: yarn test --build ${{ matrix.test_params }} --ci=github

Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ describe('StoreStressConcurrent', () => {
let store;
let print;

jest.setTimeout(15000);

beforeEach(() => {
global.IS_REACT_ACT_ENVIRONMENT = true;

Expand Down
16 changes: 1 addition & 15 deletions packages/shared/ReactVersion.js
Original file line number Diff line number Diff line change
@@ -1,15 +1 @@
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/

// TODO: this is special because it gets imported during build.
//
// It exists as a placeholder so that DevTools can support work tag changes between releases.
// When we next publish a release, update the matching TODO in backend/renderer.js
// TODO: This module is used both by the release scripts and to expose a version
// at runtime. We should instead inject the version number as part of the build
// process, and use the ReactVersions.js module as the single source of truth.
export default '19.0.0';
export default '19.0.0-rc-3a600d54b3-20240624';
4 changes: 1 addition & 3 deletions scripts/rollup/build-ghaction.js
Original file line number Diff line number Diff line change
Expand Up @@ -846,9 +846,7 @@ async function buildEverything(bundleTypeToBuild) {
);

await Promise.all(
bundles.map(([bundle, bundleType]) => {
return createBundle(bundle, bundleType);
})
bundles.map(([bundle, bundleType]) => createBundle(bundle, bundleType))
);

await Packaging.copyAllShims();
Expand Down

0 comments on commit b21b742

Please sign in to comment.