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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CI] Add tests for app_type in integrations #616

Merged
merged 27 commits into from
Aug 14, 2020
Merged

Conversation

imjoehaines
Copy link
Contributor

@imjoehaines imjoehaines commented Jul 28, 2020

Goal

This is #532 brought up to date with the new Maze Runner tests added to Buildkite

There is still some future work to add missing integrations and in-Rails integrations:

Further fixtures to be added include Resque, Shoryuken, and in-rails-app Resque, Que, Delayed-job, Rake, & Mailman

I've changed up the concurrency in the Buildkite pipeline because so many new tests are added. There are now three concurrency groups:

  1. unit tests
  2. slow Maze Runner tests ("plain" Ruby tests and Rails tests)
  3. tests for the integrations

The integrations and unit tests are limited to 4 concurrent builds, which doesn't take too long as they only take ~1-2 minutes each. The slow tests are limited to 8 concurrent builds, which was the limit before this PR

For about 10-15 minutes we can run up to 16 concurrent builds, which might be too many (?) but after that the integrations and unit tests finish, leaving only the 8 "slow" builds to finish. I think this is OK as we only block builds in other repos with the increased concurrency for 1-2 minutes at a time, but we can tweak it further if necessary (e.g. merging the integrations and unit tests would leave a maximum of 12 builds and might not prolong the total build time)

@imjoehaines imjoehaines marked this pull request as ready for review July 28, 2020 13:39
@imjoehaines imjoehaines requested a review from Cawllec July 28, 2020 13:40
@imjoehaines imjoehaines force-pushed the app-type-tests branch 2 times, most recently from 96bfd22 to fc742d8 Compare August 13, 2020 09:58
Cawllec and others added 23 commits August 13, 2020 10:59
These run the lowest Ruby version and highest Ruby version to avoid
taking too much time
This still runs more builds at once than before because there are
4 concurrency groups which run 4 concurrent builds (12 total),
whereas there was only 1 concurrency group which ran 8 builds

I think this is OK because the integrations and unit tests run in
~1-2 minutes each, so the extra builds shouldn't be around for long

The "plain" tests and Rails tests take the longest and are limited
to the same concurrency as before so the impact of this change
on other pipelines should be minor
With how slow the rails tests are these should run before those finish
as they are in separate concurrency groups, which means the total
build time won't increase
@imjoehaines imjoehaines merged commit 01c7f8d into master Aug 14, 2020
@imjoehaines imjoehaines deleted the app-type-tests branch August 14, 2020 14:39
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.

2 participants