name: Unit Tests on: [push, pull_request, merge_group] permissions: contents: read jobs: unit-test: runs-on: ubuntu-latest steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 # uses version from "packageManager" field in package.json - name: Setup Node.js uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 with: cache: pnpm node-version-file: '.node-version' - name: Install Packages run: | pnpm install --frozen-lockfile env: CYPRESS_CACHE_FOLDER: .cache/Cypress - name: Run Unit Tests run: | pnpm test:coverage - name: Run ganttDb tests using California timezone env: # Makes sure that gantt db works even in a timezone that has daylight savings # since some days have 25 hours instead of 24. TZ: America/Los_Angeles run: | pnpm exec vitest run ./packages/mermaid/src/diagrams/gantt/ganttDb.spec.ts --coverage - name: Verify out-of-tree build with TypeScript run: | pnpm test:check:tsc - name: Upload Coverage to Codecov uses: codecov/codecov-action@13ce06bfc6bbe3ecf90edbbf1bc32fe5978ca1d3 # v5.3.1 # Run step only pushes to develop and pull_requests if: ${{ github.event_name == 'pull_request' || github.ref == 'refs/heads/develop' }} with: files: ./coverage/vitest/lcov.info flags: unit name: mermaid-codecov fail_ci_if_error: false verbose: true token: 6845cc80-77ee-4e17-85a1-026cd95e0766