openpencil/.github/workflows/heavy-tests.yml

36 lines
875 B
YAML

name: Heavy tests
on:
workflow_dispatch:
schedule:
- cron: '17 3 * * *'
concurrency:
group: heavy-tests-${{ github.ref }}
cancel-in-progress: true
jobs:
unit-tests:
name: Heavy and isolated unit tests
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v7
- uses: ./.github/actions/setup-bun
with:
lfs: 'true'
- name: Build packages
run: bun run build:packages
- name: Heavy fixture unit tests
run: bun run test:unit:heavy
# Fresh global object per file: a suite that only passes because an
# earlier file initialized a codec, loaded a font or left a database
# open fails here instead of flaking in a PR shard.
- name: Quick unit tests with per-file isolation
if: ${{ !cancelled() }}
run: bun run test:unit:isolated