Skip to content

Commit

Permalink
Merge pull request #382 from gocardless/versions
Browse files Browse the repository at this point in the history
Clarify our versioning policy and CI configuration
  • Loading branch information
Nick Campbell authored Dec 19, 2019
2 parents 375a96e + 1531cb3 commit 1113a2b
Show file tree
Hide file tree
Showing 45 changed files with 132 additions and 206 deletions.
241 changes: 37 additions & 204 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ references:
path: /tmp/test-results

jobs:
build-ruby241-rails-429-mysql:
build-ruby249-rails-429-mysql:
docker:
- image: circleci/ruby:2.4.1-node
- image: circleci/ruby:2.4.9-node
environment:
- RAILS_VERSION=4.2.9
- DATABASE_URL=mysql2://[email protected]/statesman_test
Expand All @@ -45,9 +45,9 @@ jobs:
- MYSQL_PASSWORD=
- MYSQL_DATABASE=statesman_test
steps: *steps
build-ruby241-rails-429-postgres:
build-ruby249-rails-429-postgres:
docker:
- image: circleci/ruby:2.4.1-node
- image: circleci/ruby:2.4.9-node
environment:
- RAILS_VERSION=4.2.9
- DATABASE_URL=postgres://postgres@localhost/statesman_test
Expand All @@ -57,9 +57,9 @@ jobs:
- POSTGRES_USER=postgres
- POSTGRES_DB=statesman_test
steps: *steps
build-ruby241-rails-505-mysql:
build-ruby249-rails-505-mysql:
docker:
- image: circleci/ruby:2.4.1-node
- image: circleci/ruby:2.4.9-node
environment:
- RAILS_VERSION=5.0.5
- DATABASE_URL=mysql2://[email protected]/statesman_test
Expand All @@ -71,9 +71,9 @@ jobs:
- MYSQL_PASSWORD=
- MYSQL_DATABASE=statesman_test
steps: *steps
build-ruby241-rails-505-postgres:
build-ruby249-rails-505-postgres:
docker:
- image: circleci/ruby:2.4.1-node
- image: circleci/ruby:2.4.9-node
environment:
- RAILS_VERSION=5.0.5
- DATABASE_URL=postgres://postgres@localhost/statesman_test
Expand All @@ -83,9 +83,9 @@ jobs:
- POSTGRES_USER=postgres
- POSTGRES_DB=statesman_test
steps: *steps
build-ruby241-rails-513-mysql:
build-ruby249-rails-513-mysql:
docker:
- image: circleci/ruby:2.4.1-node
- image: circleci/ruby:2.4.9-node
environment:
- RAILS_VERSION=5.1.3
- DATABASE_URL=mysql2://[email protected]/statesman_test
Expand All @@ -97,9 +97,9 @@ jobs:
- MYSQL_PASSWORD=
- MYSQL_DATABASE=statesman_test
steps: *steps
build-ruby241-rails-513-postgres:
build-ruby249-rails-513-postgres:
docker:
- image: circleci/ruby:2.4.1-node
- image: circleci/ruby:2.4.9-node
environment:
- RAILS_VERSION=5.1.3
- DATABASE_URL=postgres://postgres@localhost/statesman_test
Expand All @@ -109,9 +109,9 @@ jobs:
- POSTGRES_USER=postgres
- POSTGRES_DB=statesman_test
steps: *steps
build-ruby262-rails-600-mysql:
build-ruby265-rails-600-mysql:
docker:
- image: circleci/ruby:2.6.2-node
- image: circleci/ruby:2.6.5-node
environment:
- RAILS_VERSION=6.0.0
- DATABASE_URL=mysql2://[email protected]/statesman_test
Expand All @@ -123,9 +123,9 @@ jobs:
- MYSQL_PASSWORD=
- MYSQL_DATABASE=statesman_test
steps: *steps
build-ruby262-rails-600-postgres:
build-ruby265-rails-600-postgres:
docker:
- image: circleci/ruby:2.6.2-node
- image: circleci/ruby:2.6.5-node
environment:
- RAILS_VERSION=6.0.0
- DATABASE_URL=postgres://postgres@localhost/statesman_test
Expand All @@ -135,9 +135,9 @@ jobs:
- POSTGRES_USER=postgres
- POSTGRES_DB=statesman_test
steps: *steps
build-ruby262-rails-master-mysql:
build-ruby265-rails-master-mysql:
docker:
- image: circleci/ruby:2.6.2-node
- image: circleci/ruby:2.6.5-node
environment:
- RAILS_VERSION=master
- DATABASE_URL=mysql2://[email protected]/statesman_test
Expand All @@ -149,9 +149,9 @@ jobs:
- MYSQL_PASSWORD=
- MYSQL_DATABASE=statesman_test
steps: *steps
build-ruby262-rails-master-postgres:
build-ruby265-rails-master-postgres:
docker:
- image: circleci/ruby:2.6.2-node
- image: circleci/ruby:2.6.5-node
environment:
- RAILS_VERSION=master
- DATABASE_URL=postgres://postgres@localhost/statesman_test
Expand All @@ -162,9 +162,9 @@ jobs:
- POSTGRES_USER=postgres
- POSTGRES_DB=statesman_test
steps: *steps
build-ruby241-rails-523-mysql:
build-ruby249-rails-523-mysql:
docker:
- image: circleci/ruby:2.4.1-node
- image: circleci/ruby:2.4.9-node
environment:
- RAILS_VERSION=5.2.3
- DATABASE_URL=mysql2://[email protected]/statesman_test
Expand All @@ -176,9 +176,9 @@ jobs:
- MYSQL_PASSWORD=
- MYSQL_DATABASE=statesman_test
steps: *steps
build-ruby241-rails-523-postgres:
build-ruby249-rails-523-postgres:
docker:
- image: circleci/ruby:2.4.1-node
- image: circleci/ruby:2.4.9-node
environment:
- RAILS_VERSION=5.2.3
- DATABASE_URL=postgres://postgres@localhost/statesman_test
Expand All @@ -188,188 +188,21 @@ jobs:
- POSTGRES_USER=postgres
- POSTGRES_DB=statesman_test
steps: *steps
build-ruby233-rails-429-mysql:
docker:
- image: circleci/ruby:2.3.3-node
environment:
- RAILS_VERSION=4.2.9
- DATABASE_URL=mysql2://[email protected]/statesman_test
- DATABASE_DEPENDENCY_PORT=3306
- image: circleci/mysql:5.7.18
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD=true
- MYSQL_USER=root
- MYSQL_PASSWORD=
- MYSQL_DATABASE=statesman_test
steps: *steps
build-ruby233-rails-429-postgres:
docker:
- image: circleci/ruby:2.3.3-node
environment:
- RAILS_VERSION=4.2.9
- DATABASE_URL=postgres://postgres@localhost/statesman_test
- DATABASE_DEPENDENCY_PORT=5432
- image: circleci/postgres:9.6
environment:
- POSTGRES_USER=postgres
- POSTGRES_DB=statesman_test
steps: *steps
build-ruby233-rails-505-mysql:
docker:
- image: circleci/ruby:2.3.3-node
environment:
- RAILS_VERSION=5.0.5
- DATABASE_URL=mysql2://[email protected]/statesman_test
- DATABASE_DEPENDENCY_PORT=3306
- image: circleci/mysql:5.7.18
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD=true
- MYSQL_USER=root
- MYSQL_PASSWORD=
- MYSQL_DATABASE=statesman_test
steps: *steps
build-ruby233-rails-505-postgres:
docker:
- image: circleci/ruby:2.3.3-node
environment:
- RAILS_VERSION=5.0.5
- DATABASE_URL=postgres://postgres@localhost/statesman_test
- DATABASE_DEPENDENCY_PORT=5432
- image: circleci/postgres:9.6
environment:
- POSTGRES_USER=postgres
- POSTGRES_DB=statesman_test
steps: *steps
build-ruby233-rails-513-mysql:
docker:
- image: circleci/ruby:2.3.3-node
environment:
- RAILS_VERSION=5.1.3
- DATABASE_URL=mysql2://[email protected]/statesman_test
- DATABASE_DEPENDENCY_PORT=3306
- image: circleci/mysql:5.7.18
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD=true
- MYSQL_USER=root
- MYSQL_PASSWORD=
- MYSQL_DATABASE=statesman_test
steps: *steps
build-ruby233-rails-513-postgres:
docker:
- image: circleci/ruby:2.3.3-node
environment:
- RAILS_VERSION=5.1.3
- DATABASE_URL=postgres://postgres@localhost/statesman_test
- DATABASE_DEPENDENCY_PORT=5432
- image: circleci/postgres:9.6
environment:
- POSTGRES_USER=postgres
- POSTGRES_DB=statesman_test
steps: *steps
build-ruby227-rails-429-mysql:
docker:
- image: circleci/ruby:2.2.7-node
environment:
- RAILS_VERSION=4.2.9
- DATABASE_URL=mysql2://[email protected]/statesman_test
- DATABASE_DEPENDENCY_PORT=3306
- image: circleci/mysql:5.7.18
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD=true
- MYSQL_USER=root
- MYSQL_PASSWORD=
- MYSQL_DATABASE=statesman_test
steps: *steps
build-ruby227-rails-429-postgres:
docker:
- image: circleci/ruby:2.2.7-node
environment:
- RAILS_VERSION=4.2.9
- DATABASE_URL=postgres://postgres@localhost/statesman_test
- DATABASE_DEPENDENCY_PORT=5432
- image: circleci/postgres:9.6
environment:
- POSTGRES_USER=postgres
- POSTGRES_DB=statesman_test
steps: *steps
build-ruby227-rails-505-mysql:
docker:
- image: circleci/ruby:2.2.7-node
environment:
- RAILS_VERSION=5.0.5
- DATABASE_URL=mysql2://[email protected]/statesman_test
- DATABASE_DEPENDENCY_PORT=3306
- image: circleci/mysql:5.7.18
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD=true
- MYSQL_USER=root
- MYSQL_PASSWORD=
- MYSQL_DATABASE=statesman_test
steps: *steps
build-ruby227-rails-505-postgres:
docker:
- image: circleci/ruby:2.2.7-node
environment:
- RAILS_VERSION=5.0.5
- DATABASE_URL=postgres://postgres@localhost/statesman_test
- DATABASE_DEPENDENCY_PORT=5432
- image: circleci/postgres:9.6
environment:
- POSTGRES_USER=postgres
- POSTGRES_DB=statesman_test
steps: *steps
build-ruby227-rails-513-mysql:
docker:
- image: circleci/ruby:2.2.7-node
environment:
- RAILS_VERSION=5.1.3
- DATABASE_URL=mysql2://[email protected]/statesman_test
- DATABASE_DEPENDENCY_PORT=3306
- image: circleci/mysql:5.7.18
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD=true
- MYSQL_USER=root
- MYSQL_PASSWORD=
- MYSQL_DATABASE=statesman_test
steps: *steps
build-ruby227-rails-513-postgres:
docker:
- image: circleci/ruby:2.2.7-node
environment:
- RAILS_VERSION=5.1.3
- DATABASE_URL=postgres://postgres@localhost/statesman_test
- DATABASE_DEPENDENCY_PORT=5432
- image: circleci/postgres:9.6
environment:
- POSTGRES_USER=postgres
- POSTGRES_DB=statesman_test
steps: *steps


