Sha256: 19a01ea3f3b2d88dd817e4f47d1609b7f6cd9b3ecae7b8fd12a8dec4b7701def

Contents?: true

Size: 1.1 KB

Versions: 1

Compression:

Stored size: 1.1 KB

Contents

require 'yaml'

matrix = [
  {
    rails_version: '4.2.11',
    ruby_versions: %w[2.4.5 2.5.3 2.6.1],
    pg_version: '< 1.0.0',
  },
  {
    rails_version: '5.2.2',
    ruby_versions: %w[2.4.5 2.5.3 2.6.1],
    pg_version: '>= 1.0.0',
  },
]

matrix.each do |gemfile|
  rails_version = gemfile.fetch(:rails_version)
  pg_version = gemfile.fetch(:pg_version)

  appraise "rails_#{rails_version}" do
    gem 'activerecord', "~> #{rails_version}"
    gem 'pg', pg_version
  end
end

travis = ::YAML.dump(
  'language' => 'ruby',
  'services' => [
    'postgresql',
  ],
  'before_script' => [
    'bundle install',
    'psql -c "create database travis_ci_test;" -U postgres',
  ],
  'matrix' => {
    'include' =>
      matrix.flat_map do |rails_version:, ruby_versions:, **|
        ruby_versions.map do |ruby_version|
          {
            rvm: ruby_version,
            gemfile: "gemfiles/rails_#{rails_version}.gemfile",
          }
        end
      end,
  },
  'script' => [
    'bundle exec rake spec',
    'bundle exec rubocop --fail-level C',
  ],
)

::File.open('.travis.yml', 'w+') do |file|
  file.write(travis)
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
active_record-sequence-0.3.0 Appraisals