Skip to content

Commit

Permalink
test: add Rails 7.1 support
Browse files Browse the repository at this point in the history
  • Loading branch information
blocknotes committed Oct 21, 2023
1 parent a604053 commit b7de90d
Show file tree
Hide file tree
Showing 7 changed files with 844 additions and 0 deletions.
61 changes: 61 additions & 0 deletions .github/workflows/specs_mysql_71.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
name: Specs Rails 7.1 MySQL

on:
pull_request:
branches: [main]
push:
branches: [main]

jobs:
tests:
runs-on: ubuntu-latest

strategy:
matrix:
ruby: ['2.7', '3.0', '3.1', '3.2']
gemfile: ['rails_7_1_mysql']

env:
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
DB_TEST: mysql
MYSQL_DB_HOST: 127.0.0.1
MYSQL_DB_USERNAME: root
MYSQL_DB_PASSWORD: root
RAILS: '7.1'

services:
mysql:
image: mysql
env:
MYSQL_USER: root
MYSQL_PASSWORD: root
# options: >-
# --health-cmd="mysqladmin ping"
# --health-interval 10s
# --health-timeout 5s
# --health-retries 5
ports:
- 3306:3306

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true

- name: Start database service
run: sudo /etc/init.d/mysql start

- name: Create database
run: bundle exec rails db:create

- name: Apply migrations
run: bundle exec rails db:migrate

- name: Run tests
run: bundle exec rspec --profile
73 changes: 73 additions & 0 deletions .github/workflows/specs_postgres_71.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
name: Specs Rails 7.1 Postgres

on:
pull_request:
branches: [main]
push:
branches: [main]

jobs:
tests:
runs-on: ubuntu-latest

strategy:
matrix:
ruby: ['2.7', '3.0', '3.1', '3.2']
gemfile: ['rails_7_1_postgres']

env:
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
DB_TEST: postgres
PG_DB_HOST: 127.0.0.1
PG_DB_USERNAME: postgres
PG_DB_PASSWORD: postgres
RAILS: '7.1'

services:
postgres:
image: postgres:latest
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432

steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true

- name: Create database
run: bundle exec rails db:create

- name: Apply migrations
run: bundle exec rails db:migrate

- name: Run tests
run: bundle exec rspec --profile

- name: Code Climate test coverage
uses: paambaati/codeclimate-action@v3.0.0
env:
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
with:
coverageLocations: |
${{github.workspace}}/coverage/lcov/active_storage_db.lcov:lcov
# - name: Upload coverage results
# uses: actions/upload-artifact@main
# if: always()
# with:
# name: coverage-report
# path: coverage/index.html
10 changes: 10 additions & 0 deletions Appraisals
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@ appraise 'rails-7_0-postgres' do
gem 'rails', '~> 7.0.0'
end

appraise 'rails-7_1-postgres' do
gem 'pg'
gem 'rails', '~> 7.1.0'
end

appraise 'rails-6_0-mysql' do
gem 'mysql2'
gem 'rails', '~> 6.0.0'
Expand All @@ -29,3 +34,8 @@ appraise 'rails-7_0-mysql' do
gem 'mysql2'
gem 'rails', '~> 7.0.0'
end

appraise 'rails-7_1-mysql' do
gem 'mysql2'
gem 'rails', '~> 7.1.0'
end
25 changes: 25 additions & 0 deletions gemfiles/rails_7_1_mysql.gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# This file was generated by Appraisal

source "https://rubygems.org"

gem "mysql2"
gem "rails", "~> 7.1.0"

group :development, :test do
gem "simplecov"
gem "simplecov-lcov"
gem "capybara"
gem "rspec_junit_formatter"
gem "rspec-rails"
gem "selenium-webdriver"
gem "brakeman"
gem "fasterer"
gem "rubocop"
gem "rubocop-packaging"
gem "rubocop-performance"
gem "rubocop-rails"
gem "rubocop-rspec"
gem "pry-rails"
end

gemspec path: "../"
Loading

0 comments on commit b7de90d

Please sign in to comment.