77 lines
1.5 KiB
YAML
77 lines
1.5 KiB
YAML
workflow:
|
|
rules:
|
|
- if: $CI_MERGE_REQUEST_ID
|
|
|
|
default:
|
|
image: ruby:3.0
|
|
|
|
before_script:
|
|
- cd vendor/gems/sidekiq-reliable-fetch
|
|
- ruby -v
|
|
- which ruby
|
|
- gem install bundler
|
|
- bundle config set --local path 'vendor' # Install dependencies into ./vendor/ruby
|
|
- bundle config set with 'development' # This is set to 'deployment' otherwise
|
|
- bundle config set --local frozen 'true' # Disallow Gemfile.lock changes on CI
|
|
- bundle config # Show bundler configuration
|
|
- bundle install --jobs $(nproc) "${FLAGS[@]}"
|
|
|
|
variables:
|
|
REDIS_URL: "redis://redis"
|
|
|
|
rspec:
|
|
stage: test
|
|
coverage: '/LOC \((\d+\.\d+%)\) covered.$/'
|
|
script:
|
|
- bundle exec rspec
|
|
services:
|
|
- redis:alpine
|
|
artifacts:
|
|
expire_in: 31d
|
|
when: always
|
|
paths:
|
|
- coverage/
|
|
|
|
.integration:
|
|
stage: test
|
|
script:
|
|
- cd tests/reliability
|
|
- bundle exec ruby reliability_test.rb
|
|
services:
|
|
- redis:alpine
|
|
|
|
integration_semi:
|
|
extends: .integration
|
|
variables:
|
|
JOB_FETCHER: semi
|
|
|
|
integration_reliable:
|
|
extends: .integration
|
|
variables:
|
|
JOB_FETCHER: reliable
|
|
|
|
integration_basic:
|
|
extends: .integration
|
|
allow_failure: yes
|
|
variables:
|
|
JOB_FETCHER: basic
|
|
|
|
kill_interruption:
|
|
stage: test
|
|
script:
|
|
- cd tests/interruption
|
|
- bundle exec ruby test_kill_signal.rb
|
|
services:
|
|
- redis:alpine
|
|
|
|
term_interruption:
|
|
stage: test
|
|
script:
|
|
- cd tests/interruption
|
|
- bundle exec ruby test_term_signal.rb
|
|
services:
|
|
- redis:alpine
|
|
|
|
# rubocop:
|
|
# script:
|
|
# - bundle exec rubocop
|