workflows:
version: 2
tests:
jobs:
- build-ruby241-rails-429-mysql
- build-ruby241-rails-429-postgres
- build-ruby241-rails-505-mysql
- build-ruby241-rails-505-postgres
- build-ruby241-rails-513-mysql
- build-ruby241-rails-513-postgres
- build-ruby241-rails-523-mysql
- build-ruby241-rails-523-postgres
- build-ruby262-rails-600-mysql
- build-ruby262-rails-600-postgres
- build-ruby262-rails-master-mysql
- build-ruby262-rails-master-postgres
- build-ruby233-rails-429-mysql
- build-ruby233-rails-429-postgres
- build-ruby233-rails-505-mysql
- build-ruby233-rails-505-postgres
- build-ruby233-rails-513-mysql
- build-ruby233-rails-513-postgres
- build-ruby227-rails-429-mysql
- build-ruby227-rails-429-postgres
- build-ruby227-rails-505-mysql
- build-ruby227-rails-505-postgres
- build-ruby227-rails-513-mysql
- build-ruby227-rails-513-postgres
- build-ruby249-rails-429-mysql
- build-ruby249-rails-429-postgres
- build-ruby249-rails-505-mysql
- build-ruby249-rails-505-postgres
- build-ruby249-rails-513-mysql
- build-ruby249-rails-513-postgres
- build-ruby249-rails-523-mysql
- build-ruby249-rails-523-postgres
- build-ruby265-rails-600-mysql
- build-ruby265-rails-600-postgres
- build-ruby265-rails-master-mysql
- build-ruby265-rails-master-postgres
2 changes: 1 addition & 1 deletion .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ inherit_gem:
gc_ruboconfig: rubocop.yml

