Uses the parallel_tests gem to execute tests in multiple processes
simultaneously on the same machine.
Adds the `--parallel` CLI option that instructs the QA framework
to use the parallel_tests executable.
Tests need access to global state contained in `Runtime::Scenario`
so when `--parallel` is invoked `Runtime::Scenario` is serialized
to an environment variable, which is passed to parallel_tests,
and then deserialized in `spec_helper`.
Add knapsack qa report and use it to run tests in parallel
Use the RSpec runner with knapsack
The way the Knapsack runner uses exec to start rspec seems
incompatible with the way we expect it to work. Plus, it requires
specifying KNAPSACK_TEST_DIR.
Instead, we use knapsacks AllocatorBuilder to select the spec
files to run, and then start rspec as normal, via
RSpec::Core::Runner.run
This also means we can incorporate tags.
Let the job run automatically
Include KNAPSACK_TEST_FILE_PATTERN in vars
Check all defined knapsack env vars before requiring knapsack
This will allow developers to run `bundle install` on both directories
and avoid additional calls to RubyGems for local development. Also sets
up the possibility of improved caching as mentioned in
https://gitlab.com/gitlab-org/gitlab-ce/issues/55843.
* upstream/master: (106 commits)
Remove callback as we already update accordingly on services
added missing imports
correctly imports performance bar
Added imports for dispatcher routes
Make the exposing of the Application secret more explicit
Add documentation about when the application API was added
Add application create API
Return a blank JSON response for a missing .js file to prevent Rails CSRF errors
add CHANGELOG.md entry for !15804
disable CopyAsGFM on iOS due to bug in webkit
Update changelog
GitalyClient::ConflictsService#conflicts? should return true for conflicts with missing side
Return more consistent values for merge_status on MR API
Fix a migration spec messing up the MergeRequestDiff DB schema
Backport changes to Gitlab::Checks::ChangeAccess from EE
remove webpack bundle tag for monitoring:environments:metrics
Set timezone for karma to UTC
Upgrade jasmine + raven to newer versions
Ensure Gitaly Ruby gems are installed using the correct Gemfile and at the correct location
Clarify that a feature that isn't in review by the 1st or 3rd doesn't necessarily miss the freeze
...