chore(deps): update dependency jest to v30.4.2 (main) #239
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: build | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - next | |
| - maint/** | |
| pull_request: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.number || github.ref }} | |
| cancel-in-progress: ${{ github.ref_name != 'main' && !startsWith(github.ref_name, 'maint/') && github.event_name != 'push' }} | |
| env: | |
| HUSKY: 0 | |
| DRY_RUN: ${{ github.ref_name != github.event.repository.default_branch && !startsWith(github.ref_name, 'maint/') }} | |
| permissions: | |
| contents: read | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: containerbase/internal-tools/setup@f8723091cfbf2dafad5686273c2772a981f29c66 # v4.6.31 | |
| with: | |
| save-cache: true | |
| - run: pnpm lint | |
| build: | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 15 | |
| steps: | |
| - name: ⚙️ Setup | |
| uses: containerbase/internal-tools/setup@f8723091cfbf2dafad5686273c2772a981f29c66 # v4.6.31 | |
| - name: build | |
| run: pnpm build | |
| - name: upload dist | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: dist | |
| path: | | |
| dist/ | |
| test: | |
| needs: | |
| - lint | |
| - build | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu | |
| - macos | |
| - windows | |
| node: | |
| - 22 | |
| include: | |
| # too slow and too many tests to run them on all os | |
| - os: ubuntu | |
| node: 24 | |
| - os: ubuntu | |
| node: 25 | |
| runs-on: ${{ matrix.os }}-latest | |
| name: test-${{ matrix.os }}-${{ matrix.node }} | |
| permissions: | |
| id-token: write # required for codecov OIDC | |
| steps: | |
| - uses: containerbase/internal-tools/setup@f8723091cfbf2dafad5686273c2772a981f29c66 # v4.6.31 | |
| with: | |
| save-cache: true | |
| node-version: ${{ matrix.node }} | |
| - name: fetch dist | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 | |
| with: | |
| name: dist | |
| path: dist | |
| - run: pnpm jest | |
| - name: Codecov test results | |
| if: github.event_name != 'merge_group' && !cancelled() | |
| uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0 | |
| with: | |
| use_oidc: true | |
| report_type: test_results | |
| flags: node${{ matrix.node }}-${{ runner.os }} | |
| - name: Codecov coverage results | |
| if: github.event_name != 'merge_group' | |
| uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0 | |
| with: | |
| use_oidc: true | |
| flags: node${{ matrix.node }}-${{ runner.os }} | |
| release: | |
| needs: | |
| - lint | |
| - build | |
| - test | |
| runs-on: ubuntu-24.04 | |
| # tests shouldn't need more time | |
| timeout-minutes: 15 | |
| permissions: | |
| contents: write | |
| id-token: write | |
| issues: write | |
| steps: | |
| # full checkout for semantic-release | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| fetch-depth: 0 | |
| show-progress: false | |
| filter: blob:none # we don't need all blobs | |
| - name: ⚙️ Setup | |
| uses: containerbase/internal-tools/setup@f8723091cfbf2dafad5686273c2772a981f29c66 # v4.6.31 | |
| with: | |
| checkout: false | |
| - name: fetch dist | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 | |
| with: | |
| name: dist | |
| path: dist | |
| - name: semantic-release | |
| run: | | |
| pnpm semantic-release --dry-run ${{env.DRY_RUN}} --ci ${{env.DRY_RUN != 'true'}} | |
| env: | |
| GITHUB_TOKEN: ${{ github.token }} | |
| # Catch-all required check for test matrix | |
| success: | |
| needs: | |
| - lint | |
| - test | |
| - release | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 1 | |
| if: always() | |
| steps: | |
| - name: Fail for failed or skipped lint job | |
| if: | | |
| needs.lint.result == 'failure' || | |
| needs.lint.result == 'skipped' | |
| run: exit 1 | |
| - name: Fail for failed or skipped test job | |
| if: | | |
| needs.test.result == 'failure' || | |
| needs.test.result == 'skipped' | |
| run: exit 1 | |
| - name: Fail for failed or skipped release job | |
| if: | | |
| needs.release.result == 'failure' || | |
| needs.release.result == 'skipped' | |
| run: exit 1 |