Add sccache-warmup release builds to MasterCI by maxknv · Pull Request #107766 · ClickHouse/ClickHouse · GitHub
Skip to content

Add sccache-warmup release builds to MasterCI#107766

Merged
maxknv merged 2 commits into
masterfrom
ci-master-sccache-warmup-release
Jun 24, 2026
Merged

Add sccache-warmup release builds to MasterCI#107766
maxknv merged 2 commits into
masterfrom
ci-master-sccache-warmup-release

Conversation

@maxknv

@maxknv maxknv commented Jun 17, 2026

Copy link
Copy Markdown
Member

The MasterCI Build (amd_release) / Build (arm_release) jobs compile with
different cmake flags than the same jobs in the PR workflow: on master
(pr_number == 0) they add -DCLICKHOUSE_OFFICIAL_BUILD=1 and keep debug
symbols, while PR builds add -DDISABLE_ALL_DEBUG_SYMBOLS=1 and no
official-build flag. Different flags produce different sccache keys, so the
shared sccache populated by master cannot be reused by PR release builds.

This adds two MasterCI-only build types, amd_release_pr_cache_warmup and
arm_release_pr_cache_warmup, that compile with the PR release build's cmake
flags (no official-build flag, debug symbols stripped, no PGO/BOLT) while
keeping the shared sccache read-write (master writes, read-only PR builds
read). This warms the cache so read-only PR release builds get cache hits.

The warmup builds only populate the compiler cache, so they compile every
translation unit but skip linking the final binaries (the ThinLTO link step
produces nothing cacheable yet dominates wall time), provide no artifacts,
and run no profile/master-head post hooks.

Changelog category (leave one):

  • CI Fix or Improvement (changelog entry is not required)

Version info

  • Merged into: 26.6.1.1189

@clickhouse-gh

clickhouse-gh Bot commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

@clickhouse-gh clickhouse-gh Bot added the pr-ci label Jun 17, 2026
Comment thread ci/jobs/build_clickhouse.py
@maxknv maxknv marked this pull request as draft June 17, 2026 20:11
Comment thread ci/jobs/build_clickhouse.py Outdated
@maxknv maxknv force-pushed the ci-master-sccache-warmup-release branch from 3c3988f to ecca469 Compare June 18, 2026 10:49
@maxknv maxknv marked this pull request as ready for review June 18, 2026 10:50
@maxknv maxknv enabled auto-merge June 18, 2026 12:26
@maxknv

maxknv commented Jun 18, 2026

Copy link
Copy Markdown
Member Author

BuzzHouse errors fixed in #107900

The `MasterCI` `Build (amd_release)` / `Build (arm_release)` jobs compile
with different cmake flags than the same jobs in the `PR` workflow: on
master (`pr_number == 0`) they add `-DCLICKHOUSE_OFFICIAL_BUILD=1` and keep
debug symbols, while PR builds add `-DDISABLE_ALL_DEBUG_SYMBOLS=1` and no
official-build flag. Different flags produce different sccache keys, so the
shared sccache populated by master cannot be reused by PR release builds.

Add two MasterCI-only build types, `amd_release_pr_cache_warmup` and
`arm_release_pr_cache_warmup`, that compile with the PR release build's cmake
flags (no official-build flag, debug symbols stripped, no PGO/BOLT) while
keeping the shared sccache read-write (master writes, PR reads read-only).
This populates the cache so read-only PR release builds get cache hits.

The warmup builds only need to populate the compiler cache, so they compile
every translation unit but skip linking the final binaries (the ThinLTO link
step produces nothing cacheable yet dominates wall time), provide no
artifacts, and run no profile/master-head post hooks.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@maxknv maxknv force-pushed the ci-master-sccache-warmup-release branch from ecca469 to 8dc3892 Compare June 22, 2026 12:31
@clickhouse-gh

clickhouse-gh Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

📊 Cloud Performance Report

✅ AI verdict: no_change — no significant changes across 38 queries analysed

This PR only adds sccache-warmup build jobs to the master CI pipeline (CI workflow definitions and build scripts); it changes nothing in the query-execution code path. The flagged ClickBench improvements on Q4 (-16%), Q15 (-17%), Q28 (-7%), and Q34 (-6%) therefore cannot be caused by this change and have been downgraded to not-sure as run-to-run variance. Q32 was already inconclusive and remains so. No action needed on performance grounds.

clickbench

⚠️ 5 inconclusive

Flagged queries (5 of 43)
Query Verdict Baseline median (ms) PR median (ms) Change q-value Hint
⚠️ 4 not_sure 264 221 -16.3% <0.0001 CI/build-only PR (adds sccache-warmup build jobs); cannot touch query execution. -16% is run-to-run variance.
⚠️ 15 not_sure 251 208 -17.1% <0.0001 Build-system-only change; server hot path untouched. Flagged -17% is unrelated to this PR.
⚠️ 28 not_sure 7046 6540 -7.2% <0.0001 PR only adds CI sccache-warmup builds; -7% on Q28 cannot be a real PR effect.
⚠️ 32 not_sure 1351 1280 -5.3% <0.0001 Already not_sure; noisy query and a CI-only PR, no plausible real effect.
⚠️ 34 not_sure 1482 1397 -5.7% <0.0001 CI/build-only PR; query execution code unchanged. -5.7% is variance, not a PR effect.

q-value = BH-FDR adjusted p; smaller is stronger evidence. MIRAI flags a query when q < fdr_q (default 0.10) — the value the verdict is based on.

tpch_adapted_1_official

🟢 No significant changes

Debug info
  • StressHouse run: f16d8286-8638-436c-ba90-bf156c83b54b
  • MIRAI run: 45ac2f6c-582b-48d9-9399-0bce652218ee
  • PR check IDs:
    • clickbench_26279_1782252649
    • clickbench_26284_1782252648
    • clickbench_26291_1782252648
    • tpch_adapted_1_official_26294_1782252648
    • tpch_adapted_1_official_26304_1782252648
    • tpch_adapted_1_official_26314_1782252648

@maxknv maxknv added this pull request to the merge queue Jun 23, 2026
Merged via the queue into master with commit 53acdfb Jun 24, 2026
167 checks passed
@maxknv maxknv deleted the ci-master-sccache-warmup-release branch June 24, 2026 00:02
@robot-clickhouse robot-clickhouse added the pr-synced-to-cloud The PR is synced to the cloud repo label Jun 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-ci pr-synced-to-cloud The PR is synced to the cloud repo

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants