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

WIP - Parallelize CI, update run-int task #344

Merged
merged 2 commits into from
May 24, 2018
Merged

Conversation

Temikus
Copy link
Member

@Temikus Temikus commented May 23, 2018

  • Parallelising our CI, pipeline will now be running jobs in parallel and look something like this:

screen shot 2018-05-23 at 13 52 44

, allowing to get the results for relevant sections ASAP and compartmentalising test so they can be rerun if needed (in case of underlying API flakiness or collisions).

  • Added separate test tasks for each section of fog for quicker testing:
rake test               # Run all integration tests
rake test:parallel      # Run all integration tests in parallel

rake test:compute       # Run Compute API tests
rake test:monitoring    # Run Monitoring API tests
rake test:pubsub        # Run PubSub API tests
rake test:sql           # Run SQL API tests
rake test:storage       # Run Storage API tests
  • Added a rake test:parallel task, which has about 3X performance with a caveat of ugly (but useful) output.

@icco FYI - this should improve our testing situation somewhat.

- Break up test tasks by domain
- Parallelize CI pipeline for faster tests
tasks/test.rake Outdated
'test:monitoring',
'test:pubsub',
'test:sql',
'test:storage']

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style/StringLiterals: Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.

tasks/test.rake Outdated
multitask :parallel => ['test:compute',
'test:monitoring',
'test:pubsub',
'test:sql',

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style/StringLiterals: Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.

tasks/test.rake Outdated
desc "Test everything in parallel"
multitask :parallel => ['test:compute',
'test:monitoring',
'test:pubsub',

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style/StringLiterals: Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.

tasks/test.rake Outdated
namespace :test do
mock = ENV["FOG_MOCK"] || "true"
task :travis do
sh("export FOG_MOCK=#{mock} && bundle exec shindont")
end

desc "Test everything in parallel"
multitask :parallel => ['test:compute',
'test:monitoring',

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style/StringLiterals: Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.

tasks/test.rake Outdated
namespace :test do
mock = ENV["FOG_MOCK"] || "true"
task :travis do
sh("export FOG_MOCK=#{mock} && bundle exec shindont")
end

desc "Test everything in parallel"
multitask :parallel => ['test:compute',

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style/StringLiterals: Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.

@Temikus Temikus force-pushed the update_ci branch 2 times, most recently from f985b8e to 4376fa6 Compare May 24, 2018 03:35
tasks/test.rake Outdated
"test:pubsub",
"test:sql",
"test:storage"]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Layout/TrailingWhitespace: Trailing whitespace detected.

Overall looks like a 3X speed improvement with a small caveat of
slightly broken but useful output.

Invoke with `rake test:parallel`
@Temikus
Copy link
Member Author

Temikus commented May 24, 2018

I'll merge this so I can benefit from it in the SQL branch.

@Temikus Temikus merged commit 1c194b3 into fog:master May 24, 2018
@Temikus Temikus deleted the update_ci branch March 20, 2019 02:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants