-
Notifications
You must be signed in to change notification settings - Fork 839
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
[INFRA] Parallelize Buildkite test
job, take 2
#7209
Changes from all commits
1d24b58
f5442c7
69fd82c
2fb5747
0902f9a
7967c91
3c4493c
4d04d63
d2a29f4
2818174
779c584
09fe4e8
7b7983c
d838ce1
fc5da1c
50211d8
25d581f
8be998c
3c73d8a
be2d304
1846d1c
30ce21d
0c391c4
fc16b78
7ffdcad
ba2bd12
bd40d77
e4038a6
a428c5b
b2801ac
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 |
---|---|---|
@@ -1,9 +1,72 @@ | ||
# 🏠/.buildkite/pipelines/pipeline_pull_request_test.yml | ||
|
||
steps: | ||
- agents: | ||
- command: .buildkite/scripts/pipeline_test.sh | ||
label: ":typescript: Linting" | ||
agents: | ||
provider: "gcp" | ||
command: .buildkite/scripts/pipeline_test.sh | ||
if: build.branch != "main" # We're skipping testing commits in main for now to maintain parity with previous Jenkins setup | ||
env: | ||
TEST_TYPE: 'lint' | ||
if: build.branch != "main" # This job is triggered by the combined test and deploy docs for every PR | ||
|
||
- command: .buildkite/scripts/pipeline_test.sh | ||
label: ":jest: TS unit tests" | ||
agents: | ||
provider: "gcp" | ||
env: | ||
TEST_TYPE: 'unit:ts' | ||
if: build.branch != "main" | ||
|
||
- command: .buildkite/scripts/pipeline_test.sh | ||
label: ":jest: TSX unit tests on React 16" | ||
agents: | ||
provider: "gcp" | ||
env: | ||
TEST_TYPE: 'unit:tsx:16' | ||
if: build.branch != "main" | ||
|
||
- command: .buildkite/scripts/pipeline_test.sh | ||
label: ":jest: TSX unit tests on React 17" | ||
agents: | ||
provider: "gcp" | ||
env: | ||
TEST_TYPE: 'unit:tsx:17' | ||
if: build.branch != "main" | ||
|
||
- command: .buildkite/scripts/pipeline_test.sh | ||
label: ":jest: TSX unit tests on React 18" | ||
agents: | ||
provider: "gcp" | ||
env: | ||
TEST_TYPE: 'unit:tsx' | ||
if: build.branch != "main" | ||
|
||
- command: .buildkite/scripts/pipeline_test.sh | ||
label: ":cypress: Cypress tests on React 16" | ||
agents: | ||
provider: "gcp" | ||
env: | ||
TEST_TYPE: 'cypress:16' | ||
if: build.branch != "main" | ||
artifact_paths: | ||
- "cypress/screenshots/**/*.png" | ||
|
||
- command: .buildkite/scripts/pipeline_test.sh | ||
label: ":cypress: Cypress tests on React 17" | ||
agents: | ||
provider: "gcp" | ||
env: | ||
TEST_TYPE: 'cypress:17' | ||
if: build.branch != "main" | ||
artifact_paths: | ||
- "cypress/screenshots/**/*.png" | ||
|
||
- command: .buildkite/scripts/pipeline_test.sh | ||
label: ":cypress: Cypress tests on React 18" | ||
agents: | ||
provider: "gcp" | ||
env: | ||
TEST_TYPE: 'cypress:18' | ||
if: build.branch != "main" | ||
artifact_paths: | ||
- "cypress/screenshots/**/*.png" |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,8 +11,10 @@ if (process.env.REACT_VERSION === '18') { | |
// is not configured to support act()" errors for now | ||
// TODO: Remove when enzyme tests are replaced with RTL | ||
global.IS_REACT_ACT_ENVIRONMENT = true; | ||
} else { | ||
} else if (process.env.REACT_VERSION === '17') { | ||
Adapter = require('@wojtekmaj/enzyme-adapter-react-17'); | ||
} else { | ||
Adapter = require('enzyme-adapter-react-16'); | ||
Comment on lines
+16
to
+17
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. Just curious, what tests were failing when this wasn't being used? 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. A large number of unit tests were failing, over a third, spread across multiple suites. |
||
} | ||
|
||
configure({ adapter: new Adapter() }); |
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.
Once this PR merges, I want to find a way to build our Docker image once, and use a cached version for each
command
step. This works, but is downloading the Docker image multiple times so it's not as efficient as it could be.I'm looking at a couple of options for building a safe cached Docker container that could be possibilities after I reduce the image complexity (Puppeteer user and associated libs).