Fixes a bug in the Ransack v4 support #13
This file contains 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: CI | |
on: [push, pull_request] | |
jobs: | |
RSpec: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
rails: | |
- "6.1" | |
- "7.0" | |
ruby: | |
- "2.7" | |
- "3.0" | |
- "3.1" | |
database: | |
- mysql | |
- postgresql | |
- mariadb | |
env: | |
DB: ${{ matrix.database }} | |
DB_USER: alchemy_user | |
DB_PASSWORD: password | |
DB_HOST: "127.0.0.1" | |
RAILS_ENV: test | |
RAILS_VERSION: ${{ matrix.rails }} | |
services: | |
postgres: | |
image: postgres:11 | |
env: | |
POSTGRES_USER: alchemy_user | |
POSTGRES_PASSWORD: password | |
POSTGRES_DB: alchemy_cms_dummy_test | |
ports: ["5432:5432"] | |
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 | |
mysql: | |
image: mysql:latest | |
ports: ["3306:3306"] | |
env: | |
MYSQL_USER: alchemy_user | |
MYSQL_PASSWORD: password | |
MYSQL_DATABASE: alchemy_cms_dummy_test | |
MYSQL_ROOT_PASSWORD: password | |
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=5 | |
mariadb: | |
image: mariadb:latest | |
ports: ["3307:3306"] | |
env: | |
MARIADB_USER: alchemy_user | |
MARIADB_PASSWORD: password | |
MARIADB_DATABASE: alchemy_cms_dummy_test | |
MARIADB_ROOT_PASSWORD: password | |
options: --health-cmd="mariadb-admin ping" --health-interval=10s --health-timeout=5s --health-retries=5 | |
steps: | |
- uses: actions/[email protected] | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
bundler-cache: true | |
- name: Restore apt cache | |
id: apt-cache | |
uses: actions/[email protected] | |
with: | |
path: /home/runner/apt/cache | |
key: ${{ runner.os }}-apt-${{ matrix.database }} | |
restore-keys: | | |
${{ runner.os }}-apt- | |
- name: Install Postgres headers | |
if: matrix.database == 'postgresql' | |
run: | | |
mkdir -p /home/runner/apt/cache | |
sudo apt update -qq | |
sudo apt install -qq --fix-missing libpq-dev -o dir::cache::archives="/home/runner/apt/cache" | |
sudo chown -R runner /home/runner/apt/cache | |
- name: Install MySQL headers | |
if: matrix.database == 'mysql' || matrix.database == 'mariadb' | |
run: | | |
mkdir -p /home/runner/apt/cache | |
sudo apt update -qq | |
sudo apt install -qq --fix-missing libmysqlclient-dev -o dir::cache::archives="/home/runner/apt/cache" | |
sudo chown -R runner /home/runner/apt/cache | |
- name: Restore node modules cache | |
id: yarn-cache | |
uses: actions/[email protected] | |
with: | |
path: spec/dummy/node_modules | |
key: ${{ runner.os }}-yarn-dummy-${{ hashFiles('./package.json') }} | |
restore-keys: | | |
${{ runner.os }}-yarn-dummy- | |
- name: Prepare database | |
run: | | |
bundle exec rake alchemy:spec:prepare | |
- name: Run tests & publish code coverage | |
uses: paambaati/[email protected] | |
env: | |
CC_TEST_REPORTER_ID: bca4349e32f97919210ac8a450b04904b90683fcdd57d65a22c0f5065482bc22 | |
with: | |
coverageCommand: bundle exec rspec | |
- uses: actions/upload-artifact@main | |
if: failure() | |
with: | |
name: Screenshots | |
path: spec/dummy/tmp/screenshots | |
Jest: | |
runs-on: ubuntu-latest | |
env: | |
NODE_ENV: test | |
steps: | |
- uses: actions/[email protected] | |
- name: Restore node modules cache | |
uses: actions/[email protected] | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-yarn-${{ hashFiles('./package.json') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install yarn | |
run: yarn install | |
- name: Run jest | |
run: yarn jest |