Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
01ba71a
ci: cut CI from ~15 to a few minutes, and run it on Blacksmith alongside
saddlepaddle Oct 3, 2026
3ed4e31
ci: also run Blacksmith 8 vCPU runners for the comparison
saddlepaddle Oct 3, 2026
b5a9cce
fix(i18n): anchor Lingui's excludes so test files stay out of extraction
saddlepaddle Oct 3, 2026
c29bd53
ci: temporary job to reproduce the git-watcher test OOM on Linux
saddlepaddle Oct 3, 2026
537d9e8
ci: repro the full test suite with memory and kernel logs (temporary)
saddlepaddle Oct 3, 2026
e3809d0
ci: matrix repro of the host-service OOM on bun 1.3.14 and 1.4.2 (tem…
saddlepaddle Oct 3, 2026
fb7e5b2
fix(ci): the failures from the first CI run on Bun 1.4.2 and TypeScri…
saddlepaddle Oct 3, 2026
8ae2075
fix(docs): pin mdast-util-to-markdown to 2.1.2
saddlepaddle Oct 3, 2026
abb4edf
ci(preview): build apps while migrations run, and keep Turbopack's cache
saddlepaddle Oct 3, 2026
c25c4c9
ci: re-run previews with a warm Turbopack cache
saddlepaddle Oct 3, 2026
e8a4251
ci: probe loopback fetch on a Blacksmith runner (temporary)
saddlepaddle Oct 3, 2026
789a846
ci: run Typecheck and Test on Blacksmith 4 vCPU runners
saddlepaddle Oct 3, 2026
1b08776
fix(trpc): give tests a placeholder Stripe key
saddlepaddle Oct 3, 2026
eae8996
test: run every package's tests with --isolate
saddlepaddle Oct 3, 2026
23d69ce
fix(trpc): give tests placeholder database URLs
saddlepaddle Oct 3, 2026
4057991
ci(preview): install the Vercel CLI with bun and skip the bun cache r…
saddlepaddle Oct 3, 2026
1525e91
ci(sandbox): reuse Docker layers when building the sandbox image
saddlepaddle Oct 3, 2026
0c5d393
ci: re-run Boot twice with a warm layer cache
saddlepaddle Oct 3, 2026
141ba62
perf(deploy): skip server sourcemaps when there is no Sentry token
saddlepaddle Oct 3, 2026
b601a24
Revert "perf(deploy): skip server sourcemaps when there is no Sentry …
saddlepaddle Oct 3, 2026
293cfa7
perf(marketing): stop bundling public/ media into the server functions
saddlepaddle Oct 3, 2026
26d5bd4
perf(marketing): prerender pages and stream the session buttons
saddlepaddle Oct 3, 2026
c4aefcb
Merge branch 'main' into saddlepaddle/ci-speedups
saddlepaddle Oct 3, 2026
a01d6db
perf(marketing): prerender only English at build
saddlepaddle Oct 3, 2026
064bdec
ci: run Test on an 8 vCPU runner
saddlepaddle Oct 3, 2026
a26bc71
ci: run the terminal node-tests alongside the bun suites
saddlepaddle Oct 3, 2026
ee34725
ci(sandbox): build the image with Blacksmith's layer cache
saddlepaddle Oct 3, 2026
7e99916
ci: run four test tasks at a time
saddlepaddle Oct 3, 2026
e45c032
ci(sandbox): name the layer cache disk
saddlepaddle Oct 3, 2026
5a7042e
ci: build the CLI and deploy previews on every PR
saddlepaddle Oct 3, 2026
4304f00
docs: add test-writing rules to AGENTS.md
saddlepaddle Oct 3, 2026
c971bb4
fix(marketing): do not cache failed leaderboard reads
saddlepaddle Oct 3, 2026
f69594d
ci: write the Next build cache on main, read it in previews
saddlepaddle Oct 3, 2026
4ed990c
ci: try Deploy Web on a Blacksmith runner with the bun cache
saddlepaddle Oct 4, 2026
d04ee9e
ci: run the preview deploys on Blacksmith with the bun cache
saddlepaddle Oct 4, 2026
72a5db4
ci: run the production Vercel deploys on Blacksmith
saddlepaddle Oct 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .bun-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.3.14
1.4.2
9 changes: 8 additions & 1 deletion .github/workflows/build-cli.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,17 @@ jobs:
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1

- name: Setup Bun
id: setup-bun
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
with:
bun-version-file: .bun-version

- name: Cache dependencies
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: ~/.bun/install/cache
key: ${{ runner.os }}-bun-${{ steps.setup-bun.outputs.bun-revision }}-${{ hashFiles('bun.lock') }}

- name: Setup Node.js (for native addon compilation)
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
Expand Down Expand Up @@ -64,7 +71,7 @@ jobs:
run: |
set -euo pipefail
for attempt in 1 2 3; do
if bun install --frozen; then
if bun install --frozen --ignore-scripts; then
exit 0
fi
if [ "$attempt" -eq 3 ]; then
Expand Down
55 changes: 8 additions & 47 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ jobs:

test:
name: Test
runs-on: ubuntu-latest
runs-on: blacksmith-8vcpu-ubuntu-2404
steps:
- name: Check out code
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
Expand All @@ -150,12 +150,6 @@ jobs:
- name: Install dependencies
run: bun install --frozen --ignore-scripts

- name: Test
env:
RELAY_URL: ${{ secrets.RELAY_URL }}
REALTIME_URL: ${{ secrets.REALTIME_URL }}
run: bun run test

# The terminal launch-protection suites (src/terminal/*.node-test.ts)
# need real PTYs + node:test, which bun can't provide.
- name: Setup Node.js (terminal node-tests)
Expand All @@ -173,9 +167,11 @@ jobs:
(cd "$dir" && ../.bin/prebuild-install)
done

- name: Terminal node-tests
working-directory: packages/host-service
run: bun run test:integration:terminal
- name: Test
env:
RELAY_URL: ${{ secrets.RELAY_URL }}
REALTIME_URL: ${{ secrets.REALTIME_URL }}
run: bun x turbo test test:integration:terminal --concurrency=4

page-storage:
name: Page storage integration
Expand Down Expand Up @@ -211,7 +207,7 @@ jobs:

typecheck:
name: Typecheck
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- name: Check out code
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
Expand All @@ -234,45 +230,10 @@ jobs:
- name: Typecheck
run: bun run typecheck

build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1

- name: Setup Bun
id: setup-bun
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
with:
bun-version-file: .bun-version

- name: Cache dependencies
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: ~/.bun/install/cache
key: ${{ runner.os }}-bun-${{ steps.setup-bun.outputs.bun-revision }}-${{ hashFiles('bun.lock') }}

- name: Install dependencies
run: bun install --frozen --ignore-scripts

- name: Install Linux native build deps
run: sudo apt-get update && sudo apt-get install -y libx11-dev libxkbfile-dev

- name: Install desktop native dependencies
working-directory: apps/desktop
run: bun run install:deps

- name: Build Desktop
env:
RELAY_URL: ${{ secrets.RELAY_URL }}
REALTIME_URL: ${{ secrets.REALTIME_URL }}
run: bun turbo run build --filter=@superset/desktop

build-cli:
name: Build CLI
uses: ./.github/workflows/build-cli.yml
with:
targets: '[{"os":"ubuntu-latest","target":"linux-x64"},{"os":"macos-14","target":"darwin-arm64"},{"os":"macos-15-intel","target":"darwin-x64"},{"os":"ubuntu-24.04-arm","target":"linux-arm64"}]'
targets: ${{ github.event_name == 'push' && '[{"os":"ubuntu-latest","target":"linux-x64"},{"os":"macos-14","target":"darwin-arm64"},{"os":"macos-15-intel","target":"darwin-x64"},{"os":"ubuntu-24.04-arm","target":"linux-arm64"}]' || '[{"os":"ubuntu-latest","target":"linux-x64"}]' }}
upload: false
secrets: inherit
Loading
Loading