diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..cfc3ef1 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,26 @@ +name: CI + +on: + pull_request: + branches: [main] + push: + branches: [main] + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: oven-sh/setup-bun@v2 + with: + # Pin to 1.1.39 - Bun segfaults during test cleanup on Linux due to + # timer callback bugs. This version has been most stable in testing. + # See: https://github.com/oven-sh/bun/issues/22452 + bun-version: "1.1.39" + + - run: bun install + + - run: bun run typecheck + + - run: bun run test diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d4cbbfb..65a4649 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -15,12 +15,14 @@ jobs: - uses: oven-sh/setup-bun@v2 with: - bun-version: latest + # Pin to 1.1.39 - Bun segfaults during test cleanup on Linux due to + # timer callback bugs. This version has been most stable in testing. + # See: https://github.com/oven-sh/bun/issues/22452 + bun-version: "1.1.39" - run: bun install - run: bun run build - run: bun run test - continue-on-error: true # Bun may crash on cleanup even if tests pass - run: bun run typecheck - uses: actions/setup-node@v4