Implement multiple datasources #487
Workflow file for this run
This file contains hidden or 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: CI | |
| 'on': | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| jobs: | |
| lint-dockerfile: | |
| name: Lint Dockerfile | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Git checkout | |
| uses: actions/checkout@v4 | |
| - name: Run Hadolint Dockerfile Linter | |
| uses: burdzwastaken/hadolint-action@master | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| HADOLINT_ACTION_DOCKERFILE_FOLDER: docker | |
| lint-code: | |
| name: Lint JavaScript | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Git checkout | |
| uses: actions/checkout@v4 | |
| - name: Use Node.js 24.x | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24.x | |
| - name: Install dependencies | |
| run: npm install | |
| - name: Run EsLint Node.js Linter | |
| run: npm run lint | |
| tests: | |
| name: Integration tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Git checkout | |
| uses: actions/checkout@v4 | |
| - name: Use Node.js 24.x | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24.x | |
| - name: Docker info | |
| run: | | |
| docker version | |
| docker info | |
| - name: Install dependencies | |
| run: | | |
| npm install | |
| - name: Run tests | |
| env: | |
| TESTCONTAINERS_RYUK_DISABLED: "true" | |
| DOCKER_HOST: "unix:///var/run/docker.sock" | |
| run: | | |
| npm test | |
| coverage: | |
| name: Test coverage | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Git checkout | |
| uses: actions/checkout@v4 | |
| - name: Use Node.js 24.x | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24.x | |
| - name: Install dependencies | |
| run: npm install | |
| - name: Run unit tests with coverage | |
| run: npm run test:coverage:unit | |
| - name: Docker info | |
| run: | | |
| docker version | |
| docker info | |
| - name: Run integration tests with coverage | |
| env: | |
| TESTCONTAINERS_RYUK_DISABLED: "true" | |
| DOCKER_HOST: "unix:///var/run/docker.sock" | |
| run: npm run test:coverage:integration | |
| - name: Validate coverage inputs | |
| run: | | |
| test -f coverage/unit/lcov.info | |
| test -f coverage/integration/lcov.info | |
| - name: Merge coverage reports | |
| run: npx --yes lcov-result-merger 'coverage/*/lcov.info' coverage/lcov.info | |
| - name: Upload coverage artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: coverage | |
| path: coverage | |
| if-no-files-found: error | |
| - name: Push coverage to Coveralls | |
| uses: coverallsapp/github-action@v2 | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| file: coverage/lcov.info | |
| format: lcov |