# --------------------------------------------------------------------------------------------
# This file is generated. Do not edit manually
# --------------------------------------------------------------------------------------------
name: Integration and unit tests
'on':
  push:
    branches:
      - master
      - develop
      - feature/**
      - hotfix/**
jobs:
  all-tests:
    runs-on: ubuntu-latest
    steps:
      - name: Use Node.js 18.x
        uses: actions/setup-node@v1
        with:
          node-version: 18.x
      - uses: actions/checkout@v3
        with:
          fetch-depth: 1
      - name: yarn install
        run: |
          yarn install
      - name: Integration tests
        run: |
          cd integration-tests
          yarn test:ci
      - name: Filter parser tests
        if: always()
        run: |
          cd packages/filterparser
          yarn test:ci
      - name: Datalib (perspective) tests
        if: always()
        run: |
          cd packages/datalib
          yarn test:ci
      - uses: tanmen/jest-reporter@v1
        if: always()
        with:
          github-token: '${{ secrets.GITHUB_TOKEN }}'
          result-file: integration-tests/result.json
          action-name: Integration tests
      - uses: tanmen/jest-reporter@v1
        if: always()
        with:
          github-token: '${{ secrets.GITHUB_TOKEN }}'
          result-file: packages/filterparser/result.json
          action-name: Filter parser test results
      - uses: tanmen/jest-reporter@v1
        if: always()
        with:
          github-token: '${{ secrets.GITHUB_TOKEN }}'
          result-file: packages/datalib/result.json
          action-name: Datalib (perspectives) test results
    services:
      postgres-integr:
        image: postgres
        env:
          POSTGRES_PASSWORD: Pwd2020Db
        options: '--health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5'
        ports:
          - '15000:5432'
      mysql-integr:
        image: 'mysql:8.0.18'
        env:
          MYSQL_ROOT_PASSWORD: Pwd2020Db
        ports:
          - '15001:3306'
      mssql-integr:
        image: mcr.microsoft.com/mssql/server
        env:
          ACCEPT_EULA: 'Y'
          SA_PASSWORD: Pwd2020Db
          MSSQL_PID: Express
        ports:
          - '15002:1433'
      clickhouse-integr:
        image: 'bitnami/clickhouse:24.8.4'
        env:
          CLICKHOUSE_ADMIN_PASSWORD: Pwd2020Db
        ports:
          - '15005:8123'
      oracle-integr:
        image: 'gvenzl/oracle-xe:21-slim'
        env:
          ORACLE_PASSWORD: Pwd2020Db
        ports:
          - '15006:1521'
