Skip to content

fix: escape the double quotes of a translated text (if HTML for insta… #461

fix: escape the double quotes of a translated text (if HTML for insta…

fix: escape the double quotes of a translated text (if HTML for insta… #461

Workflow file for this run

name: Verify
on: [push]
jobs:
tests:
name: Tests
runs-on: ubuntu-latest
services:
postgres:
image: postgres:13.8
env:
POSTGRES_USER: "maglev"
POSTGRES_PASSWORD: "password"
ports:
- 5432:5432
# needed because the postgres container does not provide a healthcheck
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
mysql:
image: mysql:8.0
env:
MYSQL_DATABASE: "maglev_engine_test"
MYSQL_ROOT_PASSWORD: "password"
ports:
- 3306:3306
options: >-
--health-cmd "mysqladmin ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
mariadb:
image: mariadb:11.8
env:
MARIADB_DATABASE: "maglev_engine_test"
MARIADB_ROOT_PASSWORD: "password"
ports:
- 3307:3306
options: --health-cmd="healthcheck.sh --connect --innodb_initialized" --health-interval=10s --health-timeout=5s --health-retries=3
strategy:
matrix:
gemfile: ["Gemfile", "Gemfile.rails_7_0", "Gemfile.rails_7_2"]
database: [postgres, sqlite, mysql, mariadb]
exclude:
- gemfile: Gemfile.rails_7_0
database: mysql
- gemfile: Gemfile.rails_7_0
database: mariadb
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Ruby and install gems using ${{ matrix.gemfile }}
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
env:
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
- name: Install ImageMagick 🏞️
run: |
sudo apt-get update && sudo apt-get install -y imagemagick
- name: Enable Corepack before setting up Node
run: |
corepack enable
- name: Use Node.js v23
uses: actions/setup-node@v4
with:
node-version: 23
cache: yarn
- name: Install packages
run: |
yarn install
- name: Run Javascript tests
run: yarn test
# === Postgresql 🐘 ===
- name: Setup test database (Postgresql) 🐘
if: ${{ matrix.database == 'postgres' }}
env:
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
RAILS_ENV: test
MAGLEV_APP_DATABASE_USERNAME: "maglev"
MAGLEV_APP_DATABASE_PASSWORD: "password"
run: |
bin/rails db:setup
- name: Run Rails tests (Postgresql) 🐘
if: ${{ matrix.database == 'postgres' }}
env:
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
MAGLEV_APP_DATABASE_USERNAME: "maglev"
MAGLEV_APP_DATABASE_PASSWORD: "password"
run: bundle exec rspec
# === SQLite πŸͺ½ ===
- name: Setup test database (SQLite) πŸͺ½
if: ${{ matrix.database == 'sqlite' }}
env:
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
RAILS_ENV: test
USE_SQLITE: 1
run: |
cp spec/dummy/db/schema.rb spec/dummy/db/schema.pg.rb
cp spec/dummy/db/schema.sqlite.rb spec/dummy/db/schema.rb
cp spec/legacy_dummy/db/schema.rb spec/legacy_dummy/db/schema.pg.rb
cp spec/legacy_dummy/db/schema.sqlite.rb spec/legacy_dummy/db/schema.rb
bin/rails db:setup
- name: Run Rails tests (SQLite) πŸͺ½
if: ${{ matrix.database == 'sqlite' }}
env:
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
USE_SQLITE: 1
run: bundle exec rspec
# === MYSQL 🐬 ===
- name: Setup test database (MySQL) 🐬
if: ${{ matrix.database == 'mysql' }}
env:
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
RAILS_ENV: test
USE_MYSQL: 1
MAGLEV_APP_DATABASE_HOST: "127.0.0.1"
MAGLEV_APP_DATABASE_USERNAME: "root"
MAGLEV_APP_DATABASE_PASSWORD: "password"
run: |
cp spec/dummy/db/schema.mysql.rb spec/dummy/db/schema.rb
cp spec/legacy_dummy/db/schema.mysql.rb spec/legacy_dummy/db/schema.rb
bin/rails db:setup
- name: Run Rails tests (MySQL) 🐬
if: ${{ matrix.database == 'mysql' }}
env:
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
USE_MYSQL: 1
MAGLEV_APP_DATABASE_HOST: "127.0.0.1"
MAGLEV_APP_DATABASE_USERNAME: "root"
MAGLEV_APP_DATABASE_PASSWORD: "password"
run: bundle exec rspec
# === MariaDB 🦭===
- name: Setup test database (MariaDB) 🦭
if: ${{ matrix.database == 'mariadb' }}
env:
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
RAILS_ENV: test
USE_MYSQL: 1
MAGLEV_APP_DATABASE_HOST: "127.0.0.1"
MAGLEV_APP_DATABASE_PORT: 3307
MAGLEV_APP_DATABASE_USERNAME: "root"
MAGLEV_APP_DATABASE_PASSWORD: "password"
run: |
cp spec/dummy/db/schema.mariadb.rb spec/dummy/db/schema.rb
cp spec/legacy_dummy/db/schema.mariadb.rb spec/legacy_dummy/db/schema.rb
bin/rails db:setup
- name: Run Rails tests (MariaDB) 🦭
if: ${{ matrix.database == 'mariadb' }}
env:
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
USE_MYSQL: 1
MAGLEV_APP_DATABASE_HOST: "127.0.0.1"
MAGLEV_APP_DATABASE_PORT: 3307
MAGLEV_APP_DATABASE_USERNAME: "root"
MAGLEV_APP_DATABASE_PASSWORD: "password"
run: bundle exec rspec
# NOTE: disabled because an error of eslint in the GH env
# - name: Run Javascript linter
# run: yarn lint