Skip to content

Remove sprockets config step, ensure propshaft compatibility #21

Remove sprockets config step, ensure propshaft compatibility

Remove sprockets config step, ensure propshaft compatibility #21

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
services:
postgresql:
image: postgres
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
POSTGRES_DB: inner_performance_gem_test
POSTGRES_USER: inner_performance
POSTGRES_PASSWORD: inner_performance
mysql2:
image: mysql:8.0
env:
MYSQL_ROOT_HOST: "%"
MYSQL_DATABASE: inner_performance_gem_test
MYSQL_USER: inner_performance
MYSQL_PASSWORD: inner_performance
MYSQL_ROOT_PASSWORD: inner_performance
options: >-
--health-cmd "mysqladmin ping"
--health-interval 10s
--health-timeout 5s
--health-retries 3
ports:
- "3306:3306"
strategy:
fail-fast: false
matrix:
ruby: ["3.2", "3.3"]
rails_version: ["7.2", "8.0"]
db: [sqlite3, postgresql, mysql2]
exclude:
# Not needed version combinations (just to cut down on noise)
# 3.1 on 7.0 mainly
- ruby: 3.1
rails_version: 7.2
db: sqlite3
- ruby: 3.1
rails_version: 7.1
db: sqlite3
- ruby: 3.1
rails_version: 7.1
db: mysql2
- ruby: 3.1
rails_version: 7.2
db: mysql2
# 3.2 on 7.1 and 7.2 mainly
- ruby: 3.2
rails_version: 7.0
db: sqlite3
- ruby: 3.2
rails_version: 7.0
db: mysql2
- ruby: 3.2
rails_version: 7.0
db: sqlite3
- ruby: 3.2
rails_version: 8.0
db: sqlite3
- ruby: 3.2
rails_version: 8.0
db: mysql2
- ruby: 3.3
rails_version: edge
# 3.3 on 8.0/edge mainly
- ruby: 3.3
rails_version: 7.0
- ruby: 3.3
rails_version: 7.1
- ruby: 3.3
rails_version: 7.2
db: sqlite3
- ruby: 3.3
rails_version: 7.2
db: mysql2
# Not supported version combinations
- ruby: 3.1
rails_version: 8.0
- ruby: 3.1
rails_version: edge
env:
RAILS_ENV: test
COVERAGE: 1
FERRUM_DEFAULT_TIMEOUT: 20
BUNDLE_GEMFILE: "spec/gemfiles/rails_${{ matrix.rails_version }}.gemfile"
DB: ${{ matrix.db }}
DB_HOST: 127.0.0.1
DB_POOL: 5
DB_USERNAME: inner_performance
DB_PASSWORD: inner_performance
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true # install gems and cache
- uses: browser-actions/setup-chrome@v1
- name: Setup DB
run: |
bundle exec rake db:create db:schema:load
- name: "Run Tests"
run: |
bundle exec rspec --force-color --format d
# - name: Test & publish code coverage
# uses: paambaati/[email protected]
# env:
# CC_TEST_REPORTER_ID: <code_climate_reporter_id>
rubocop:
runs-on: ubuntu-latest
env:
BUNDLE_GEMFILE: spec/gemfiles/rubocop.gemfile
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: 3.1
bundler-cache: true
- name: Rubocop
run: |
bundle exec rubocop