Created
October 17, 2022 08:35
-
-
Save ZilvinasKucinskas/c7dd9c5aaf4d17d29672a38677610a57 to your computer and use it in GitHub Desktop.
Github Action with PG, MySQL, SQLite
This file contains hidden or 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: | |
pull_request: | |
branches: | |
- '*' | |
push: | |
branches: | |
- master | |
jobs: | |
sqlite: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
ruby: ['2.7', '3.0', '3.1'] | |
gemfile: | |
- rails_5_2 | |
- rails_6 | |
- rails_6_1 | |
- rails_7 | |
- rails_master | |
exclude: | |
- ruby: '3.0' | |
gemfile: 'rails_5_2' | |
- ruby: '3.1' | |
gemfile: 'rails_5_2' | |
env: | |
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile | |
BUNDLE_PATH_RELATIVE_TO_CWD: true | |
steps: | |
- uses: actions/checkout@master | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
bundler: default | |
bundler-cache: true | |
- name: StandardRb check | |
run: bundle exec standardrb | |
- name: Run tests | |
env: | |
DATABASE_URL: "sqlite3:noticed_test" | |
RAILS_ENV: test | |
run: | | |
bundle exec rails db:test:prepare | |
bundle exec rails test | |
mysql: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
ruby: ['2.7', '3.0', '3.1'] | |
gemfile: | |
- rails_5_2 | |
- rails_6 | |
- rails_6_1 | |
- rails_7 | |
- rails_master | |
exclude: | |
- ruby: '3.0' | |
gemfile: 'rails_5_2' | |
- ruby: '3.1' | |
gemfile: 'rails_5_2' | |
env: | |
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile | |
BUNDLE_PATH_RELATIVE_TO_CWD: true | |
services: | |
mysql: | |
image: mysql:8 | |
env: | |
MYSQL_ROOT_PASSWORD: password | |
MYSQL_DATABASE: test | |
ports: ['3306:3306'] | |
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 | |
steps: | |
- uses: actions/checkout@master | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
bundler: default | |
bundler-cache: true | |
- name: StandardRb check | |
run: bundle exec standardrb | |
- name: Run tests | |
env: | |
DATABASE_URL: mysql2://root:[email protected]:3306/test | |
RAILS_ENV: test | |
run: | | |
bundle exec rails db:test:prepare | |
bundle exec rails test | |
postgres: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
ruby: ['2.7', '3.0', '3.1'] | |
gemfile: | |
- rails_5_2 | |
- rails_6 | |
- rails_6_1 | |
- rails_7 | |
- rails_master | |
exclude: | |
- ruby: '3.0' | |
gemfile: 'rails_5_2' | |
- ruby: '3.1' | |
gemfile: 'rails_5_2' | |
env: | |
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile | |
BUNDLE_PATH_RELATIVE_TO_CWD: true | |
services: | |
postgres: | |
image: postgres:12 | |
env: | |
POSTGRES_USER: postgres | |
POSTGRES_PASSWORD: password | |
POSTGRES_DB: test | |
ports: ['5432:5432'] | |
steps: | |
- uses: actions/checkout@master | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
bundler: default | |
bundler-cache: true | |
- name: StandardRb check | |
run: bundle exec standardrb | |
- name: Run tests | |
env: | |
DATABASE_URL: postgres://postgres:password@localhost:5432/test | |
RAILS_ENV: test | |
run: | | |
bundle exec rails db:test:prepare | |
bundle exec rails test |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment