Skip to content
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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

馃彈 Matrixify Experiment Build/Tests on CircleCI #32932

Merged
merged 2 commits into from
Feb 26, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
98 changes: 29 additions & 69 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -239,74 +239,38 @@ jobs:
name: 'Performance Tests'
command: node build-system/pr-check/performance-tests.js
- fail_fast
'Experiment A Build':
'Experiment Build':
executor:
name: amphtml-xlarge-executor
parameters:
exp:
description: 'Which of the three (A/B/C) experiments to use'
type: enum
enum: ['A', 'B', 'C']
steps:
- setup_vm
- run:
name: 'Experiment A Build'
command: node build-system/pr-check/experiment-build.js --experiment=experimentA
- fail_fast
'Experiment B Build':
executor:
name: amphtml-xlarge-executor
steps:
- setup_vm
- run:
name: 'Experiment B Build'
command: node build-system/pr-check/experiment-build.js --experiment=experimentB
- fail_fast
'Experiment C Build':
executor:
name: amphtml-xlarge-executor
steps:
- setup_vm
- run:
name: 'Experiment C Build'
command: node build-system/pr-check/experiment-build.js --experiment=experimentC
- fail_fast
'Experiment A Tests':
executor:
name: amphtml-large-executor
steps:
- setup_vm
- install_chrome
- restore_karma_cache:
cache_name: experimentA
- run:
name: 'Experiment A Tests'
command: node build-system/pr-check/experiment-tests.js --experiment=experimentA
- save_karma_cache:
cache_name: experimentA
- fail_fast
'Experiment B Tests':
executor:
name: amphtml-large-executor
steps:
- setup_vm
- install_chrome
- restore_karma_cache:
cache_name: experimentB
- run:
name: 'Experiment B Tests'
command: node build-system/pr-check/experiment-tests.js --experiment=experimentB
- save_karma_cache:
cache_name: experimentB
name: 'Experiment << parameters.exp >> Build'
command: node build-system/pr-check/experiment-build.js --experiment=experiment<< parameters.exp >>
- fail_fast
'Experiment C Tests':
'Experiment Tests':
executor:
name: amphtml-large-executor
parameters:
exp:
description: 'Which of the three (A/B/C) experiments to use'
type: enum
enum: ['A', 'B', 'C']
steps:
- setup_vm
- install_chrome
- restore_karma_cache:
cache_name: experimentC
cache_name: experiment<< parameters.exp >>
- run:
name: 'Experiment C Tests'
command: node build-system/pr-check/experiment-tests.js --experiment=experimentC
name: 'Experiment << parameters.exp >> Tests'
command: node build-system/pr-check/experiment-tests.js --experiment=experiment<< parameters.exp >>
- save_karma_cache:
cache_name: experimentC
cache_name: experiment<< parameters.exp >>
- fail_fast

workflows:
Expand Down Expand Up @@ -358,24 +322,20 @@ workflows:
<<: *push_and_pr_builds
requires:
- 'Nomodule Build'
- 'Experiment A Build':
<<: *push_and_pr_builds
- 'Experiment B Build':
<<: *push_and_pr_builds
- 'Experiment C Build':
<<: *push_and_pr_builds
- 'Experiment A Tests':
<<: *push_and_pr_builds
requires:
- 'Experiment A Build'
- 'Experiment B Tests':
- 'Experiment Build':
name: 'Experiment << matrix.exp >> Build'
matrix:
parameters:
exp: ['A', 'B', 'C']
<<: *push_and_pr_builds
requires:
- 'Experiment B Build'
- 'Experiment C Tests':
- 'Experiment Tests':
name: 'Experiment << matrix.exp >> Tests'
matrix:
parameters:
exp: ['A', 'B', 'C']
<<: *push_and_pr_builds
requires:
- 'Experiment C Build'
- 'Experiment << matrix.exp >> Build'
# TODO(wg-performance, #12128): This takes 30 mins and fails regularly.
# - 'Performance Tests':
# <<: *push_builds_only
Expand Down