[READ-ONLY] Mirror of https://github.com/bombshell-dev/tty. Platform independent 2D layout engine for terminal applications based on Clay
5

Configure Feed

Select the types of activity you want to include in your feed.

ref(bench): share artifacts between jobs

Nate Moore (May 31, 2026, 11:29 PM -0500) 6a0d802d 0894875f

+57 -22
+57 -22
.github/workflows/benchmark.yml
··· 16 16 cancel-in-progress: true 17 17 18 18 jobs: 19 - simulation: 20 - name: Run benchmarks (simulation) 19 + build: 20 + name: Build 21 21 runs-on: ubuntu-latest 22 22 permissions: 23 23 contents: read # clone repo 24 - id-token: write # upload benchmark results to codspeed 25 24 steps: 26 25 - name: Checkout 27 26 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 ··· 34 33 with: 35 34 deno-version: v2.x 36 35 37 - - name: Setup Node 38 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 36 + - name: Cache WASM 37 + uses: actions/cache@v4 38 + id: wasm-cache 39 39 with: 40 - node-version: 22 40 + path: | 41 + clayterm.wasm 42 + wasm.ts 43 + key: wasm-${{ hashFiles('Makefile', 'src/**', 'tasks/bundle-wasm.ts') }} 41 44 42 45 - name: Build WASM 46 + if: steps.wasm-cache.outputs.cache-hit != 'true' 43 47 run: make 44 48 49 + - name: Cache dependencies 50 + uses: actions/cache@v4 51 + id: deno-cache 52 + with: 53 + path: node_modules 54 + key: deno-${{ hashFiles('deno.lock') }} 55 + 45 56 - name: Install dependencies 57 + if: steps.deno-cache.outputs.cache-hit != 'true' 46 58 run: deno install 47 59 60 + - name: Upload build artifact 61 + uses: actions/upload-artifact@v4 62 + with: 63 + name: bench-build 64 + retention-days: 1 65 + path: | 66 + wasm.ts 67 + node_modules 68 + 69 + simulation: 70 + name: Run benchmarks (simulation) 71 + needs: build 72 + runs-on: ubuntu-latest 73 + permissions: 74 + contents: read # clone repo 75 + id-token: write # upload benchmark results to codspeed 76 + 77 + steps: 78 + - name: Checkout 79 + uses: actions/checkout@v4 80 + 81 + - name: Setup Node 82 + uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 83 + with: 84 + node-version: 24 85 + 86 + - name: Download build artifact 87 + uses: actions/download-artifact@v4 88 + with: 89 + name: bench-build 90 + 48 91 - name: Run benchmarks 49 92 uses: CodSpeedHQ/action@9d332c4d90b43981c3e55ae8e38e68709996240f # v4.17.0 50 93 with: 51 94 mode: simulation 52 - # IMPORTANT! deno task bench fails in CI due to incompatible V8 bindings 53 95 run: node bench/mod.ts 54 96 55 97 walltime: 56 98 name: Run benchmarks (walltime) 99 + needs: build 57 100 runs-on: codspeed-macro 58 101 permissions: 59 - contents: read 60 - id-token: write 102 + contents: read # clone repo 103 + id-token: write # upload benchmark results to codspeed 61 104 62 105 steps: 63 106 - name: Checkout 64 107 uses: actions/checkout@v4 65 - with: 66 - submodules: true 67 - 68 - - name: Setup Deno 69 - uses: denoland/setup-deno@v2 70 - with: 71 - deno-version: v2.x 72 108 73 109 - name: Setup Node 74 110 uses: actions/setup-node@v4 75 111 with: 76 - node-version: 22 112 + node-version: 24 77 113 78 - - name: Build WASM 79 - run: make 80 - 81 - - name: Install dependencies 82 - run: deno install 114 + - name: Download build artifact 115 + uses: actions/download-artifact@v4 116 + with: 117 + name: bench-build 83 118 84 119 - name: Run process startup benchmarks 85 120 uses: CodSpeedHQ/action@v4