Skip to content

Use environment TEST_DATABASE_PORT #2

Use environment TEST_DATABASE_PORT

Use environment TEST_DATABASE_PORT #2

Workflow file for this run

name: CI
on:
push:
branches: [ master ]
pull_request:
branches: ['**']
jobs:
tests:
services:
postgres:
image: postgres:13
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
ports:
- 5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
mysql:
image: mysql:8.0
env:
MYSQL_ROOT_PASSWORD: root
ports:
- 3306
options: >-
--health-cmd="mysqladmin ping"
--health-interval=10s
--health-timeout=5s
--health-retries=3
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
rails:
- "5.0"
- "5.1"
- "5.2"
- "6.0"
- "6.1"
- "7.0"
- "7.1"
ruby:
- "2.6"
- "2.7"
- "3.0"
- "3.1"
- "3.2"
- "3.3"
# - "jruby"
include:
- ruby: "2.6"
rails: "5.2"
- ruby: "2.6"
rails: "6.0"
- ruby: "2.7"
rails: "6.0"
exclude:
- ruby: "3.1"
rails: "6.1"
- ruby: "3.2"
rails: "6.1"
- ruby: "3.3"
rails: "6.1"
- ruby: "2.6"
rails: "7.0"
- ruby: "jruby"
rails: "7.0"
- ruby: "2.6"
rails: "7.1"
- ruby: "jruby"
rails: "7.1"
name: Rails ${{ matrix.rails }}, Ruby ${{ matrix.ruby }}
env:
BUNDLE_GEMFILE: "ci/Gemfile.rails-${{ matrix.rails }}"
steps:
- uses: actions/checkout@v3
- name: Install db dependencies and check connections
run: |
DEBIAN_FRONTEND="noninteractive" sudo apt-get install -yqq mysql-client libmysqlclient-dev postgresql-client libpq-dev
mysql --host 127.0.0.1 --port ${{ job.services.mysql.ports[3306] }} -uroot -proot -e "SHOW GRANTS FOR 'root'@'localhost'"
env PGPASSWORD=postgres psql -h localhost -p ${{ job.services.postgres.ports[5432] }} -U postgres -l
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- name: Create databases
run: |
mysql -e 'create database i18n_sequel_bitemporal;' --host 127.0.0.1 --port ${{ job.services.mysql.ports[3306] }} -uroot -proot
env PGPASSWORD=postgres psql -c 'create database i18n_sequel_bitemporal;' -U postgres -h localhost -p ${{ job.services.postgres.ports[5432] }}
- name: Run PostgreSQL tests
run: bundle exec rake test
env:
TEST_ADAPTER: postgresql
TEST_DATABASE: i18n_sequel_bitemporal
TEST_DATABASE_HOST: localhost
TEST_DATABASE_PORT: ${{ job.services.postgres.ports[5432] }}
TEST_OWNER: postgres
TEST_USERNAME: postgres
TEST_PASSWORD: postgres
- name: Run MySQL2 tests
run: bundle exec rake test
if: matrix.ruby != 'jruby'
env:
TEST_ADAPTER: mysql2
TEST_DATABASE: i18n_sequel_bitemporal
TEST_DATABASE_HOST: 127.0.0.1
TEST_DATABASE_PORT: ${{ job.services.mysql.ports[3306] }}
TEST_USERNAME: root
TEST_PASSWORD: root
TEST_ENCODING: "utf8"
- name: Run SQLite tests
run: bundle exec rake test
env:
TEST_ADAPTER: "sqlite"
TEST_DATABASE: "test/database.sqlite3"
# - name: Lint
# run: bundle exec rubocop