name: ci on: push: branches: [main, next, v4] pull_request: branches: ['*'] jobs: main: name: 'Main' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: oven-sh/setup-bun@v1 with: bun-version: '1.0.25' - run: bun install - run: bun run format - run: bun run lint - run: bun run build - run: bun run test denoify: name: "Checking if you've done denoify" runs-on: ubuntu-latest env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '18.x' - uses: oven-sh/setup-bun@v1 - run: bun install - run: | bun run denoify if [[ `git status --porcelain` ]]; then exit 1 fi deno: name: 'Deno' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: denoland/setup-deno@v1 with: deno-version: v1.x - run: env NAME=Deno deno test --allow-read --allow-env --allow-write -c runtime_tests/deno/deno.json runtime_tests/deno - run: deno test -c runtime_tests/deno-jsx/deno.precompile.json runtime_tests/deno-jsx - run: deno test -c runtime_tests/deno-jsx/deno.react-jsx.json runtime_tests/deno-jsx bun: name: 'Bun' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: oven-sh/setup-bun@v1 with: bun-version: '1.0.25' - run: bun run test:bun fastly: name: 'Fastly Compute' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: oven-sh/setup-bun@v1 - run: bun install - run: bun run build - run: bun run test:fastly node: name: 'Node.js v${{ matrix.node }}' runs-on: ubuntu-latest strategy: matrix: node: ['18.18.2', '20.x'] steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node }} - uses: oven-sh/setup-bun@v1 - run: bun install - run: bun run build - run: bun run test:node wrangler: name: 'Cloudflare Workers' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: oven-sh/setup-bun@v1 - run: bun install - run: bun run build - run: bun run test:wrangler lambda: name: 'AWS Lambda' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: oven-sh/setup-bun@v1 - run: bun install - run: bun run build - run: bun run test:lambda lambda-edge: name: 'Lambda@Edge' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: oven-sh/setup-bun@v1 - run: bun install --frozen-lockfile - run: bun run build - run: bun run test:lambda-edge