Merge branch 'honojs:main' into main #30
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ci | |
on: | |
push: | |
branches: [main, next] | |
pull_request: | |
branches: ['*'] | |
paths-ignore: | |
- 'docs/**' | |
- '.vscode/**' | |
- 'README.md' | |
- '.gitignore' | |
- 'LICENSE' | |
jobs: | |
coverage: | |
name: 'Coverage' | |
runs-on: ubuntu-latest | |
needs: | |
# bun excluded because it uses built-in test tool which does not support coverage in v8/istanbul format. | |
# refer https://github.com/oven-sh/bun/issues/4015 | |
- main | |
- fastly | |
- node | |
- workerd | |
- lambda | |
- lambda-edge | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/download-artifact@v4 | |
with: | |
pattern: coverage-* | |
merge-multiple: true | |
path: ./coverage | |
- uses: codecov/codecov-action@v4 | |
with: | |
fail_ci_if_error: true | |
directory: ./coverage | |
token: ${{ secrets.CODECOV_TOKEN }} | |
main: | |
name: 'Main' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '20.x' | |
- 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 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-main | |
path: coverage/ | |
jsr-dry-run: | |
name: "Checking if it's valid for JSR" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: denoland/setup-deno@v1 | |
with: | |
deno-version: v1.x | |
- run: deno publish --dry-run | |
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 --coverage=coverage/raw/deno-runtime --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 --coverage=coverage/raw/deno-precompile-jsx runtime_tests/deno-jsx | |
- run: deno test -c runtime_tests/deno-jsx/deno.react-jsx.json --coverage=coverage/raw/deno-react-jsx runtime_tests/deno-jsx | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-deno | |
path: coverage/ | |
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 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-fastly | |
path: coverage/ | |
node: | |
name: 'Node.js v${{ matrix.node }}' | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node: ['18.18.2', '20.x', '22.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 | |
- uses: actions/upload-artifact@v4 | |
if: matrix.node == '22.x' | |
with: | |
name: coverage-node | |
path: coverage/ | |
workerd: | |
name: 'workerd' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '20.x' | |
- uses: oven-sh/setup-bun@v1 | |
- run: bun install | |
- run: bun run build | |
- run: bun run test:workerd | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-workerd | |
path: coverage/ | |
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 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-lambda | |
path: coverage/ | |
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 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-lambda-edge | |
path: coverage/ |