.github/workflows/tests.yml
---
name: Tests
on:
pull_request:
push:
workflow_dispatch:
inputs: {}
jobs:
build:
name: Tests with Ruby ${{ matrix.ruby }} with ${{ matrix.gemfile }}
runs-on: "ubuntu-latest"
strategy:
fail-fast: false
matrix:
ruby: ["3.0", "3.1", "3.2"]
gemfile:
- gemfiles/7_1.gemfile
- gemfiles/7_0.gemfile
- gemfiles/6_1.gemfile
services:
postgres:
image: postgres:11.5
ports: ["5432:5432"]
options:
--health-cmd pg_isready --health-interval 10s --health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@v3.4.0
- uses: actions/cache@v3.3.1
with:
path: vendor/bundle
key: >
${{ runner.os }}-${{ matrix.ruby }}-gems-${{
hashFiles('**/attr_keyring.gemspec') }}
restore-keys: >
${{ runner.os }}-${{ matrix.ruby }}-gems-${{
hashFiles('**/attr_keyring.gemspec') }}
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
- name: Install PostgreSQL 11 client
run: |
sudo apt-get -yqq install libpq-dev
- name: Install gem dependencies
env:
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
run: |
gem install bundler
bundle config path vendor/bundle
bundle update --jobs 4 --retry 3
- name: Run Tests
env:
PGHOST: localhost
PGUSER: postgres
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
run: |
psql -U postgres -c "create database test"
bundle exec rake