Skip to content

feat: Vite 8 + Rolldown #5275

feat: Vite 8 + Rolldown

feat: Vite 8 + Rolldown #5275

Workflow file for this run

name: Checks and Tests
on:
push:
tags-ignore:
- '**'
paths-ignore:
- '**/*.md'
- '**/CHANGELOG.md'
- '**/package.json'
- 'bun.lock'
pull_request:
paths-ignore:
- '**/*.md'
- '**/CHANGELOG.md'
- '**/package.json'
- 'bun.lock'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
jobs:
checks:
runs-on: ubuntu-latest
if: github.event_name == 'push' || github.event_name == 'pull_request'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install
uses: ./.github/actions/install
with:
install-playwright: 'false'
- name: Security Audit
# ignore minimatch ReDoS (GHSA-3ppc-4f35-3m26) - can't force resolve without breaking depcheck
run: bun audit --audit-level high --ignore=GHSA-3ppc-4f35-3m26
- name: Check
run: bun run check
# workaround of node_modules/.bin/biome not being executable
- run: chmod +x node_modules/@biomejs/biome/bin/biome
- name: Lint
run: bun run lint
- name: Typecheck
run: bun run typecheck
tests:
runs-on: ubuntu-latest
timeout-minutes: 45
if: github.event_name == 'push' || github.event_name == 'pull_request'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install
uses: ./.github/actions/install
- name: Test
run: |
# use timeout to force-kill tests if they hang (20 min should be plenty)
# capture output to check if tests passed even if timeout kills hanging cleanup
timeout --signal=KILL 1200 bun run test 2>&1 | tee test-output.log || {
exit_code=$?
if [ $exit_code -eq 137 ]; then
echo "Process killed after timeout - checking if tests passed..."
# check if vitest reported success before hanging
if grep -q "Test Files.*passed" test-output.log && ! grep -q "FAIL\|Error\|failed" test-output.log; then
echo "Tests passed but cleanup hung - treating as success"
exit 0
fi
echo "Tests did not pass or had errors"
exit 1
fi
exit $exit_code
}
env:
NODE_OPTIONS: --max-old-space-size=4096