Skip to content

Commit

Permalink
Merge pull request #82 from FundingCircle/add-rails6-support
Browse files Browse the repository at this point in the history
Add Rails 6 support
  • Loading branch information
Kleber Correia authored Dec 2, 2019
2 parents d5d8bbc + c075fea commit 7e700d9
Show file tree
Hide file tree
Showing 14 changed files with 343 additions and 107 deletions.
154 changes: 116 additions & 38 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,44 +10,106 @@ defaults: &defaults
RACK_ENV: test
VAULT_VERSION: 0.10.4

jobs:
tests:
<<: *defaults
aliases:
environment: &environment
RACK_ENV: test
VAULT_VERSION: 0.10.4
command: &ruby-command |
bundle check --path=vendor/bundle || bundle install --binstubs --jobs 4 --path=vendor/bundle --retry 3
bundle exec rake app:db:create
bundle exec rake app:db:schema:load
bundle exec rake app:db:test:prepare
bundle exec rake
cache:
- restore_cache: &restore_cache
keys:
- vault-rails-{{checksum "fc-vault-rails.gemspec" }}-{{checksum "Appraisals" }}
- save_cache: &save_cache
key: vault-rails-{{checksum "fc-vault-rails.gemspec" }}-{{checksum "Appraisals" }}
paths:
- vendor/bundle
runs:
- run: &install-vault
name: Install Vault
command: |
wget -O vault.zip -q https://releases.hashicorp.com/vault/${VAULT_VERSION}/vault_${VAULT_VERSION}_linux_amd64.zip
unzip vault.zip
sudo mv vault /usr/local/bin/
- run: &rails4
shell: /bin/bash -l
name: Rails 4.2
environment:
BUNDLE_GEMFILE: gemfiles/rails_4.2.gemfile
command: *ruby-command
- run: &rails5
shell: /bin/bash -l
name: Rails 5.0
environment:
BUNDLE_GEMFILE: gemfiles/rails_5.0.gemfile
command: *ruby-command
- run: &rails51
shell: /bin/bash -l
name: Rails 5.1
environment:
BUNDLE_GEMFILE: gemfiles/rails_5.1.gemfile
command: *ruby-command
- run: &rails52
shell: /bin/bash -l
name: Rails 5.2
environment:
BUNDLE_GEMFILE: gemfiles/rails_5.2.gemfile
command: *ruby-command
- run: &rails6
shell: /bin/bash -l
name: Rails 6
environment:
BUNDLE_GEMFILE: gemfiles/rails_6.gemfile
command: *ruby-command


jobs:
test_ruby_2_3:
docker:
- image: circleci/ruby:2.3
environment:
RACK_ENV: test
VAULT_VERSION: 0.10.4
steps:
- checkout
- run: yum -y install wget unzip sqlite
- run: yum clean all

- run:
name: Install Vault
command: |
wget -O vault.zip -q https://releases.hashicorp.com/vault/${VAULT_VERSION}/vault_${VAULT_VERSION}_linux_amd64.zip
unzip vault.zip
mv vault /usr/local/bin/
- restore_cache:
keys:
- vault-rails-{{checksum "fc-vault-rails.gemspec" }}-{{checksum ".travis.yml" }}

- run:
shell: /bin/bash -l
command: |
rvm use --default 2.5.1
bundle check --path=/usr/local/rvm/gems || bundle install --path=/usr/local/rvm/gems
- run:
shell: /bin/bash -l
command: |
bundle exec rake app:db:create
bundle exec rake app:db:schema:load
bundle exec rake app:db:test:prepare
bundle exec wwtd
- save_cache:
key: vault-rails-{{checksum "fc-vault-rails.gemspec" }}-{{checksum ".travis.yml" }}
paths:
- /usr/local/rvm/gems
- run: *install-vault
- run: *rails4
- run: *rails5
- run: *rails51
- run: *rails52

test_ruby_2_4:
docker:
- image: circleci/ruby:2.4
environment:
RACK_ENV: test
VAULT_VERSION: 0.10.4
steps:
- checkout
- run: *install-vault
- run: *rails4
- run: *rails5
- run: *rails51
- run: *rails52

test_ruby_2_5:
docker:
- image: circleci/ruby:2.5
environment:
RACK_ENV: test
VAULT_VERSION: 0.10.4
steps:
- checkout
- run: *install-vault
- run: *rails4
- run: *rails5
- run: *rails51
- run: *rails52
- run: *rails6

publish-pre-release:
<<: *defaults
Expand Down Expand Up @@ -128,7 +190,19 @@ workflows:

test-and-release:
jobs:
- tests:
- test_ruby_2_3:
context: org-global
filters:
tags:
only: /.*/

- test_ruby_2_4:
context: org-global
filters:
tags:
only: /.*/

- test_ruby_2_5:
context: org-global
filters:
tags:
Expand All @@ -142,7 +216,9 @@ workflows:
tags:
ignore: /.*/
requires:
- tests
- test_ruby_2_3
- test_ruby_2_4
- test_ruby_2_5

- publish-release:
context: org-global
Expand All @@ -152,4 +228,6 @@ workflows:
tags:
only: /^v[0-9]+(\.[0-9]+)*$/
requires:
- tests
- test_ruby_2_3
- test_ruby_2_4
- test_ruby_2_5
32 changes: 0 additions & 32 deletions .travis.yml

