[DevTools] Add CircleCI Chron Job For DevTools Regression Tests (#24601)
This PR adds an hourly chron job on Circle CI that runs regression tests on the most recent DevTools build for React v16.0, v16.5, v16.8 v17.0 and v18.0.
Luna Ruan committed
May 24, 2022 at 06:46 UTC
a2505792ed17fd4d7ddc69561053c3ac90899491
1 file changed
+49
.circleci/config.yml
+49
@@ -222,6 +222,25 @@ jobs:
222
RELEASE_CHANNEL: experimental
223
command: ./scripts/circleci/run_devtools_e2e_tests.js
224
225
+ run_devtools_tests_for_versions:
226
+ docker: *docker
227
+ environment: *environment
228
+ parallelism: *TEST_PARALLELISM
229
+ parameters:
230
+ version:
231
+ type: string
232
+ steps:
233
+ - checkout
234
+ - attach_workspace:
235
+ at: .
236
+ - run: yarn workspaces info | head -n -1 > workspace_info.txt
237
+ - *restore_node_modules
238
+ - run:
239
+ name: Install nested packages from Yarn cache
240
+ command: yarn --frozen-lockfile --cache-folder ~/.cache/yarn
241
+ - run: ./scripts/circleci/download_devtools_regression_build.js << parameters.version >>
242
+ - run: node ./scripts/jest/jest-cli.js --build --project devtools --release-channel=experimental --reactVersion << parameters.version >> --ci
243
+
244
yarn_lint_build:
245
docker: *docker
246
environment: *environment
@@ -494,6 +513,36 @@ workflows:
513
requires:
514
- setup
515
516
+ devtools_regression_tests:
517
+ unless: << pipeline.parameters.prerelease_commit_sha >>
518
+ triggers:
519
+ - schedule:
520
+ # DevTools regression tests run hourly
521
+ cron: "0 * * * *"
522
+ filters:
523
+ branches:
524
+ only:
525
+ - main
526
+ jobs:
527
+ - setup
528
+ - yarn_build_combined:
529
+ requires:
530
+ - setup
531
+ - build_devtools_and_process_artifacts:
532
+ requires:
533
+ - yarn_build_combined
534
+ - run_devtools_tests_for_versions:
535
+ requires:
536
+ - build_devtools_and_process_artifacts
537
+ matrix:
538
+ parameters:
539
+ version:
540
+ - "16.0"
541
+ - "16.5" # schedule package
542
+ - "16.8" # hooks
543
+ - "17.0"
544
+ - "18.0"
545
+
546
# Used to publish a prerelease manually via the command line
547
publish_preleases:
548
when: << pipeline.parameters.prerelease_commit_sha >>