Files
directus/.github/workflows/blackbox-main.yml
Pascal Jufer 5b256f64c6 Use pnpm 8.1.0, define version via packageManager field, clean-up other version definitions (#17993)
* Use `packageManager` field to define pnpm version in one place

* Update to pnpm 8.1.0 (see also #17990)

* Enforce pnpm >= 8 via `engines`

* Clean-up `engines` & remove `volta`

* Add dedup workaround, consolidate test env prepare steps

* No checkout, no action :-)

* Bump minimal pnpm version to 8.1.0

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>

---------

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2023-04-04 15:20:25 -04:00

69 lines
1.7 KiB
YAML

name: Blackbox Tests
on:
push:
branches:
- main
paths:
- api/**
- tests-blackbox/**
- packages/**
- package.json
- pnpm-lock.yaml
- .github/workflows/blackbox-main.yml
concurrency:
group: blackbox-main
cancel-in-progress: true
env:
NODE_OPTIONS: --max_old_space_size=6144
jobs:
test:
name: ${{ matrix.vendor }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
vendor:
- sqlite3
- postgres
- postgres10
- mysql
- mysql5
- maria
- mssql
- oracle
- cockroachdb
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Prepare test env
uses: ./.github/actions/prepare-test-env
- name: Install Oracle client
if: matrix.vendor == 'oracle'
run: |
sudo apt update -y && sudo apt install -y alien libaio1 && \
wget https://download.oracle.com/otn_software/linux/instantclient/214000/$ORACLE_DL && \
sudo alien -i $ORACLE_DL && \
pnpm -w -D add oracledb
env:
ORACLE_DL: oracle-instantclient-basic-21.4.0.0.0-1.el8.x86_64.rpm
- name: Start services (SQLite)
if: matrix.vendor == 'sqlite3'
run:
docker compose -f tests-blackbox/docker-compose.yml up auth-saml redis minio minio-mc -d --quiet-pull --wait
- name: Start services (other vendors)
if: matrix.vendor != 'sqlite3'
run:
docker compose -f tests-blackbox/docker-compose.yml up ${{ matrix.vendor }} auth-saml redis minio minio-mc -d
--quiet-pull --wait
- name: Run tests
run: TEST_DB=${{ matrix.vendor }} pnpm run -w test:blackbox