BC-8452 - Add worker test #312
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: Test | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
workflow_dispatch: | |
permissions: | |
contents: read | |
env: | |
NODE_VERSION: '22' | |
jobs: | |
tests_cov: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
shard: [1] | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
- name: npm ci | |
run: npm ci --prefer-offline --no-audit | |
- name: Start UP MinIO | |
uses: infleet/[email protected] | |
with: | |
port: "9000" | |
version: "latest" | |
username: "miniouser" | |
password: "miniouser" | |
- name: test:cov - test all with coverage | |
timeout-minutes: 15 | |
run: export RUN_WITHOUT_JEST_COVERAGE='true' && export NODE_OPTIONS='--max_old_space_size=4096' && ./node_modules/.bin/jest --shard=${{ matrix.shard }}/${{ strategy.job-total }} --coverage --force-exit | |
- name: save-coverage | |
run: mv coverage/lcov.info coverage/${{matrix.shard}}.info | |
- name: "upload-artifacts" | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-artifacts-${{ matrix.shard }} | |
path: coverage/ | |
sonarcloud: | |
name: SonarCloud coverage | |
runs-on: ubuntu-latest | |
needs: [tests_cov] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: actions/download-artifact@v4 | |
with: | |
pattern: coverage-artifacts-* | |
path: coverage | |
merge-multiple: true | |
- name: Merge Code Coverage | |
run: | | |
sudo apt-get install -y lcov | |
find coverage -name *.info -exec echo -a {} \; | xargs lcov -o merged-lcov.info | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: '21' | |
- name: SonarCloud upload coverage | |
uses: SonarSource/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
SONAR_TOKEN: ${{ secrets.SONARCLOUD_TOKEN }} | |
lint: | |
runs-on: ubuntu-latest | |
timeout-minutes: 6 | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
- name: npm ci | |
run: npm ci --prefer-offline --no-audit | |
- name: lint | |
run: npm run lint |