Skip to content

Commit 90dc1f2

Browse files
bill-phclaude
andauthored
ci: bigger runner for build, bigger ccache for tests (#8)
Speed up CI via two independent levers: 1. MainDistributionPipeline.yml: route the linux_amd64 / linux_arm64 build matrix entries to 16-core Depot managed runners (depot-ubuntu-24.04-16 / depot-ubuntu-24.04-arm-16) via the upstream workflow's runners JSON input. Cuts the build from ~25-30min to ~5-10min, including cold-cache cases. Requires PostHog/ducklake to be added to the Depot GitHub App installation; until then the build jobs will queue-time-out at 10m. 2. Five per-PR test workflows (Catalogs, ConfigTests, DeletionVectors, MinIO, NoInline): bump hendrikmuhs/ccache-action max-size from the 500MB default to 1.5G. DuckDB's full release build produces 1-2 GB of object files, so the default forces aggressive LRU eviction and keeps effective hit rate at 30-50%. 1.5G fits most of the build, pushing warm-cache hit rates into the 80-90% range. 5 caches x 1.5G = 7.5 GB, leaving headroom in the 10 GB GitHub Actions cache budget per repo. Cold-cache cases (DuckDB submodule bumps) will still take ~25-30min but are infrequent. Debug.yml is now nightly-only after #9 and is left alone. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 391cdba commit 90dc1f2

6 files changed

Lines changed: 8 additions & 0 deletions

File tree

.github/workflows/Catalogs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ jobs:
5858
with:
5959
key: ${{ github.job }}
6060
save: ${{ github.ref == 'refs/heads/main' || github.repository != 'duckdb/ducklake' }}
61+
max-size: "1.5G"
6162

6263
- name: Setup vcpkg
6364
uses: lukka/run-vcpkg@v11.1

.github/workflows/ConfigTests.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ jobs:
4545
with:
4646
key: ${{ github.job }}
4747
save: ${{ github.ref == 'refs/heads/main' || github.repository != 'duckdb/ducklake' }}
48+
max-size: "1.5G"
4849

4950
- name: Setup vcpkg
5051
uses: lukka/run-vcpkg@v11.1

.github/workflows/DeletionVectors.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ jobs:
4545
with:
4646
key: ${{ github.job }}
4747
save: ${{ github.ref == 'refs/heads/main' || github.repository != 'duckdb/ducklake' }}
48+
max-size: "1.5G"
4849

4950
- name: Setup vcpkg
5051
uses: lukka/run-vcpkg@v11.1

.github/workflows/MainDistributionPipeline.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ jobs:
3232
duckdb_version: ${{ needs.get-duckdb-version.outputs.duckdb_version }}
3333
ci_tools_version: main
3434
extension_name: ducklake
35+
runners: |
36+
{"linux_amd64": "depot-ubuntu-24.04-16", "linux_arm64": "depot-ubuntu-24.04-arm-16"}
3537
3638
duckdb-next-deploy:
3739
name: Deploy extension binaries

.github/workflows/MinIO.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ jobs:
6262
- name: Setup Ccache
6363
uses: hendrikmuhs/ccache-action@main
6464
continue-on-error: true
65+
with:
66+
max-size: "1.5G"
6567

6668
- name: Build extension
6769
env:

.github/workflows/NoInline.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ jobs:
4545
with:
4646
key: ${{ github.job }}
4747
save: ${{ github.ref == 'refs/heads/main' || github.repository != 'duckdb/ducklake' }}
48+
max-size: "1.5G"
4849

4950
- name: Setup vcpkg
5051
uses: lukka/run-vcpkg@v11.1

0 commit comments

Comments
 (0)