Merge pull request #66 from arunas-smala/patch-1 #309
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Integration Test | |
on: | |
push: | |
branches: | |
- '**' | |
paths-ignore: | |
- '.vscode/**' | |
- 'benchmark/**' | |
- 'docs/**' | |
- 'examples/**' | |
- '*.md' | |
pull_request: | |
branches: | |
- master | |
paths-ignore: | |
- '.vscode/**' | |
- 'benchmark/**' | |
- 'docs/**' | |
- 'examples/**' | |
- '*.md' | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [18.x, 20.x] | |
adapter: ["NeDB", "MongoDB", "Knex-SQLite", "Knex-Postgresql", "Knex-MySQL", "Knex-MySQL2", "Knex-MSSQL"] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Install dependencies | |
run: npm ci | |
- name: Start containers for ${{ matrix.adapter }} adapter | |
run: docker compose up -d mongo && sleep 30 | |
if: ${{ matrix.adapter == 'MongoDB' }} | |
working-directory: ./test | |
- name: Start containers for ${{ matrix.adapter }} adapter | |
run: docker compose up -d postgres && sleep 30 | |
if: ${{ matrix.adapter == 'Knex-Postgresql' }} | |
working-directory: ./test | |
- name: Start containers for ${{ matrix.adapter }} adapter | |
run: docker compose up -d mysql && sleep 30 | |
if: ${{ matrix.adapter == 'Knex-MySQL' || matrix.adapter == 'Knex-MySQL2' }} | |
working-directory: ./test | |
- name: Start containers for ${{ matrix.adapter }} adapter | |
run: docker compose up -d mssql mssql-create-db && sleep 60 | |
if: ${{ matrix.adapter == 'Knex-MSSQL' }} | |
working-directory: ./test | |
- name: Check containers | |
run: docker compose ps | |
working-directory: ./test | |
- name: Check logs | |
run: docker compose logs | |
working-directory: ./test | |
- name: Run integration tests | |
run: npm run test:integration | |
timeout-minutes: 10 | |
env: | |
GITHUB_ACTIONS_CI: true | |
ADAPTER: ${{ matrix.adapter }} | |
# - name: Run leak detection tests | |
# run: npm run test:leak | |
# env: | |
# GITHUB_ACTIONS_CI: true | |
- name: Show container logs (in case of failure) | |
run: docker compose logs | |
if: failure() | |
working-directory: ./test | |
- name: Stop containers | |
run: docker compose down -v | |
working-directory: ./test | |
# - name: Upload code coverage | |
# run: npm run coverall | |
# if: success() && github.ref == 'refs/heads/master' | |
# env: | |
# COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_TOKEN }} |