Skip to content

refactor: jsonErrorReplacer to use explicit Error type (#125) #119

refactor: jsonErrorReplacer to use explicit Error type (#125)

refactor: jsonErrorReplacer to use explicit Error type (#125) #119

Workflow file for this run

name: Benchmark
on:
push:
branches:
- main
pull_request:
branches:
- main
env:
K6_VERSION: v0.44.1
PORT: 50000
jobs:
http:
name: http
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up node
uses: actions/setup-node@v3
with:
node-version-file: .nvmrc
cache: yarn
- name: Install
run: yarn install --immutable
- name: Download k6
run: |
curl https://github.com/grafana/k6/releases/download/${{ env.K6_VERSION }}/k6-${{ env.K6_VERSION }}-linux-amd64.tar.gz -L | tar xvz --strip-components 1
- name: Run
run: yarn tsx benchmark/servers/http.ts &
- name: Benchmark
run: ./k6 run benchmark/k6.mjs --summary-export summary.json
- name: Summary
run: |
echo '```json' >> $GITHUB_STEP_SUMMARY
cat summary.json >> $GITHUB_STEP_SUMMARY
echo -e '\n```' >> $GITHUB_STEP_SUMMARY
express:
name: express
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up node
uses: actions/setup-node@v3
with:
node-version-file: .nvmrc
cache: yarn
- name: Install
run: yarn install --immutable
- name: Download k6
run: |
curl https://github.com/grafana/k6/releases/download/${{ env.K6_VERSION }}/k6-${{ env.K6_VERSION }}-linux-amd64.tar.gz -L | tar xvz --strip-components 1
- name: Run
run: yarn tsx benchmark/servers/express.ts &
- name: Benchmark
run: ./k6 run benchmark/k6.mjs --summary-export summary.json
- name: Summary
run: |
echo '```json' >> $GITHUB_STEP_SUMMARY
cat summary.json >> $GITHUB_STEP_SUMMARY
echo -e '\n```' >> $GITHUB_STEP_SUMMARY
fastify:
name: fastify
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up node
uses: actions/setup-node@v3
with:
node-version-file: .nvmrc
cache: yarn
- name: Install
run: yarn install --immutable
- name: Download k6
run: |
curl https://github.com/grafana/k6/releases/download/${{ env.K6_VERSION }}/k6-${{ env.K6_VERSION }}-linux-amd64.tar.gz -L | tar xvz --strip-components 1
- name: Run
run: yarn tsx benchmark/servers/fastify.ts &
- name: Benchmark
run: ./k6 run benchmark/k6.mjs --summary-export summary.json
- name: Summary
run: |
echo '```json' >> $GITHUB_STEP_SUMMARY
cat summary.json >> $GITHUB_STEP_SUMMARY
echo -e '\n```' >> $GITHUB_STEP_SUMMARY
koa:
name: koa
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up node
uses: actions/setup-node@v3
with:
node-version-file: .nvmrc
cache: yarn
- name: Install
run: yarn install --immutable
- name: Download k6
run: |
curl https://github.com/grafana/k6/releases/download/${{ env.K6_VERSION }}/k6-${{ env.K6_VERSION }}-linux-amd64.tar.gz -L | tar xvz --strip-components 1
- name: Run
run: yarn tsx benchmark/servers/koa.ts &
- name: Benchmark
run: ./k6 run benchmark/k6.mjs --summary-export summary.json
- name: Summary
run: |
echo '```json' >> $GITHUB_STEP_SUMMARY
cat summary.json >> $GITHUB_STEP_SUMMARY
echo -e '\n```' >> $GITHUB_STEP_SUMMARY
uWebSockets:
name: uWebSockets
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up node
uses: actions/setup-node@v3
with:
node-version-file: .nvmrc
cache: yarn
- name: Install
run: yarn install --immutable
- name: Download k6
run: |
curl https://github.com/grafana/k6/releases/download/${{ env.K6_VERSION }}/k6-${{ env.K6_VERSION }}-linux-amd64.tar.gz -L | tar xvz --strip-components 1
- name: Run
run: yarn tsx benchmark/servers/uWebSockets.ts &
- name: Benchmark
run: ./k6 run benchmark/k6.mjs --summary-export summary.json
- name: Summary
run: |
echo '```json' >> $GITHUB_STEP_SUMMARY
cat summary.json >> $GITHUB_STEP_SUMMARY
echo -e '\n```' >> $GITHUB_STEP_SUMMARY
deno:
name: deno
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up node
uses: actions/setup-node@v3
with:
node-version-file: .nvmrc
cache: yarn
- name: Set up deno
uses: denoland/setup-deno@v1
with:
deno-version: 1.x
- name: Set up deno cache
uses: actions/cache@v3
with:
path: |
~/.deno
~/.cache/deno
key: ${{ runner.os }}-deno-${{ hashFiles('**/yarn.lock') }}
- name: Install
run: yarn install --immutable
- name: Download k6
run: |
curl https://github.com/grafana/k6/releases/download/${{ env.K6_VERSION }}/k6-${{ env.K6_VERSION }}-linux-amd64.tar.gz -L | tar xvz --strip-components 1
- name: Build
run: yarn run build:esm
- name: Cache
run: deno cache benchmark/servers/deno.ts
- name: Run
run: deno run -A benchmark/servers/deno.ts &
- name: Benchmark
run: ./k6 run benchmark/k6.mjs --summary-export summary.json
- name: Summary
run: |
echo '```json' >> $GITHUB_STEP_SUMMARY
cat summary.json >> $GITHUB_STEP_SUMMARY
echo -e '\n```' >> $GITHUB_STEP_SUMMARY
bun:
name: bun
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up node
uses: actions/setup-node@v3
with:
node-version-file: .nvmrc
cache: yarn
- name: Set up bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: Install
run: yarn install --immutable
- name: Download k6
run: |
curl https://github.com/grafana/k6/releases/download/${{ env.K6_VERSION }}/k6-${{ env.K6_VERSION }}-linux-amd64.tar.gz -L | tar xvz --strip-components 1
- name: Run
run: bun run benchmark/servers/bun.ts &
- name: Benchmark
run: ./k6 run benchmark/k6.mjs --summary-export summary.json
- name: Summary
run: |
echo '```json' >> $GITHUB_STEP_SUMMARY
cat summary.json >> $GITHUB_STEP_SUMMARY
echo -e '\n```' >> $GITHUB_STEP_SUMMARY