This file was deleted.

8 changes: 8 additions & 0 deletions Appraisals
Original file line number Diff line number Diff line change
@@ -1,12 +1,20 @@
appraise "rails-4.2" do
gem "rails", "~> 4.2.0"
gem 'sqlite3', '~> 1.3.13'
end
appraise "rails-5.0" do
gem "rails", "~> 5.0.0"
gem 'sqlite3', '~> 1.3.13'
end
appraise "rails-5.1" do
gem "rails", "~> 5.1.0"
gem 'sqlite3', '~> 1.3.13'
end
appraise "rails-5.2" do
gem "rails", "~> 5.2.0"
gem 'sqlite3', '~> 1.3.13'
end
appraise "rails-6" do
gem "rails", "~> 6"
gem 'sqlite3', '~> 1.4'
end
9 changes: 4 additions & 5 deletions fc-vault-rails.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,15 @@ Gem::Specification.new do |s|
s.files = Dir["{app,config,db,lib}/**/*", "LICENSE", "Rakefile", "README.md"]
s.test_files = Dir["spec/**/*"]

s.add_dependency "activerecord", [">= 4.2", "< 6.0"]
s.add_dependency "activerecord", ">= 4.2"
s.add_dependency "vault", "~> 0.7"

s.add_development_dependency "appraisal", "~> 2.1"
s.add_development_dependency "bundler"
s.add_development_dependency "rails", [">= 4.2", "< 6.0"]
s.add_development_dependency "rails", ">= 4.2"
s.add_development_dependency "byebug"
s.add_development_dependency "pry"
s.add_development_dependency "rake", "~> 10.0"
s.add_development_dependency "rake"
s.add_development_dependency "rspec", "~> 3.2"
s.add_development_dependency "sqlite3", "~> 1.3.6"
s.add_development_dependency "wwtd"
s.add_development_dependency "sqlite3", '~> 1.3'
end
1 change: 1 addition & 0 deletions gemfiles/rails_4.2.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
source "https://rubygems.org"

gem "rails", "~> 4.2.0"
gem "sqlite3", "~> 1.3.13"

gemspec path: "../"
14 changes: 6 additions & 8 deletions gemfiles/rails_4.2.gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ PATH
remote: ..
specs:
fc-vault-rails (2.0.3)
activerecord (>= 4.2, < 6.0)
activerecord (>= 4.2)
vault (~> 0.7)

GEM
Expand Down Expand Up @@ -47,7 +47,7 @@ GEM
rake
thor (>= 0.14.0)
arel (6.0.4)
aws-eventstream (1.0.2)
aws-eventstream (1.0.3)
aws-sigv4 (1.1.0)
aws-eventstream (~> 1.0, >= 1.0.2)
builder (3.2.3)
Expand Down Expand Up @@ -128,9 +128,8 @@ GEM
thread_safe (0.3.6)
tzinfo (1.2.5)
thread_safe (~> 0.1)
vault (0.12.0)
vault (0.13.0)
aws-sigv4
wwtd (1.3.0)

PLATFORMS
ruby
Expand All @@ -142,10 +141,9 @@ DEPENDENCIES
fc-vault-rails!
pry
rails (~> 4.2.0)
rake (~> 10.0)
rake
rspec (~> 3.2)
sqlite3 (~> 1.3.6)
wwtd
sqlite3 (~> 1.3.13)

BUNDLED WITH
1.17.2
1.17.3
1 change: 1 addition & 0 deletions gemfiles/rails_5.0.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
source "https://rubygems.org"

gem "rails", "~> 5.0.0"
gem "sqlite3", "~> 1.3.13"

gemspec path: "../"
14 changes: 6 additions & 8 deletions gemfiles/rails_5.0.gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ PATH
remote: ..
specs:
fc-vault-rails (2.0.3)
activerecord (>= 4.2, < 6.0)
activerecord (>= 4.2)
vault (~> 0.7)

GEM
Expand Down Expand Up @@ -50,7 +50,7 @@ GEM
rake
thor (>= 0.14.0)
arel (7.1.4)
aws-eventstream (1.0.2)
aws-eventstream (1.0.3)
aws-sigv4 (1.1.0)
aws-eventstream (~> 1.0, >= 1.0.2)
builder (3.2.3)
Expand Down Expand Up @@ -131,12 +131,11 @@ GEM
thread_safe (0.3.6)
tzinfo (1.2.5)
thread_safe (~> 0.1)
vault (0.12.0)
vault (0.13.0)
aws-sigv4
websocket-driver (0.6.5)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.3)
wwtd (1.3.0)

PLATFORMS
ruby
Expand All @@ -148,10 +147,9 @@ DEPENDENCIES
fc-vault-rails!
pry
rails (~> 5.0.0)
rake (~> 10.0)
rake
rspec (~> 3.2)
sqlite3 (~> 1.3.6)
wwtd
sqlite3 (~> 1.3.13)

BUNDLED WITH
1.16.6
1.17.3
1 change: 1 addition & 0 deletions gemfiles/rails_5.1.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
source "https://rubygems.org"

gem "rails", "~> 5.1.0"
gem "sqlite3", "~> 1.3.13"

gemspec path: "../"
Loading

0 comments on commit 7e700d9

Please sign in to comment.