Skip to content

v3.13.3

v3.13.3 #93

Workflow file for this run

name: 'Tests'
on:
push:
branches:
- main
pull_request:
paths-ignore:
- 'docs/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}
cancel-in-progress: true
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
lint:
name: 'lint (node: ${{ matrix.node }})'
runs-on: ubuntu-latest
strategy:
matrix:
node: [18]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- uses: actions/cache@v3
with:
path: '**/node_modules'
key: ${{ runner.os }}-${{ matrix.node }}-${{ hashFiles('**/yarn.lock') }}
- run: yarn install --frozen-lockfile
- name: Run lint
run: yarn run -s lint
unit_back:
name: 'unit_back (node: ${{ matrix.node }})'
needs: [lint]
runs-on: ubuntu-latest
strategy:
matrix:
node: [18]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- uses: actions/cache@v3
with:
path: '**/node_modules'
key: ${{ runner.os }}-${{ matrix.node }}-${{ hashFiles('**/yarn.lock') }}
- run: yarn install --frozen-lockfile
- name: Run tests
run: yarn run -s test:unit --coverage
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
directory: ./coverage
flags: back,unit_back
unit_front:
name: 'unit_front (node: ${{ matrix.node }})'
needs: [lint]
runs-on: ubuntu-latest
strategy:
matrix:
node: [18]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- uses: actions/cache@v3
with:
path: '**/node_modules'
key: ${{ runner.os }}-${{ matrix.node }}-${{ hashFiles('**/yarn.lock') }}
- run: yarn install --frozen-lockfile
- name: Build
run: yarn build
- name: Run test
run: yarn run -s test:front:ce --coverage
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
directory: ./coverage
flags: front,unit_front
# TEMP: disable to save time
# e2e_ce_pg:
# runs-on: ubuntu-latest
# needs: [lint, unit_back, unit_front]
# name: '[CE] E2E (postgres, node: ${{ matrix.node }})'
# strategy:
# matrix:
# node: [18]
# max-parallel: 2
# services:
# postgres:
# # Docker Hub image
# image: postgres
# # Provide the password for postgres
# env:
# POSTGRES_USER: strapi
# POSTGRES_PASSWORD: strapi
# POSTGRES_DB: strapi_test
# # Set health checks to wait until postgres has started
# options: >-
# --health-cmd pg_isready
# --health-interval 10s
# --health-timeout 5s
# --health-retries 5
# ports:
# # Maps tcp port 5432 on service container to the host
# - 5432:5432
# steps:
# - uses: actions/checkout@v3
# - uses: actions/setup-node@v3
# with:
# node-version: ${{ matrix.node }}
# - uses: ./.github/actions/install-modules
# - uses: ./.github/actions/run-e2e-tests
# with:
# dbOptions: '--dbclient=postgres --dbhost=localhost --dbport=5432 --dbname=strapi_test --dbusername=strapi --dbpassword=strapi'
# TEMP - disabled
# e2e_ce_mysql:
# runs-on: ubuntu-latest
# needs: [lint, unit_back, unit_front]
# name: '[CE] E2E (mysql, node: ${{ matrix.node }})'
# strategy:
# matrix:
# node: [18]
# max-parallel: 2
# services:
# mysql:
# image: mysql
# options: >-
# --health-cmd="mysqladmin ping"
# --health-interval=10s
# --health-timeout=5s
# --health-retries=3
# -e MYSQL_ROOT_PASSWORD=strapi
# -e MYSQL_ROOT_HOST="%"
# -e MYSQL_USER=strapi
# -e MYSQL_PASSWORD=strapi
# -e MYSQL_DATABASE=strapi_test
# --entrypoint sh mysql -c "exec docker-entrypoint.sh mysqld --default-authentication-plugin=mysql_native_password"
# ports:
# # Maps tcp port 5432 on service container to the host
# - 3306:3306
# steps:
# - uses: actions/checkout@v3
# - uses: actions/setup-node@v3
# with:
# node-version: ${{ matrix.node }}
# - uses: ./.github/actions/install-modules
# - uses: ./.github/actions/run-e2e-tests
# with:
# dbOptions: '--dbclient=mysql --dbhost=localhost --dbport=3306 --dbname=strapi_test --dbusername=strapi --dbpassword=strapi'
e2e_ce_sqlite:
runs-on: ubuntu-latest
needs: [lint, unit_back, unit_front]
name: '[CE] E2E (sqlite, node: ${{ matrix.node }})'
strategy:
matrix:
node: [18]
sqlite_pkg: ['better-sqlite3']
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- uses: actions/cache@v3
with:
path: '**/node_modules'
key: ${{ runner.os }}-${{ matrix.node }}-${{ hashFiles('**/yarn.lock') }}
- run: yarn install --frozen-lockfile
- uses: ./.github/actions/run-e2e-tests
with:
dbOptions: '--dbclient=sqlite --dbfile=./tmp/data.db'
e2e_ce_mongo:
runs-on: ubuntu-latest
needs: [lint, unit_back, unit_front]
name: '[CE] E2E (mongo, node: ${{ matrix.node }})'
strategy:
matrix:
node: [18]
max-parallel: 2
services:
mongo:
image: mongo
ports:
- 27017:27017
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- uses: actions/cache@v3
with:
path: '**/node_modules'
key: ${{ runner.os }}-${{ matrix.node }}-${{ hashFiles('**/yarn.lock') }}
- run: yarn install --frozen-lockfile
- uses: ./.github/actions/run-e2e-tests
with:
dbOptions: '--dbclient=mongo --dbhost=localhost --dbport=27017 --dbname=strapi_test'