Skip to content

chore(deps): update dependency jest to v30.4.2 (main) #239

chore(deps): update dependency jest to v30.4.2 (main)

chore(deps): update dependency jest to v30.4.2 (main) #239

Workflow file for this run

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