Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
147 changes: 147 additions & 0 deletions .github/workflows/prs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
# This file was auto-generated by the schema_dev tool, based on the data in
# ./schema_dev.yml
# Please do not edit this file; any changes will be overwritten next time
# schema_dev gets run.
---
name: CI PR Builds
'on':
push:
branches:
- master
pull_request:
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
ruby:
- '2.5'
- '2.7'
- '3.0'
activerecord:
- '5.2'
- '6.0'
- '6.1'
db:
- mysql2
- sqlite3
- skip
dbversion:
- skip
exclude:
- ruby: '3.0'
activerecord: '5.2'
- db: skip
dbversion: skip
include:
- ruby: '2.5'
activerecord: '5.2'
db: postgresql
dbversion: '9.6'
- ruby: '2.5'
activerecord: '6.0'
db: postgresql
dbversion: '9.6'
- ruby: '2.5'
activerecord: '6.1'
db: postgresql
dbversion: '9.6'
- ruby: '2.7'
activerecord: '5.2'
db: postgresql
dbversion: '9.6'
- ruby: '2.7'
activerecord: '6.0'
db: postgresql
dbversion: '9.6'
- ruby: '2.7'
activerecord: '6.1'
db: postgresql
dbversion: '9.6'
- ruby: '3.0'
activerecord: '6.0'
db: postgresql
dbversion: '9.6'
- ruby: '3.0'
activerecord: '6.1'
db: postgresql
dbversion: '9.6'
env:
BUNDLE_GEMFILE: "${{ github.workspace }}/gemfiles/activerecord-${{ matrix.activerecord }}/Gemfile.${{ matrix.db }}"
MYSQL_DB_HOST: 127.0.0.1
MYSQL_DB_USER: root
MYSQL_DB_PASS: database
POSTGRESQL_DB_HOST: 127.0.0.1
POSTGRESQL_DB_USER: schema_plus_test
POSTGRESQL_DB_PASS: database
steps:
- uses: actions/checkout@v2
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: "${{ matrix.ruby }}"
bundler-cache: true
- name: Run bundle update
run: bundle update
- name: Start Mysql
if: matrix.db == 'mysql2'
run: |
docker run --rm --detach \
-e MYSQL_ROOT_PASSWORD=$MYSQL_DB_PASS \
-p 3306:3306 \
--health-cmd "mysqladmin ping --host=127.0.0.1 --password=$MYSQL_DB_PASS --silent" \
--health-interval 5s \
--health-timeout 5s \
--health-retries 5 \
--name database mysql:5.6
- name: Start Postgresql
if: matrix.db == 'postgresql'
run: |
docker run --rm --detach \
-e POSTGRES_USER=$POSTGRESQL_DB_USER \
-e POSTGRES_PASSWORD=$POSTGRESQL_DB_PASS \
-p 5432:5432 \
--health-cmd "pg_isready -q" \
--health-interval 5s \
--health-timeout 5s \
--health-retries 5 \
--name database postgres:${{ matrix.dbversion }}
- name: Wait for database to start
if: "(matrix.db == 'postgresql' || matrix.db == 'mysql2')"
run: |
COUNT=0
ATTEMPTS=20
until [[ $COUNT -eq $ATTEMPTS ]]; do
[ "$(docker inspect -f {{.State.Health.Status}} database)" == "healthy" ] && break
echo $(( COUNT++ )) > /dev/null
sleep 2
done
- name: Create testing database
if: "(matrix.db == 'postgresql' || matrix.db == 'mysql2')"
run: bundle exec rake create_ci_database
- name: Run tests
run: bundle exec rake spec
- name: Shutdown database
if: always() && (matrix.db == 'postgresql' || matrix.db == 'mysql2')
run: docker stop database
- name: Coveralls Parallel
if: "${{ !env.ACT }}"
uses: coverallsapp/github-action@master
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
flag-name: run-${{ matrix.ruby }}-${{ matrix.activerecord }}-${{ matrix.db }}-${{ matrix.dbversion }}
parallel: true
finish:
needs: test
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
if: "${{ !env.ACT }}"
uses: coverallsapp/github-action@master
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
parallel-finished: true
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/coverage
/tmp
/pkg
Gemfile.local
/Gemfile.local

