Skip to content

Exclude versions

Exclude versions #15

Workflow file for this run

name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
# services:
# postgres:
# image: postgres
# ports:
# - 5432:5432
# options: >-
# --health-cmd pg_isready
# --health-interval 10s
# --health-timeout 5s
# --health-retries 5
# env:
# POSTGRES_DB: thredded_gem_test
# POSTGRES_USER: thredded
# POSTGRES_PASSWORD: thredded
# mysql:
# image: mysql
# ports:
# - 3306:3306
# options: >-
# --health-cmd mysqladmin ping
# --health-interval 10s
# --health-timeout 5s
# --health-retries 3
# env:
# MYSQL_DATABASE: thredded_gem_test
# MYSQL_USER: thredded
# MYSQL_PASSWORD: thredded
# MYSQL_ROOT_PASSWORD: thredded
strategy:
fail-fast: false
matrix:
ruby: ["2.7.8", "3.0.7", "3.1.6", "3.2.4", "3.3.4"]
node: ["14"]
rails_versions: ["6.0", "6.1", "7.0", "7.2", "main"] # "rubocop", "i18n-tasks"
# db: [sqlite3, postgres, mysql]
db: [sqlite3]
exclude:
# Not supported versions
- ruby: 2.7.8
rails_versions: 7.2
- ruby: 3.0.7
rails_versions: 7.2
- ruby: 2.7.8
rails_versions: main
- ruby: 3.0.7
rails_versions: main
# Logger Issues
- ruby: 3.3.4
rails_versions: main
- ruby: 3.3.4
rails_versions: 7.2
- ruby: 3.2.4
rails_versions: main
- ruby: 3.2.4
rails_versions: 7.2
- ruby: 3.1.6
rails_versions: main
- ruby: 3.1.6
rails_versions: 7.2
# Pysh issues
- ruby: 3.3.4
rails_versions: 6.1
- ruby: 3.3.4
rails_versions: 6.0
- ruby: 3.2.4
rails_versions: 6.1
- ruby: 3.2.4
rails_versions: 6.0
- ruby: 3.1.6
rails_versions: 6.1
- ruby: 3.1.6
rails_versions: 6.0
# include:
# - ruby: 2.7
# rails: rubocop
# db: null
# - ruby: 2.7
# rails: i18n-tasks
# db: null
env:
RAILS_ENV: test
COVERAGE: 1
FERRUM_DEFAULT_TIMEOUT: 20
BUNDLE_GEMFILE: "spec/gemfiles/rails_${{ matrix.gemfile }}.gemfile"
DB_USERNAME: thredded
DB_PASSWORD: thredded
steps:
- uses: actions/checkout@v4
- name: Set DB adapter
run: |
export DB=${{ matrix.db }}
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true # install gems and cache
- uses: browser-actions/setup-chrome@v1
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
- name: Install Node Packages via Yarn
run: |
if [[ $BUNDLE_GEMFILE != "${PWD}/spec/gemfiles/rails_5_2.gemfile" ]] && [[ -z $THREDDED_TESTAPP_SPROCKETS_JS ]]; then
cd spec/dummy && yarn && cd -
fi
- name: "Run Tests: test:nojs"
run: |
SIMPLECOV_NAME="test:nojs" bundle exec rspec --force-color --format d --tag=~js --tag=~i18n_tasks
- name: "Run Tests: test:js"
run: |
SIMPLECOV_NAME="test:js" bundle exec rspec --force-color --format d --tag=js
- name: "Run Tests: spec/migrations"
run: |
MIGRATION_SPEC=1 SIMPLECOV_NAME="test:migrations" bundle exec rspec spec/migration --force-color --format d
- name: "Run Tests: spec/configuration/run_all"
run: |
spec/configuration/run_all
- name: "Run Tests: run_spec_repeatedly"
run: |
bin/run_specs_repeatedly --tag=threaded_render
# - name: Test & publish code coverage
# uses: paambaati/codeclimate-action@v8.0.0
# env:
# CC_TEST_REPORTER_ID: <code_climate_reporter_id>
# - name: Cache Onebox Data and Views
# uses: actions/cache@v2
# with:
# path: |
# tmp/cache/onebox-data
# tmp/cache/onebox-views
# spec/dummy/tmp/cache/onebox-data
# spec/dummy/tmp/cache/onebox-views
# key: onebox-${{ runner.os }}-${{ matrix.ruby }}-${{ matrix.gemfile }}
# restore-keys: |
# onebox-${{ runner.os }}-${{ matrix.ruby }}-${{ matrix.gemfile }}
# - name: Notify Slack
# uses: 8398a7/action-slack@v3
# if: always()
# with:
# status: ${{ job.status }}
# author_name: GitHub Actions
# fields: repo,message,commit,author,action,eventName,ref,workflow,job,took
# env:
# SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}