♻️ rename clayterm -> @bomb.sh/tty #158
Workflow file for this run
This file contains hidden or 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: Benchmark | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| # `workflow_dispatch` allows CodSpeed to trigger | |
| workflow_dispatch: | |
| permissions: {} | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| name: Build | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: read # clone repo | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 | |
| with: | |
| submodules: true | |
| persist-credentials: false | |
| - name: Setup Deno | |
| uses: denoland/setup-deno@667a34cdef165d8d2b2e98dde39547c9daac7282 # v2.0.4 | |
| with: | |
| deno-version: v2.x | |
| - name: Build WASM | |
| run: make | |
| - name: Cache dependencies | |
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 | |
| id: deno-cache | |
| with: | |
| path: node_modules | |
| key: deno-${{ hashFiles('deno.lock') }} | |
| - name: Install dependencies | |
| if: steps.deno-cache.outputs.cache-hit != 'true' | |
| run: deno install | |
| - name: Upload build artifact | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: bench-build | |
| retention-days: 1 | |
| path: wasm.ts | |
| benchmarks: | |
| name: Run benchmarks (walltime) | |
| needs: build | |
| runs-on: codspeed-macro | |
| permissions: | |
| contents: read # clone repo | |
| id-token: write # upload benchmark results to codspeed | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 | |
| - name: Setup Deno | |
| uses: denoland/setup-deno@667a34cdef165d8d2b2e98dde39547c9daac7282 # v2.0.4 | |
| with: | |
| deno-version: v2.x | |
| - name: Setup Node | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: 24 | |
| - name: Download build artifact | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 | |
| with: | |
| name: bench-build | |
| - name: Restore dependencies | |
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 | |
| id: deno-cache | |
| with: | |
| path: node_modules | |
| key: deno-codspeed-${{ runner.arch }}-${{ hashFiles('deno.lock') }} | |
| - name: Install dependencies | |
| if: steps.deno-cache.outputs.cache-hit != 'true' | |
| run: deno install | |
| - name: Run walltime benchmarks | |
| uses: CodSpeedHQ/action@9d332c4d90b43981c3e55ae8e38e68709996240f # v4.17.0 | |
| with: | |
| mode: walltime | |
| run: | | |
| node bench/startup.bench.ts | |
| node bench/throughput.bench.ts | |
| node bench/render.bench.ts | |
| node bench/ops.bench.ts |