AllCops:
TargetRubyVersion: 2.2
TargetRubyVersion: 2.4
3 changes: 3 additions & 0 deletions .rubocop_todo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
# Note that changes in the inspected code, or installation of new
# versions of RuboCop, may require this file to be generated again.

Gemspec/RequiredRubyVersion:
Enabled: false # We want to allow Ruby 2.2 even though we don't test on it

# Offense count: 5
Metrics/AbcSize:
Max: 18
Expand Down
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
## v6.0.0, 20th December 2019

**Breaking changes**

- Drop official support for Ruby 2.2 and 2.3 following our [compatibility
policy](https://github.com/gocardless/statesman/blob/master/docs/COMPATIBILITY.md).


## v5.2.0, 17th December 2019

- Issue `most_recent_transition_join` query as a single-line string [#381](https://github.com/gocardless/statesman/pull/381)
Expand Down
2 changes: 2 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# frozen_string_literal: true

source 'https://rubygems.org'

gemspec
Expand Down
2 changes: 2 additions & 0 deletions Guardfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# frozen_string_literal: true

# A sample Guardfile
# More info at https://github.com/guard/guard#readme

Expand Down
2 changes: 2 additions & 0 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# frozen_string_literal: true

require "bundler/gem_tasks"
require "rspec/core/rake_task"

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# frozen_string_literal: true

require "rails/generators"
require "generators/statesman/generator_helpers"

Expand Down
Loading

0 comments on commit 1113a2b

Please sign in to comment.