mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-13 19:54:02 +00:00
Use knapsack to parallelize tests
...in order to reduce TravisCI runtimes
This commit is contained in:
parent
03ef28e74d
commit
dd0a52cca9
8 changed files with 136 additions and 3 deletions
|
|
@ -26,7 +26,14 @@ before_script:
|
|||
script:
|
||||
- "./travis_script.sh $TEST_SUITE"
|
||||
env:
|
||||
global:
|
||||
- CI_NODE_TOTAL=4
|
||||
- TEST_SUITE=rspec
|
||||
matrix:
|
||||
- TEST_SUITE=linters
|
||||
- CI_NODE_INDEX=0
|
||||
- CI_NODE_INDEX=1
|
||||
- CI_NODE_INDEX=2
|
||||
- CI_NODE_INDEX=3
|
||||
matrix:
|
||||
fast_finish: true
|
||||
|
|
|
|||
|
|
@ -86,6 +86,8 @@ We are using [rspec](http://rspec.info/)+[capybara](http://teamcapybara.github.i
|
|||
|
||||
```shell
|
||||
vagrant exec bundle exec rspec
|
||||
# or, in parallel
|
||||
vagrant exec bundle exec rake knapsack:rspec
|
||||
```
|
||||
|
||||
### Email Notifications
|
||||
|
|
|
|||
2
Gemfile
2
Gemfile
|
|
@ -265,6 +265,8 @@ group :test do
|
|||
gem 'rails-controller-testing'
|
||||
# For managing the environment
|
||||
gem 'climate_control'
|
||||
# parallel tests
|
||||
gem 'knapsack'
|
||||
end
|
||||
|
||||
group :development, :test do
|
||||
|
|
|
|||
|
|
@ -246,6 +246,8 @@ GEM
|
|||
json-schema (2.5.0)
|
||||
addressable (~> 2.3)
|
||||
jwt (1.0.0)
|
||||
knapsack (1.16.0)
|
||||
rake
|
||||
launchy (2.4.2)
|
||||
addressable (~> 2.3)
|
||||
leaflet-rails (0.7.4)
|
||||
|
|
@ -619,6 +621,7 @@ DEPENDENCIES
|
|||
jquery-rails
|
||||
jquery-ui-rails (~> 4.2.1)
|
||||
json-schema
|
||||
knapsack
|
||||
leaflet-rails
|
||||
letter_opener
|
||||
letter_opener_web
|
||||
|
|
|
|||
2
Rakefile
2
Rakefile
|
|
@ -5,3 +5,5 @@
|
|||
require File.expand_path('../config/application', __FILE__)
|
||||
|
||||
Osem::Application.load_tasks
|
||||
|
||||
Knapsack.load_tasks if defined?(Knapsack)
|
||||
|
|
|
|||
115
knapsack_rspec_report.json
Normal file
115
knapsack_rspec_report.json
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
{
|
||||
"spec/models/registration_spec.rb": 3.216578483581543,
|
||||
"spec/controllers/admin/ticket_scannings_controller_spec.rb": 0.5347998142242432,
|
||||
"spec/controllers/api/v1/speakers_controller_spec.rb": 0.883955717086792,
|
||||
"spec/models/cfp_spec.rb": 1.714848518371582,
|
||||
"spec/features/versions_spec.rb": 56.760108947753906,
|
||||
"spec/features/organizer_ability_spec.rb": 10.754348516464233,
|
||||
"spec/features/organization_spec.rb": 4.349282264709473,
|
||||
"spec/models/ability_spec.rb": 39.79845595359802,
|
||||
"spec/features/sponsor_spec.rb": 2.3821427822113037,
|
||||
"spec/features/commercials_spec.rb": 11.096951484680176,
|
||||
"spec/helpers/date_time_helper_spec.rb": 0.008153438568115234,
|
||||
"spec/models/ticket_spec.rb": 2.12540340423584,
|
||||
"spec/features/registration_periods_spec.rb": 1.8566482067108154,
|
||||
"spec/controllers/admin/booths_controller_spec.rb": 2.1381421089172363,
|
||||
"spec/features/rooms_spec.rb": 3.3080310821533203,
|
||||
"spec/models/schedule_spec.rb": 0.0045070648193359375,
|
||||
"spec/features/event_types_spec.rb": 0.76450514793396,
|
||||
"spec/models/conference_spec.rb": 20.320730209350586,
|
||||
"spec/models/track_spec.rb": 13.991943836212158,
|
||||
"spec/controllers/conference_registration_controller_spec.rb": 13.657230854034424,
|
||||
"spec/controllers/users_controller_spec.rb": 0.39937448501586914,
|
||||
"spec/models/payment_spec.rb": 1.2693791389465332,
|
||||
"spec/helpers/format_helper_spec.rb": 0.0015518665313720703,
|
||||
"spec/controllers/physical_ticket_controller_spec.rb": 0.14853787422180176,
|
||||
"spec/models/program_spec.rb": 5.236976623535156,
|
||||
"spec/controllers/admin/roles_controller_spec.rb": 1.2742409706115723,
|
||||
"spec/serializers/room_serializer_spec.rb": 0.005628347396850586,
|
||||
"spec/controllers/conferences_controller_spec.rb": 0.3906528949737549,
|
||||
"spec/features/conference_registration_spec.rb": 4.902153015136719,
|
||||
"spec/features/campaign_spec.rb": 2.423008918762207,
|
||||
"spec/models/ticket_scanning_spec.rb": 0.09727764129638672,
|
||||
"spec/controllers/booths_controller_spec.rb": 1.8176827430725098,
|
||||
"spec/models/ticket_purchase_spec.rb": 0.756523609161377,
|
||||
"spec/models/sponsor_spec.rb": 0.06131911277770996,
|
||||
"spec/features/code_of_conduct_spec.rb": 6.754149675369263,
|
||||
"spec/features/roles_spec.rb": 11.51219367980957,
|
||||
"spec/models/admin_ability_spec.rb": 651.1406934261322,
|
||||
"spec/controllers/application_controller_spec.rb": 0.16449427604675293,
|
||||
"spec/helpers/users_helper_spec.rb": 0.0009031295776367188,
|
||||
"spec/features/splashpage_spec.rb": 6.503351926803589,
|
||||
"spec/features/cfp_spec.rb": 4.385206699371338,
|
||||
"spec/models/role_spec.rb": 0.14975929260253906,
|
||||
"spec/features/organization_admin_ability_spec.rb": 8.570372819900513,
|
||||
"spec/models/campaign_spec.rb": 0.49747681617736816,
|
||||
"spec/features/ticket_purchases_spec.rb": 8.775394678115845,
|
||||
"spec/features/email_spec.rb": 1.8525207042694092,
|
||||
"spec/models/physical_ticket_spec.rb": 0.06188058853149414,
|
||||
"spec/helpers/conference_helper_spec.rb": 0.35794544219970703,
|
||||
"spec/features/base_controller_spec.rb": 1.0507938861846924,
|
||||
"spec/features/omniauth_spec.rb": 1.9456074237823486,
|
||||
"spec/features/track_organizer_ability_spec.rb": 7.0157434940338135,
|
||||
"spec/features/proposals_spec.rb": 10.35005784034729,
|
||||
"spec/serializers/conference_serializer_spec.rb": 0.11621999740600586,
|
||||
"spec/models/comment_spec.rb": 0.011961221694946289,
|
||||
"spec/features/cfp_ability_spec.rb": 8.337608337402344,
|
||||
"spec/controllers/api/v1/events_controller_spec.rb": 0.7122371196746826,
|
||||
"spec/serializers/track_serializer_spec.rb": 0.059462785720825195,
|
||||
"spec/controllers/schedules_controller_spec.rb": 0.6626288890838623,
|
||||
"spec/controllers/admin/events_controller_spec.rb": 0.2272028923034668,
|
||||
"spec/models/email_settings_spec.rb": 0.5617916584014893,
|
||||
"spec/controllers/admin/event_schedules_controller_spec.rb": 2.14667010307312,
|
||||
"spec/models/registration_period_spec.rb": 0.5143365859985352,
|
||||
"spec/models/event_spec.rb": 8.104061126708984,
|
||||
"spec/controllers/admin/tracks_controller_spec.rb": 8.185055017471313,
|
||||
"spec/models/booth_spec.rb": 7.238089084625244,
|
||||
"spec/features/tracks_spec.rb": 15.051470518112183,
|
||||
"spec/controllers/admin/organizations_controller_spec.rb": 0.7151005268096924,
|
||||
"spec/features/program_spec.rb": 1.6030263900756836,
|
||||
"spec/models/commercial_spec.rb": 0.006638050079345703,
|
||||
"spec/routing/routing_spec.rb": 0.0017058849334716797,
|
||||
"spec/controllers/tracks_controller_spec.rb": 3.0302350521087646,
|
||||
"spec/controllers/admin/rooms_controller_spec.rb": 1.7850117683410645,
|
||||
"spec/models/resource_spec.rb": 0.11144089698791504,
|
||||
"spec/helpers/application_helper_spec.rb": 2.7778303623199463,
|
||||
"spec/controllers/api/v1/rooms_controller_spec.rb": 0.1207578182220459,
|
||||
"spec/features/tickets_spec.rb": 7.62256646156311,
|
||||
"spec/models/target_spec.rb": 0.7310116291046143,
|
||||
"spec/helpers/events_helper_spec.rb": 3.576235294342041,
|
||||
"spec/models/room_spec.rb": 0.046385765075683594,
|
||||
"spec/features/difficulty_levels_spec.rb": 3.0397679805755615,
|
||||
"spec/models/event_schedule_spec.rb": 1.4522051811218262,
|
||||
"spec/features/user_ability_spec.rb": 0.28156256675720215,
|
||||
"spec/controllers/admin/conferences_controller_spec.rb": 5.404377222061157,
|
||||
"spec/features/venues_spec.rb": 0.7081923484802246,
|
||||
"spec/controllers/users/omniauth_callbacks_controller_spec.rb": 0.0032668113708496094,
|
||||
"spec/controllers/api/v1/tracks_controller_spec.rb": 0.21274399757385254,
|
||||
"spec/controllers/subscriptions_controller_spec.rb": 0.3864889144897461,
|
||||
"spec/controllers/admin/sponsorship_levels_controller_spec.rb": 1.7902915477752686,
|
||||
"spec/controllers/admin/targets_controller_spec.rb": 1.651890754699707,
|
||||
"spec/features/contact_spec.rb": 1.39925217628479,
|
||||
"spec/controllers/admin/schedules_controller_spec.rb": 0.5556893348693848,
|
||||
"spec/serializers/event_serializer_spec.rb": 0.2761070728302002,
|
||||
"spec/controllers/admin/programs_controller_spec.rb": 0.12646102905273438,
|
||||
"spec/controllers/admin/versions_controller_spec.rb": 1.8679115772247314,
|
||||
"spec/models/user_spec.rb": 2.361865997314453,
|
||||
"spec/controllers/admin/users_controller_spec.rb": 0.5107555389404297,
|
||||
"spec/models/organization_spec.rb": 0.0039217472076416016,
|
||||
"spec/controllers/confirmations_controller_spec.rb": 0.05090951919555664,
|
||||
"spec/controllers/admin/comments_controller_spec.rb": 0.5595676898956299,
|
||||
"spec/models/event_type_spec.rb": 0.17554306983947754,
|
||||
"spec/features/lodgings_spec.rb": 6.616101264953613,
|
||||
"spec/controllers/organizations_controller_spec.rb": 0.967041015625,
|
||||
"spec/models/sponsorship_level_spec.rb": 0.18370461463928223,
|
||||
"spec/controllers/proposals_controller_spec.rb": 8.728510618209839,
|
||||
"spec/mailers/mailbot_spec.rb": 1.2736093997955322,
|
||||
"spec/features/resource_spec.rb": 0.9196040630340576,
|
||||
"spec/features/info_desk_ability_spec.rb": 5.8393683433532715,
|
||||
"spec/features/sponsorship_level_spec.rb": 2.8623433113098145,
|
||||
"spec/features/conference_spec.rb": 4.4298248291015625,
|
||||
"spec/controllers/api/v1/conferences_controller_spec.rb": 0.6067855358123779,
|
||||
"spec/serializers/speaker_serializer_spec.rb": 0.02062392234802246,
|
||||
"spec/features/volunteers_spec.rb": 3.3659849166870117,
|
||||
"spec/controllers/admin/registration_periods_controller_spec.rb": 1.344085693359375
|
||||
}
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
# This file is copied to spec/ when you run 'rails generate rspec:install'
|
||||
require 'knapsack'
|
||||
require 'simplecov'
|
||||
|
||||
if ENV['TRAVIS']
|
||||
|
|
@ -102,3 +103,4 @@ RSpec.configure do |config|
|
|||
end
|
||||
|
||||
OmniAuth.config.test_mode = true
|
||||
Knapsack::Adapters::RSpecAdapter.bind
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ case $TEST_SUITE in
|
|||
bundle exec haml-lint app/views
|
||||
;;
|
||||
rspec)
|
||||
bundle exec rspec --color --format documentation
|
||||
bundle exec rake "knapsack:rspec[--color --format documentation]"
|
||||
;;
|
||||
*)
|
||||
bundle exec rubocop -Dc .rubocop.yml
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue