Port travis_retry for CI (#7379)
* Port travis_retry for CI * Add license
This commit is contained in:
		
							parent
							
								
									39efc6d533
								
							
						
					
					
						commit
						8c35d163a5
					
				| @ -90,7 +90,7 @@ aliases: | ||||
|             command: ./bin/rails parallel:create parallel:load_schema parallel:prepare | ||||
|         - run: | ||||
|             name: Run Tests | ||||
|             command: bundle exec parallel_test ./spec/ --group-by filesize --type rspec | ||||
|             command: ./bin/retry bundle exec parallel_test ./spec/ --group-by filesize --type rspec | ||||
| 
 | ||||
| jobs: | ||||
|   install: | ||||
| @ -150,7 +150,7 @@ jobs: | ||||
|       - image: circleci/node:8.11.1-stretch | ||||
|     steps: | ||||
|       - *attach_workspace | ||||
|       - run: yarn test:jest | ||||
|       - run: ./bin/retry yarn test:jest | ||||
| 
 | ||||
|   check-i18n: | ||||
|     <<: *defaults | ||||
|  | ||||
							
								
								
									
										1
									
								
								Gemfile
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								Gemfile
									
									
									
									
									
								
							| @ -112,7 +112,6 @@ group :test do | ||||
|   gem 'microformats', '~> 4.0' | ||||
|   gem 'rails-controller-testing', '~> 1.0' | ||||
|   gem 'rspec-sidekiq', '~> 3.0' | ||||
|   gem 'rspec-retry', '~> 0.5', require: false | ||||
|   gem 'simplecov', '~> 0.16', require: false | ||||
|   gem 'webmock', '~> 3.3' | ||||
|   gem 'parallel_tests', '~> 2.21' | ||||
|  | ||||
| @ -501,8 +501,6 @@ GEM | ||||
|       rspec-expectations (~> 3.7.0) | ||||
|       rspec-mocks (~> 3.7.0) | ||||
|       rspec-support (~> 3.7.0) | ||||
|     rspec-retry (0.5.7) | ||||
|       rspec-core (> 3.3) | ||||
|     rspec-sidekiq (3.0.3) | ||||
|       rspec-core (~> 3.0, >= 3.0.0) | ||||
|       sidekiq (>= 2.4.0) | ||||
| @ -726,7 +724,6 @@ DEPENDENCIES | ||||
|   redis-rails (~> 5.0) | ||||
|   rqrcode (~> 0.10) | ||||
|   rspec-rails (~> 3.7) | ||||
|   rspec-retry (~> 0.5) | ||||
|   rspec-sidekiq (~> 3.0) | ||||
|   rubocop (~> 0.55) | ||||
|   ruby-progressbar (~> 1.4) | ||||
|  | ||||
							
								
								
									
										46
									
								
								bin/retry
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										46
									
								
								bin/retry
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,46 @@ | ||||
| #!/bin/bash | ||||
| # https://github.com/travis-ci/travis-build/blob/cbe49ea239ab37b9b38b5b44d287b7ec7a108c16/lib/travis/build/templates/header.sh#L243-L260 | ||||
| # | ||||
| # MIT LICENSE | ||||
| # | ||||
| # Copyright (c) 2016 Travis CI GmbH <contact@travis-ci.org> | ||||
| # | ||||
| # Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| # of this software and associated documentation files (the "Software"), to deal | ||||
| # in the Software without restriction, including without limitation the rights | ||||
| # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
| # copies of the Software, and to permit persons to whom the Software is | ||||
| # furnished to do so, subject to the following conditions: | ||||
| # | ||||
| # The above copyright notice and this permission notice shall be included in | ||||
| # all copies or substantial portions of the Software. | ||||
| # | ||||
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
| # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
| # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
| # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||||
| # THE SOFTWARE. | ||||
| retry() { | ||||
|   local result=0 | ||||
|   local count=1 | ||||
| 
 | ||||
|   while [ $count -le 3 ]; do | ||||
|     if [ $result -ne 0 ]; then | ||||
|       echo -e "\n${ANSI_RED}The command \"$@\" failed. Retrying, $count of 3.${ANSI_RESET}\n" >&2 | ||||
|     fi | ||||
| 
 | ||||
|     "$@" && { result=0 && break; } || result=$? | ||||
|     count=$(($count + 1)) | ||||
|     sleep 1 | ||||
|   done | ||||
| 
 | ||||
|   if [ $count -gt 3 ]; then | ||||
|     echo -e "\n${ANSI_RED}The command \"$@\" failed 3 times.${ANSI_RESET}\n" >&2 | ||||
|   fi | ||||
| 
 | ||||
|   return $result | ||||
| } | ||||
| 
 | ||||
| retry $@ | ||||
| @ -1,4 +1,3 @@ | ||||
| #require 'rspec/retry' | ||||
| require 'simplecov' | ||||
| 
 | ||||
| GC.disable | ||||
| @ -12,9 +11,6 @@ end | ||||
| gc_counter = -1 | ||||
| 
 | ||||
| RSpec.configure do |config| | ||||
|   #config.verbose_retry = true | ||||
|   #config.display_try_failure_messages = true | ||||
| 
 | ||||
|   config.expect_with :rspec do |expectations| | ||||
|     expectations.include_chain_clauses_in_custom_matcher_descriptions = true | ||||
|   end | ||||
| @ -29,10 +25,6 @@ RSpec.configure do |config| | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   #config.around :each do |ex| | ||||
|   #  ex.run_with_retry retry: 3 | ||||
|   #end | ||||
| 
 | ||||
|   config.before :suite do | ||||
|     Chewy.strategy(:bypass) | ||||
|   end | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user