Skip to content

Merge pull request #144 from jgraichen/f/rails-7-2 #51

Merge pull request #144 from jgraichen/f/rails-7-2

Merge pull request #144 from jgraichen/f/rails-7-2 #51

Workflow file for this run

name: CI
on:
pull_request:
types: [ opened, reopened, synchronize ]
push:
branches:
- 'main'
jobs:
test:
name: Test
runs-on: ubuntu-latest
env:
POSTGRES_DB: upsert_test
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
continue-on-error: ${{ matrix.experimental }}
services:
postgres:
image: postgres
env:
POSTGRES_DB: upsert_test
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
strategy:
fail-fast: false
matrix:
ruby-version: ["2.6", "2.7", "3.0"]
gemfile: [Gemfile.rails-5-2, Gemfile.rails-6-0, Gemfile.rails-6-1]
experimental: [false]
include:
- ruby-version: "2.7"
gemfile: Gemfile.rails-7-0
experimental: false
- ruby-version: "3.0"
gemfile: Gemfile.rails-7-0
experimental: false
- ruby-version: "3.1"
gemfile: Gemfile.rails-7-0-ruby-3-1
experimental: false
- ruby-version: "3.2"
gemfile: Gemfile.rails-7-1
experimental: false
- ruby-version: "3.3"
gemfile: Gemfile.rails-7-2
experimental: false
- ruby-version: "3.3"
gemfile: Gemfile.rails-main
experimental: true
exclude:
- ruby-version: "3.0" # https://github.com/rails/rails/issues/40938
gemfile: Gemfile.rails-5-2
steps:
- uses: actions/checkout@v3
- name: Prepare database
run: |
psql postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@localhost:5432/$POSTGRES_DB < spec/dummy/db/structure.sql
- name: Copy over Gemfile
env:
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
run: |
mv $BUNDLE_GEMFILE Gemfile
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby-version }}
bundler-cache: true
- name: Run Tests
run: |
export DATABASE_URL=postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@localhost:5432/$POSTGRES_DB
bundle exec rake spec