--- name: Tests 'on': push: branches: - master pull_request: branches: - master jobs: test_mysql: runs-on: ubuntu-20.04 services: mysql: image: mysql:5.6 env: MYSQL_ROOT_PASSWORD: password options: --health-cmd "mysqladmin ping" --health-interval 10s --health-timeout 5s --health-retries 5 ports: - 3306:3306 strategy: fail-fast: false # Rails 4.2: Ruby 2.5.7 # Rails 5.2: Ruby 2.5.7 and 2.7.4 matrix: include: - ruby: 2.5.7 gemfile: Gemfile.4.2.mysql2 - ruby: 2.5.7 gemfile: Gemfile.5.2.mysql2 - ruby: 2.7.4 gemfile: Gemfile.5.2.mysql2 env: BUNDLE_GEMFILE: "${{ matrix.gemfile }}" steps: - uses: actions/checkout@v2 - name: Install ruby uses: ruby/setup-ruby@v1 with: ruby-version: "${{ matrix.ruby }}" - name: Setup database run: | sudo apt-get update sudo apt-get install -y mariadb-client libmariadbclient-dev mysql -e 'create database IF NOT EXISTS test;' -u root --password=password -P 3306 -h 127.0.0.1 - name: Bundle run: | gem install bundler:2.2.26 bundle install --no-deployment - name: Run tests run: bundle exec rspec test_pg: runs-on: ubuntu-20.04 services: postgres: image: postgres env: POSTGRES_PASSWORD: postgres options: "--health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5" ports: - 5432:5432 strategy: fail-fast: false # Rails 4.2: Ruby 2.5.7 # Rails 5.2: Ruby 2.5.7 and 2.7.4 # Rails 6.1: Ruby 2.5.7, 2.7.4 and 3.0.2 matrix: include: - ruby: 2.5.7 gemfile: Gemfile.4.2.pg - ruby: 2.5.7 gemfile: Gemfile.5.2.pg - ruby: 2.5.7 gemfile: Gemfile.6.1.pg - ruby: 2.7.4 gemfile: Gemfile.5.2.pg - ruby: 2.7.4 gemfile: Gemfile.6.1.pg - ruby: 3.0.2 gemfile: Gemfile.6.1.pg - ruby: 2.7.4 gemfile: Gemfile.7.0.pg - ruby: 3.0.2 gemfile: Gemfile.7.0.pg env: BUNDLE_GEMFILE: "${{ matrix.gemfile }}" steps: - uses: actions/checkout@v2 - name: Install ruby uses: ruby/setup-ruby@v1 with: ruby-version: "${{ matrix.ruby }}" - name: Setup database run: | sudo apt-get install -y postgresql-client PGPASSWORD=postgres psql -c 'create database test;' -U postgres -p 5432 -h localhost - name: Bundle run: | gem install bundler:2.2.26 bundle install --no-deployment - name: Run tests run: bundle exec rspec