name: Test on: push: branches: [ master ] pull_request: branches: [ master ] jobs: test_sqlite: runs-on: ubuntu-latest strategy: fail-fast: false matrix: ruby: [ '3.0', '3.1', '3.2', '3.3' ] rails: [ '6.1', '7.0', '7.1' ] name: SQLite / Ruby ${{ matrix.ruby }} / Rails ${{ matrix.rails }} steps: - uses: actions/checkout@v4 - name: Setup Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - name: Install gems env: MATRIX_RAILS_VERSION: ${{ matrix.rails }} run: | export BUNDLE_GEMFILE="${GITHUB_WORKSPACE}/gemfiles/rails_${MATRIX_RAILS_VERSION}.gemfile" bundle install --jobs 4 --retry 3 - name: RSpec env: COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} DB: sqlite run: bundle exec rake test_mysql: runs-on: ubuntu-latest services: mysql: image: mysql:5.7 env: MYSQL_ROOT_PASSWORD: password ports: - 3306:3306 options: >- --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 strategy: fail-fast: false matrix: ruby: [ '3.0', '3.1', '3.2', '3.3' ] rails: [ '6.1', '7.0', '7.1' ] name: MySQL / Ruby ${{ matrix.ruby }} / Rails ${{ matrix.rails }} steps: - uses: actions/checkout@v4 - name: Setup Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - name: Install gems env: MATRIX_RAILS_VERSION: ${{ matrix.rails }} run: | export BUNDLE_GEMFILE="${GITHUB_WORKSPACE}/gemfiles/rails_${MATRIX_RAILS_VERSION}.gemfile" bundle install --jobs 4 --retry 3 - name: Setup database run: | mysql -e 'create database IF NOT EXISTS unread_test;' -u root --password=password -P 3306 -h 127.0.0.1 - name: RSpec env: COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} DB: mysql run: bundle exec rake test_postgres: runs-on: ubuntu-latest services: postgres: image: postgres env: POSTGRES_PASSWORD: postgres options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 ports: - 5432:5432 strategy: fail-fast: false matrix: ruby: [ '3.0', '3.1', '3.2', '3.3' ] rails: [ '6.1', '7.0', '7.1' ] name: PostgreSQL / Ruby ${{ matrix.ruby }} / Rails ${{ matrix.rails }} steps: - uses: actions/checkout@v4 - name: Setup Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - name: Install gems env: MATRIX_RAILS_VERSION: ${{ matrix.rails }} run: | export BUNDLE_GEMFILE="${GITHUB_WORKSPACE}/gemfiles/rails_${MATRIX_RAILS_VERSION}.gemfile" bundle install --jobs 4 --retry 3 - name: Setup database run: | PGPASSWORD=postgres psql -c 'create database unread_test;' -U postgres -p 5432 -h localhost - name: RSpec env: COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} DB: postgres run: bundle exec rake