PS-11298: Add nightly x86_64 gcc-16 build on Hetzner - #6016
PS-11298: Add nightly x86_64 gcc-16 build on Hetzner#6016nogueiraanderson wants to merge 2 commits into
Conversation
- Add nightly-gated x86_64 sibling jobs (pick-target, create/delete-runner hetzner+aws, build) mirroring the arm64 chain - Hetzner cpx62 primary across fsn1/hel1/nbg1; AWS c7i.4xlarge + amd64 Ubuntu AMI fallback - Pin gcc-16 via COMPILER_VER=16 (Ubuntu 26.04 stock archive, no PPA); arm64 chain and env defaults unchanged - Scope both AWS teardown jobs by the ps-<arch>-<run> Name tag so the chains never reap each other when both fall back to AWS in one run - Distinct ccache key and ephemeral runner name per arch
48f7352 to
5cc0592
Compare
The x86_64 nightly job installs only g++-16, which pulls cpp-16 but not the bare `cpp`. XCom's rpcgen invokes the preprocessor as `cpp` when regenerating xcom_vp.h; with only cpp-16 present it fails with "cannot find C preprocessor: cpp", and enumfix.cmake (no RESULT_VARIABLE check) swallows the failure and writes an empty header, cascading into "delivery_status was not declared" in libmysqlgcs. Install the unversioned cpp provider so codegen finds the preprocessor. arm64 is unaffected: its unversioned g++ already pulls cpp.
|
Reviewed the x86_64 chain by diffing it against the arm64 chain with arch tokens normalized away. The arch-sensitive values all check out — Two things I'd like addressed: 1.
|
Feature
builds.ymlas sibling jobs beside the arm64 build: Hetznercpx62primary, AWSc7i.4xlarge+ amd64 AMI fallback, gcc-16 viaCOMPILER_VER=16.Why
g++-16is in the stock archive).Notes
workflow_dispatch+ RelWithDebInfo). The arm64 build path and env defaults are unchanged. The only arm64 edit is aName-tag filter on its EC2-teardown safety net so the two chains never reap each other when both fall back to AWS in one run.Tickets