*.lock
*.log
Expand Down
18 changes: 18 additions & 0 deletions .simplecov
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
SimpleCov.configure do
enable_coverage :branch
add_filter '/spec/'

add_group 'Binaries', '/bin/'
add_group 'Libraries', '/lib/'

if ENV['CI']
require 'simplecov-lcov'

SimpleCov::Formatter::LcovFormatter.config do |c|
c.report_with_single_file = true
c.single_report_path = 'coverage/lcov.info'
end

formatter SimpleCov::Formatter::LcovFormatter
end
end
27 changes: 0 additions & 27 deletions .travis.yml

This file was deleted.

3 changes: 2 additions & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ source "http://rubygems.org"

gemspec

File.exist?(gemfile_local = File.expand_path('../Gemfile.local', __FILE__)) and eval File.read(gemfile_local), binding, gemfile_local
gemfile_local = File.expand_path '../Gemfile.local', __FILE__
eval File.read(gemfile_local), binding, gemfile_local if File.exist? gemfile_local
20 changes: 12 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
[![Gem Version](https://badge.fury.io/rb/schema_monkey.svg)](http://badge.fury.io/rb/schema_monkey)
[![Build Status](https://secure.travis-ci.org/SchemaPlus/schema_monkey.svg)](http://travis-ci.org/SchemaPlus/schema_monkey)
[![Build Status](https://github.com/SchemaPlus/schema_monkey/actions/workflows/prs.yml/badge.svg)](https://github.com/SchemaPlus/schema_monkey/actions)
[![Coverage Status](https://img.shields.io/coveralls/SchemaPlus/schema_monkey.svg)](https://coveralls.io/r/SchemaPlus/schema_monkey)
[![Dependency Status](https://gemnasium.com/lomba/schema_monkey.svg)](https://gemnasium.com/SchemaPlus/schema_monkey)

# SchemaMonkey

Expand Down Expand Up @@ -227,14 +226,20 @@ SchemaMonkey is tested on:

<!-- SCHEMA_DEV: MATRIX - begin -->
<!-- These lines are auto-generated by schema_dev based on schema_dev.yml -->
* ruby **2.3.1** with activerecord **4.2**, using **mysql2**, **sqlite3** or **postgresql**
* ruby **2.3.1** with activerecord **5.0**, using **mysql2**, **sqlite3** or **postgresql**
* ruby **2.3.1** with activerecord **5.1**, using **mysql2**, **sqlite3** or **postgresql**
* ruby **2.3.1** with activerecord **5.2**, using **mysql2**, **sqlite3** or **postgresql**
* ruby **2.5** with activerecord **5.2**, using **mysql2**, **sqlite3** or **postgresql:9.6**
* ruby **2.5** with activerecord **6.0**, using **mysql2**, **sqlite3** or **postgresql:9.6**
* ruby **2.5** with activerecord **6.1**, using **mysql2**, **sqlite3** or **postgresql:9.6**
* ruby **2.7** with activerecord **5.2**, using **mysql2**, **sqlite3** or **postgresql:9.6**
* ruby **2.7** with activerecord **6.0**, using **mysql2**, **sqlite3** or **postgresql:9.6**
* ruby **2.7** with activerecord **6.1**, using **mysql2**, **sqlite3** or **postgresql:9.6**
* ruby **3.0** with activerecord **6.0**, using **mysql2**, **sqlite3** or **postgresql:9.6**
* ruby **3.0** with activerecord **6.1**, using **mysql2**, **sqlite3** or **postgresql:9.6**

<!-- SCHEMA_DEV: MATRIX - end -->

## Release Notes

* 3.0.0 -- updated to support ruby 2.5+ only and rails 5.2 through 6.1
* 2.1.6 -- stricter dependency on modware
* 2.1.5 -- Remove dependency on its-it :( #12
* 2.1.4 -- Loosen dependency to allow AR 5.0, and include it in the test matrix
Expand All @@ -256,7 +261,7 @@ Some things to know about to help you develop and test:
* **schema_dev**: SchemaMonkey uses [schema_dev](https://github.com/SchemaPlus/schema_dev) to
facilitate running rspec tests on the matrix of ruby, activerecord, and database
versions that the gem supports, both locally and on
[travis-ci](http://travis-ci.org/SchemaPlus/schema_monkey)
[github actions](https://github.com/SchemaPlus/schema_monkey/actions)

To to run rspec locally on the full matrix, do:

Expand All @@ -268,5 +273,4 @@ Some things to know about to help you develop and test:
The matrix of configurations is specified in `schema_dev.yml` in
the project root.


<!-- SCHEMA_DEV: TEMPLATE USES SCHEMA_DEV - end -->
2 changes: 1 addition & 1 deletion gemfiles/Gemfile.base
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
source 'https://rubygems.org'
gemspec :path => File.expand_path('..', __FILE__)
gemspec path: File.expand_path('..', __FILE__)

File.exist?(gemfile_local = File.expand_path('../Gemfile.local', __FILE__)) and eval File.read(gemfile_local), binding, gemfile_local
3 changes: 0 additions & 3 deletions gemfiles/activerecord-4.2/Gemfile.base

This file was deleted.

10 changes: 0 additions & 10 deletions gemfiles/activerecord-4.2/Gemfile.mysql2

This file was deleted.

10 changes: 0 additions & 10 deletions gemfiles/activerecord-4.2/Gemfile.postgresql

This file was deleted.

3 changes: 0 additions & 3 deletions gemfiles/activerecord-5.0/Gemfile.base

This file was deleted.

10 changes: 0 additions & 10 deletions gemfiles/activerecord-5.0/Gemfile.mysql2

This file was deleted.

10 changes: 0 additions & 10 deletions gemfiles/activerecord-5.0/Gemfile.postgresql

This file was deleted.

3 changes: 0 additions & 3 deletions gemfiles/activerecord-5.1/Gemfile.base

This file was deleted.

10 changes: 0 additions & 10 deletions gemfiles/activerecord-5.1/Gemfile.mysql2

This file was deleted.

10 changes: 0 additions & 10 deletions gemfiles/activerecord-5.1/Gemfile.postgresql

This file was deleted.

10 changes: 0 additions & 10 deletions gemfiles/activerecord-5.1/Gemfile.sqlite3

This file was deleted.

3 changes: 2 additions & 1 deletion gemfiles/activerecord-5.2/Gemfile.base
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
eval File.read File.expand_path('../../Gemfile.base', __FILE__)
base_gemfile = File.expand_path('../../Gemfile.base', __FILE__)
eval File.read(base_gemfile)

gem "activerecord", ">= 5.2.0.beta0", "< 5.3"
4 changes: 2 additions & 2 deletions gemfiles/activerecord-5.2/Gemfile.mysql2
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
require "pathname"
eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
base_gemfile = File.expand_path('../Gemfile.base', __FILE__)
eval File.read(base_gemfile), binding, base_gemfile

platform :ruby do
gem "mysql2"
Expand Down
4 changes: 2 additions & 2 deletions gemfiles/activerecord-5.2/Gemfile.postgresql
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
require "pathname"
eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
base_gemfile = File.expand_path('../Gemfile.base', __FILE__)
eval File.read(base_gemfile), binding, base_gemfile

platform :ruby do
gem "pg"
Expand Down
6 changes: 3 additions & 3 deletions gemfiles/activerecord-5.2/Gemfile.sqlite3
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
require "pathname"
eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
base_gemfile = File.expand_path('../Gemfile.base', __FILE__)
eval File.read(base_gemfile), binding, base_gemfile

platform :ruby do
gem "sqlite3"
end

platform :jruby do
gem 'activerecord-jdbcsqlite3-adapter', '>=1.3.0.beta2'
end
end
4 changes: 4 additions & 0 deletions gemfiles/activerecord-6.0/Gemfile.base
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
base_gemfile = File.expand_path('../../Gemfile.base', __FILE__)
eval File.read(base_gemfile)

gem "activerecord", ">= 6.0", "< 6.1"
Loading