Skip to content

Test on newest and the oldest supported PostgreSQL versions #1218

Test on newest and the oldest supported PostgreSQL versions

Test on newest and the oldest supported PostgreSQL versions #1218

Workflow file for this run

name: dres_rails
on:
repository_dispatch:
types:
- script
workflow_dispatch:
schedule:
- cron: "0 17 * * *"
push:
paths:
- "contrib/dres_rails/**"
- "contrib/dres_client/**"
- ".github/workflows/dres_rails.yml"
- "support/**"
- "!support/bundler/**"
- "!support/ci/**"
pull_request:
types: [opened, reopened]
paths:
- "contrib/dres_rails/**"
- "contrib/dres_client/**"
- ".github/workflows/dres_rails.yml"
- "support/**"
- "!support/bundler/**"
- "!support/ci/**"
jobs:
test:
runs-on: ubuntu-20.04
env:
WORKING_DIRECTORY: contrib/dres_rails
RUBY_VERSION: "${{ matrix.ruby_version }}"
BUNDLE_GEMFILE: "${{ matrix.bundle_gemfile }}"
DATABASE_URL: "${{ matrix.database_url }}"
DATA_TYPE: "${{ matrix.data_type }}"
services:
postgres_11:
image: postgres:11
env:
POSTGRES_DB: rails_event_store
POSTGRES_PASSWORD: secret
ports:
- 10011:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
postgres_15:
image: postgres:15
env:
POSTGRES_DB: rails_event_store
POSTGRES_PASSWORD: secret
ports:
- 10015:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
strategy:
fail-fast: false
matrix:
include:
- ruby_version: ruby-3.2
bundle_gemfile: Gemfile
database_url: postgres://postgres:secret@localhost:10011/rails_event_store?pool=5
data_type: binary
- ruby_version: ruby-3.1
bundle_gemfile: Gemfile
database_url: postgres://postgres:secret@localhost:10011/rails_event_store?pool=5
data_type: binary
- ruby_version: ruby-3.0
bundle_gemfile: Gemfile
database_url: postgres://postgres:secret@localhost:10011/rails_event_store?pool=5
data_type: binary
- ruby_version: ruby-3.2
bundle_gemfile: Gemfile
database_url: postgres://postgres:secret@localhost:10011/rails_event_store?pool=5
data_type: json
- ruby_version: ruby-3.2
bundle_gemfile: Gemfile
database_url: postgres://postgres:secret@localhost:10011/rails_event_store?pool=5
data_type: jsonb
- ruby_version: ruby-3.2
bundle_gemfile: Gemfile
database_url: postgres://postgres:secret@localhost:10015/rails_event_store?pool=5
data_type: binary
- ruby_version: ruby-3.2
bundle_gemfile: Gemfile
database_url: postgres://postgres:secret@localhost:10015/rails_event_store?pool=5
data_type: json
- ruby_version: ruby-3.2
bundle_gemfile: Gemfile
database_url: postgres://postgres:secret@localhost:10015/rails_event_store?pool=5
data_type: jsonb
steps:
- uses: actions/checkout@v3
- run: test -e ${{ matrix.bundle_gemfile }}.lock
working-directory: ${{ env.WORKING_DIRECTORY }}
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby_version }}
bundler-cache: true
working-directory: ${{ env.WORKING_DIRECTORY }}
- run: make test
working-directory: ${{ env.WORKING_DIRECTORY }}