Enable GitHub Actions
- Use ubuntu-20.04 - Use Ruby 2.7 - CI against SQLite3, MySQL and PostgreSQL databases - CI against Rails v6.1.0.rc1, v6.0.3, 6-0-stable, 5-2-stable and v5.2.4 - Add MYSQL_USERNAME and MYSQL_PASSWORD environment variables
This commit is contained in:
parent
d50885772c
commit
8031e66329
|
@ -0,0 +1,111 @@
|
|||
name: Test
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
sqlite3:
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
rails:
|
||||
- v6.1.0.rc1
|
||||
- v6.0.3
|
||||
- 6-0-stable
|
||||
- 5-2-stable
|
||||
- v5.2.4
|
||||
env:
|
||||
DB: sqlite3
|
||||
RAILS: ${{ matrix.rails }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Ruby
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: 2.7
|
||||
- name: Install dependencies
|
||||
run: bundle install
|
||||
- name: Run tests
|
||||
run: bundle exec rspec
|
||||
|
||||
mysql:
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
rails:
|
||||
- v6.1.0.rc1
|
||||
- v6.0.3
|
||||
- 6-0-stable
|
||||
- 5-2-stable
|
||||
- v5.2.4
|
||||
env:
|
||||
DB: mysql
|
||||
RAILS: ${{ matrix.rails }}
|
||||
MYSQL_USERNAME: root
|
||||
MYSQL_PASSWORD: root
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Ruby
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: 2.7
|
||||
- name: Startup MySQL
|
||||
run: |
|
||||
sudo systemctl start mysql.service
|
||||
- name: Setup databases
|
||||
run: |
|
||||
mysql --user=root --password=root --host=127.0.0.1 -e 'create database ransack collate utf8_general_ci;';
|
||||
mysql --user=root --password=root --host=127.0.0.1 -e 'use ransack;show variables like "%character%";show variables like "%collation%";';
|
||||
- name: Install dependencies
|
||||
run: bundle install
|
||||
- name: Run tests
|
||||
run: bundle exec rspec
|
||||
|
||||
postgres:
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
rails:
|
||||
- v6.1.0.rc1
|
||||
- v6.0.3
|
||||
- 6-0-stable
|
||||
- 5-2-stable
|
||||
- v5.2.4
|
||||
env:
|
||||
DB: postgres
|
||||
RAILS: ${{ matrix.rails }}
|
||||
DATABASE_USERNAME: postgres
|
||||
DATABASE_PASSWORD: postgres
|
||||
DATABASE_HOST: 127.0.0.1
|
||||
services:
|
||||
postgres:
|
||||
image: postgres
|
||||
ports:
|
||||
- 5432:5432
|
||||
env:
|
||||
POSTGRES_PASSWORD: postgres
|
||||
POSTGRES_HOST_AUTH_METHOD: trust
|
||||
# Set health checks to wait until postgres has started
|
||||
options: >-
|
||||
--health-cmd pg_isready
|
||||
--health-interval 10s
|
||||
--health-timeout 5s
|
||||
--health-retries 5
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Ruby
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: 2.7
|
||||
- name: Setup databases
|
||||
run: |
|
||||
psql -h localhost -p 5432 -W postgres -c 'create database ransack;' -U postgres;
|
||||
- name: Install dependencies
|
||||
run: bundle install
|
||||
- name: Run tests
|
||||
run: bundle exec rspec
|
|
@ -6,6 +6,8 @@ when 'mysql', 'mysql2'
|
|||
ActiveRecord::Base.establish_connection(
|
||||
adapter: 'mysql2',
|
||||
database: 'ransack',
|
||||
username: ENV.fetch("MYSQL_USERNAME") { "root" },
|
||||
password: ENV.fetch("MYSQL_PASSWORD") { "" },
|
||||
encoding: 'utf8'
|
||||
)
|
||||
when 'pg', 'postgres', 'postgresql'
|
||||
|
|
Loading…
Reference in New Issue