Skip to content

Updating runner to use database versions and CI comparable to v7 #373

Updating runner to use database versions and CI comparable to v7

Updating runner to use database versions and CI comparable to v7 #373

Workflow file for this run

name: CI
on: [pull_request]
env:
SEQ_DB: sequelize_test
SEQ_USER: sequelize_test
SEQ_PW: sequelize_test
jobs:
test-sqlite:
strategy:
fail-fast: false
matrix:
# node 10 is the minimum supported version for Sequelize 6
# node 18 is the minimum supported version for Sequelize 7
# node 20 is latest LTS (to keep updated)
node: [10, 18, 20]
name: SQLite (sequelize 6 & 7, node ${{ matrix.node }})
runs-on: ubuntu-latest
env:
DIALECT: sqlite
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
- run: /bin/bash ./setup/prepare-ci.sh
- name: Execute SSCCE
run: npm run _test
test-postgres:
strategy:
fail-fast: false
matrix:
postgres-version: [9.5, 10] # Does not work with 12
native: [true, false]
node: [10, 18, 20]
name: Postgres ${{ matrix.postgres-version }}${{ matrix.native && ' (native)' || '' }} (sequelize 6 & 7, node ${{ matrix.node }})
runs-on: ubuntu-latest
services:
postgres:
image: sushantdhiman/postgres:${{ matrix.postgres-version }}
env:
POSTGRES_USER: sequelize_test
POSTGRES_DB: sequelize_test
POSTGRES_PASSWORD: sequelize_test
ports:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
env:
DIALECT: ${{ matrix.native && 'postgres-native' || 'postgres' }}
steps:
- run: PGPASSWORD=sequelize_test psql -h localhost -p 5432 -U sequelize_test sequelize_test -c '\l'
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
- run: /bin/bash ./setup/prepare-ci.sh
- name: Execute SSCCE
run: npm run _test
test-mysql-mariadb:
strategy:
fail-fast: false
matrix:
node: [10, 18, 20]
db:
- '{ name: "MySQL 5.7", image: "mysql:5.7", dialect: "mysql" }'
- '{ name: "MariaDB 10.3", image: "mariadb:10.3", dialect: "mariadb" }'
name: ${{ fromJson(matrix.db).name }} (node ${{ matrix.node }})
runs-on: ubuntu-latest
services:
mysql:
image: ${{ fromJson(matrix.db).image }}
env:
MYSQL_DATABASE: sequelize_test
MYSQL_USER: sequelize_test
MYSQL_PASSWORD: sequelize_test
MYSQL_ROOT_PASSWORD: sequelize_test
ports:
- 3306:3306
options: --health-cmd="mysqladmin -usequelize_test -psequelize_test status" --health-interval 10s --health-timeout 5s --health-retries 5 --tmpfs /var/lib/mysql:rw
env:
DIALECT: ${{ fromJson(matrix.db).dialect }}
steps:
- run: mysql --host 127.0.0.1 --port 3306 -uroot -psequelize_test -e "GRANT ALL ON *.* TO 'sequelize_test'@'%' with grant option; FLUSH PRIVILEGES;"
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
- run: /bin/bash ./setup/prepare-ci.sh
- name: Execute SSCCE
run: npm run _test
test-mssql:
strategy:
fail-fast: false
matrix:
node: [10, 18, 20]
mssql-version: [2017, 2019]
name: MSSQL ${{ matrix.mssql-version }} (sequelize 6 & 7, node ${{ matrix.node }})
runs-on: ubuntu-latest
services:
mssql:
image: mcr.microsoft.com/mssql/server:${{ matrix.mssql-version }}-latest
env:
ACCEPT_EULA: Y
SA_PASSWORD: Password12!
ports:
- 1433:1433
options: >-
--health-cmd="/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "Password12!" -l 30 -Q \"SELECT 1\" || exit 1"
--health-start-period 10s
--health-interval 10s
--health-timeout 5s
--health-retries 10
env:
DIALECT: mssql
steps:
- run: /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "Password12!" -Q "CREATE DATABASE sequelize_test; ALTER DATABASE sequelize_test SET READ_COMMITTED_SNAPSHOT ON;"
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
- run: /bin/bash ./setup/prepare-ci.sh
- name: Execute SSCCE
run: npm run _test