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