Note we updated the `mail` gem in commit103742847, which is necesary for Ruby 3.1 because it adds the net-smtp dependency. The net-smtp library was removed from Ruby in Ruby 3.1, and if we don't include it, we get an error: ``` cannot load such file -- net/smtp (LoadError) ``` We're also updating the Bundler version in the Gemfile.lock so it's the one included in Ruby 3.1. Without updating it, we get a warning: ``` Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call `DidYouMean.correct_error(error_nam e, spell_checker)' instead. ``` Finally, in order to make Capistrano work, we need to add a couple more changes: * Make the net-ssh gem compatible with SSL 3.0; done in commitb2eec088b* Explicitly allow aliases in the `deploy-secrets.yml` file because Psych 4.x (included in Ruby 3.1) doesn't load aliases without this option
50 lines
1.3 KiB
YAML
50 lines
1.3 KiB
YAML
stages:
|
|
- test
|
|
- lint
|
|
|
|
tests:
|
|
image: "ruby:3.1.4"
|
|
stage: test
|
|
services:
|
|
- postgres:10.10
|
|
cache:
|
|
key: consul
|
|
paths:
|
|
- vendor/
|
|
variables:
|
|
POSTGRES_USER: consul
|
|
RAILS_ENV: test
|
|
TEST_COVERAGE: 1
|
|
parallel: 5
|
|
script:
|
|
- apt-get update && apt-get install -y nodejs chromium
|
|
- for i in config/*.example; do cp "$i" "${i/.example}"; done
|
|
- for i in config/*.gitlab; do cp "$i" "${i/.gitlab}"; done
|
|
- bundle --without development
|
|
- bundle exec rake db:setup
|
|
- bundle exec rake assets:precompile > /dev/null 2>&1
|
|
- bin/knapsack_pro_rspec
|
|
artifacts:
|
|
when: on_failure
|
|
paths:
|
|
- tmp/screenshots/
|
|
|
|
# To make this job work, create a Personal Access Token with permissions
|
|
# to comment on your repository and add a variable named
|
|
# PRONTO_GITLAB_API_PRIVATE_TOKEN to your repository CI/CD settings
|
|
# giving it the value of the Personal Access Token
|
|
linters:
|
|
image: "ruby:3.1.4"
|
|
stage: lint
|
|
cache:
|
|
key: consul
|
|
paths:
|
|
- vendor/
|
|
only:
|
|
- merge_requests
|
|
script:
|
|
- apt-get update && apt-get install -y nodejs cmake pkg-config
|
|
- bundle --without test
|
|
- git fetch origin $CI_MERGE_REQUEST_TARGET_BRANCH_NAME
|
|
- bundle exec pronto run -f gitlab_mr -c origin/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME
|