Relax ActiveRecord dependency #15
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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' | |
- '3.1' | |
activerecord: | |
- '5.2' | |
- '6.0' | |
- '6.1' | |
- '7.0' | |
- '7.1' | |
db: | |
- mysql2 | |
- sqlite3 | |
- skip | |
dbversion: | |
- skip | |
exclude: | |
- ruby: '3.0' | |
activerecord: '5.2' | |
- ruby: '3.1' | |
activerecord: '5.2' | |
- ruby: '2.5' | |
activerecord: '7.0' | |
- 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: '2.7' | |
activerecord: '7.0' | |
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' | |
- ruby: '3.0' | |
activerecord: '7.0' | |
db: postgresql | |
dbversion: '9.6' | |
- ruby: '3.1' | |
activerecord: '6.0' | |
db: postgresql | |
dbversion: '9.6' | |
- ruby: '3.1' | |
activerecord: '6.1' | |
db: postgresql | |
dbversion: '9.6' | |
- ruby: '3.1' | |
activerecord: '7.0' | |
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 |