Add support for Rails 8.0 #717
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: Tests | |
on: | |
push: | |
branches: | |
- 'main' | |
pull_request: | |
types: [opened, synchronize, reopened] | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
ruby: [3.2, 3.3] | |
env: | |
PGHOST: localhost | |
PGUSER: administrate | |
PGPASSWORD: administrate | |
services: | |
postgres: | |
image: postgres | |
env: | |
POSTGRES_USER: administrate | |
POSTGRES_DB: administrate_test | |
POSTGRES_PASSWORD: administrate | |
ports: | |
- 5432:5432 | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Ruby ${{ matrix.ruby }} | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
bundler-cache: true | |
- name: Set up JS | |
uses: actions/setup-node@v4 | |
with: | |
cache: yarn | |
- name: Install Ruby dependencies | |
run: bundle install | |
- name: Install Appraisal dependencies | |
run: bundle exec appraisal install | |
- name: Install JS dependencies | |
run: yarn install | |
- name: Setup the environment | |
run: cp .sample.env .env | |
- run: cp spec/example_app/config/database.yml.sample spec/example_app/config/database.yml | |
- name: Setup the database | |
run: bundle exec rake db:setup | |
- name: Build assets | |
run: yarn run build && yarn run build:css | |
- name: Run tests | |
run: bundle exec rspec | |
appraisal: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
ruby: [3.1, 3.2, 3.3] | |
appraisal: [rails61, rails70, rails80, pundit21] | |
include: | |
- ruby: '3.0' | |
appraisal: rails60 | |
exclude: | |
- ruby: 3.1 | |
appraisal: rails80 | |
env: | |
PGHOST: localhost | |
PGUSER: administrate | |
PGPASSWORD: administrate | |
services: | |
postgres: | |
image: postgres | |
env: | |
POSTGRES_USER: administrate | |
POSTGRES_DB: administrate_test | |
POSTGRES_PASSWORD: administrate | |
ports: | |
- 5432:5432 | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup the environment | |
run: cp .sample.env .env | |
- run: cp spec/example_app/config/database.yml.sample spec/example_app/config/database.yml | |
- name: Prepare main database schema | |
run: bin/generate-database-schema | |
- name: Set up Ruby ${{ matrix.ruby }} | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
- name: Set up JS | |
uses: actions/setup-node@v4 | |
with: | |
cache: yarn | |
- name: Remove Ruby version specification | |
run: sed -i 's/^ruby\(.*\)//g' gemfiles/${{ matrix.appraisal }}.gemfile | |
- name: Install Ruby dependencies | |
run: bundle install | |
env: | |
BUNDLE_GEMFILE: gemfiles/${{ matrix.appraisal }}.gemfile | |
- name: Install JS dependencies | |
run: yarn install | |
- name: Build assets | |
run: yarn run build && yarn run build:css | |
- name: Run tests | |
run: bundle exec rspec | |
env: | |
BUNDLE_GEMFILE: gemfiles/${{ matrix.appraisal }}.gemfile |