Update docker-compose.yml #295
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 }} |