Skip to content

ci: Split go-bedrock tests & use circle CI parallelism for op-e2e#3931

Merged
mergify[bot] merged 5 commits intodevelopfrom
jg/use_circle_parallel
Nov 9, 2022
Merged

ci: Split go-bedrock tests & use circle CI parallelism for op-e2e#3931
mergify[bot] merged 5 commits intodevelopfrom
jg/use_circle_parallel

Conversation

@trianglesphere
Copy link
Copy Markdown
Contributor

@trianglesphere trianglesphere commented Nov 8, 2022

Description

This first splits up the go-bedrock job into smaller more discrete jobs to ensure that we are using the same linters & test runner options for all packages. This also improves performance by parallelizing trivially paralleliziable jobs.

The second big change is to use circlci tests split to enable parallelism in CI instead of using t.Parallel. It is configured with an env var so tests will remain fast with local development, but we cannot use t.Parallel in CI because gotestsum currently does not do a good job of reporting the specific test that failed (because of the interleaved output) and instead reports multiple tests as failing when there is only one that failed. This improves the experience of using CI and debugging failed tests.

The last change is to add and option to disable colored logs in the testlogger. Somewhere in the reporting pipeline the color escape codes are getting mangled & the logs are significantly harder to read because of the colors.

To retain compatibility with github required checks, all of the new go jobs feed into bedrock-go-tests which will simply return true if all of it's required jobs succeed.

Metadata

  • Fixes ENG-3007
  • Fixes ENG-2999

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Nov 8, 2022

⚠️ No Changeset found

Latest commit: 69b6e79

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@trianglesphere trianglesphere force-pushed the jg/use_circle_parallel branch 27 times, most recently from 2e2d7c3 to bd29c25 Compare November 9, 2022 19:54
@trianglesphere trianglesphere changed the title Jg/use circle parallel ci: Split go-bedrock tests & use circle CI parallelism for op-e2e Nov 9, 2022
@trianglesphere trianglesphere marked this pull request as ready for review November 9, 2022 20:27
Adding OP_E2E_DISABLE_PARALLEL=true will stop the tests from using go's
built in parallel helper. By default the tests will use go's parallel helper.
@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Nov 9, 2022

This PR has been added to the merge queue, and will be merged soon.

@mergify mergify bot merged commit f47c670 into develop Nov 9, 2022
@mergify mergify bot deleted the jg/use_circle_parallel branch November 9, 2022 23:21
@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Nov 9, 2022

This PR is next in line to be merged, and will be merged as soon as checks pass.

@mergify mergify bot removed the on-merge-train label Nov 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants