Files
datastore/ci/workflows/optimize_toolchain.py
T
Alexey MilovidovandClaude Opus 4.6 a193deb558 Add CI job to create PR updating binary-builder Dockerfile with PGO+BOLT toolchain
After the OptimizeToolchain workflow builds PGO+BOLT optimized clang
for both amd64 and aarch64, a new job now automatically creates a PR
that updates `TOOLCHAIN_COMMIT` in the `binary-builder` Dockerfile.

The Dockerfile gains a conditional download block: when
`TOOLCHAIN_COMMIT` is set to a commit SHA, it fetches the optimized
toolchain from S3 and extracts to `/usr/local/`, where it shadows the
apt-installed `clang-21` via PATH priority. The default value `none`
preserves backward compatibility.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-02-15 20:36:48 +00:00

30 lines
731 B
Python

from praktika import Workflow
from ci.defs.defs import BASE_BRANCH, DOCKERS, SECRETS, ArtifactConfigs
from ci.defs.job_configs import JobConfigs
workflow = Workflow.Config(
name="OptimizeToolchain",
event=Workflow.Event.DISPATCH,
branches=[BASE_BRANCH],
jobs=[
*JobConfigs.toolchain_build_jobs,
JobConfigs.update_toolchain_dockerfile_job.set_dependency(
[j.name for j in JobConfigs.toolchain_build_jobs]
),
],
dockers=DOCKERS,
secrets=SECRETS,
artifacts=[
ArtifactConfigs.toolchain_pgo_bolt_amd,
ArtifactConfigs.toolchain_pgo_bolt_arm,
],
enable_cache=True,
enable_report=True,
enable_cidb=True,
)
WORKFLOWS = [
workflow,
]