Skip to content

Commit 8ed85d2

Browse files
authored
Merge branch 'master' into noah/beam-benchmarks
2 parents d2b11d1 + de560df commit 8ed85d2

43 files changed

Lines changed: 83212 additions & 49723 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/benchmarks.yml

Lines changed: 54 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,34 @@ permissions:
3333

3434
jobs:
3535
bench:
36-
name: Run Benchmarks
36+
name: Bench ${{ matrix.provider }}
3737
runs-on: namespace-profile-default
38-
timeout-minutes: 180
38+
timeout-minutes: 60
39+
strategy:
40+
fail-fast: false
41+
matrix:
42+
provider:
43+
- e2b
44+
- daytona
45+
- blaxel
46+
- just-bash
47+
- modal
48+
- vercel
49+
- hopx
50+
- codesandbox
51+
- runloop
52+
- namespace
53+
- cloudflare
3954
steps:
4055
- uses: actions/checkout@v4
4156
- uses: actions/setup-node@v4
4257
with:
4358
node-version: 24
4459
cache: 'npm'
4560
- run: npm ci
46-
- name: Run benchmarks
61+
- name: Clear stale results from checkout
62+
run: rm -rf results/
63+
- name: Run benchmark
4764
env:
4865
COMPUTESDK_API_KEY: ${{ secrets.COMPUTESDK_API_KEY }}
4966
E2B_API_KEY: ${{ secrets.E2B_API_KEY }}
@@ -55,24 +72,50 @@ jobs:
5572
MODAL_TOKEN_ID: ${{ secrets.MODAL_TOKEN_ID }}
5673
MODAL_TOKEN_SECRET: ${{ secrets.MODAL_TOKEN_SECRET }}
5774
DAYTONA_API_KEY: ${{ secrets.DAYTONA_API_KEY }}
58-
RAILWAY_API_KEY: ${{ secrets.RAILWAY_API_KEY }}
59-
RAILWAY_PROJECT_ID: ${{ secrets.RAILWAY_PROJECT_ID }}
60-
RAILWAY_ENVIRONMENT_ID: ${{ secrets.RAILWAY_ENVIRONMENT_ID }}
6175
NSC_TOKEN: ${{ secrets.NSC_TOKEN }}
62-
RENDER_API_KEY: ${{ secrets.RENDER_API_KEY }}
63-
RENDER_OWNER_ID: ${{ secrets.RENDER_OWNER_ID }}
64-
HOPX_API_KEY: ${{ secrets.HOPX_API_KEY}}
65-
CSB_API_KEY: ${{ secrets.CSB_API_KEY}}
66-
RUNLOOP_API_KEY: ${{ secrets.RUNLOOP_API_KEY}}
76+
HOPX_API_KEY: ${{ secrets.HOPX_API_KEY }}
77+
CSB_API_KEY: ${{ secrets.CSB_API_KEY }}
78+
RUNLOOP_API_KEY: ${{ secrets.RUNLOOP_API_KEY }}
79+
CLOUDFLARE_SANDBOX_URL: ${{ secrets.CLOUDFLARE_SANDBOX_URL }}
80+
CLOUDFLARE_SANDBOX_SECRET: ${{ secrets.CLOUDFLARE_SANDBOX_SECRET }}
6781
run: |
6882
MODE_FLAG=""
6983
if [ -n "${{ github.event.inputs.mode }}" ]; then
7084
MODE_FLAG="--mode ${{ github.event.inputs.mode }}"
7185
fi
7286
npm run bench -- \
87+
--provider ${{ matrix.provider }} \
7388
--iterations ${{ github.event.inputs.iterations || '100' }} \
7489
--concurrency ${{ github.event.inputs.concurrency || '100' }} \
7590
$MODE_FLAG
91+
- name: Upload results
92+
if: always()
93+
uses: actions/upload-artifact@v4
94+
with:
95+
name: results-${{ matrix.provider }}
96+
path: results/
97+
if-no-files-found: ignore
98+
retention-days: 7
99+
100+
collect:
101+
name: Collect Results
102+
runs-on: namespace-profile-default
103+
needs: bench
104+
if: always()
105+
steps:
106+
- uses: actions/checkout@v4
107+
- uses: actions/setup-node@v4
108+
with:
109+
node-version: 24
110+
cache: 'npm'
111+
- run: npm ci
112+
- name: Download all artifacts
113+
uses: actions/download-artifact@v4
114+
with:
115+
path: artifacts/
116+
pattern: results-*
117+
- name: Merge results
118+
run: npx tsx src/merge-results.ts --input artifacts
76119
- run: npm run generate-svg
77120
- name: Commit and push
78121
run: |

burst_tti.svg

Lines changed: 82 additions & 78 deletions
Loading

env.example

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
COMPUTESDK_API_KEY=your_computesdk_api_key
22

3+
######## CLOUDFLARE ########
4+
CLOUDFLARE_SANDBOX_URL=your_cloudflare_sandbox_url
5+
CLOUDFLARE_SANDBOX_SECRET=your_cloudflare_sandbox_secret
6+
37
######## VERCEL ########
48
VERCEL_TEAM_ID=your_vercel_team_id
59
VERCEL_PROJECT_ID=your_vercel_project_id
@@ -33,4 +37,7 @@ RENDER_OWNER_ID=your_render_owner_id
3337

3438
######### BEAM ########
3539
BEAM_TOKEN=your_beam_token
36-
BEAM_WORKSPACE_ID=your_beam_workspace_id
40+
BEAM_WORKSPACE_ID=your_beam_workspace_id
41+
42+
######### SPRITES ########
43+
SPRITES_TOKEN=your_sprites_token

package-lock.json

Lines changed: 102 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
"bench:runloop": "tsx src/run.ts --provider runloop",
2121
"bench:vercel": "tsx src/run.ts --provider vercel",
2222
"bench:just-bash": "tsx src/run.ts --provider just-bash",
23+
"bench:sprites": "tsx src/run.ts --provider sprites",
2324
"update-readme": "tsx src/update-readme.ts",
2425
"generate-svg": "tsx src/generate-svg.ts",
2526
"generate-svg:sequential": "tsx src/generate-svg.ts --mode sequential",
@@ -29,6 +30,7 @@
2930
"dependencies": {
3031
"@computesdk/beam": "^0.1.1",
3132
"@computesdk/blaxel": "^1.6.0",
33+
"@computesdk/cloudflare": "^1.5.0",
3234
"@computesdk/codesandbox": "^1.5.34",
3335
"@computesdk/daytona": "^1.7.14",
3436
"@computesdk/e2b": "^1.7.34",
@@ -37,6 +39,7 @@
3739
"@computesdk/modal": "^1.8.29",
3840
"@computesdk/namespace": "^1.5.0",
3941
"@computesdk/runloop": "^1.3.36",
42+
"@computesdk/sprites": "^0.1.0",
4043
"@computesdk/vercel": "^1.7.13",
4144
"computesdk": "^2.2.1",
4245
"dotenv": "^17.2.1"

0 commit comments

Comments
 (0)