Skip to content

PS-11298: Add nightly x86_64 gcc-16 build on Hetzner#6016

Draft
nogueiraanderson wants to merge 2 commits into
8.4from
PS-11298-x86-64-gcc16-nightly
Draft

PS-11298: Add nightly x86_64 gcc-16 build on Hetzner#6016
nogueiraanderson wants to merge 2 commits into
8.4from
PS-11298-x86-64-gcc16-nightly

Conversation

@nogueiraanderson

@nogueiraanderson nogueiraanderson commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Feature

  • Add a nightly x86_64 gcc-16 build to builds.yml as sibling jobs beside the arm64 build: Hetzner cpx62 primary, AWS c7i.4xlarge + amd64 AMI fallback, gcc-16 via COMPILER_VER=16.

Why

  • Azure Pipelines has no Ubuntu 26.04 and only an experimental gcc-16 beta. This gives early x86_64 coverage of stable gcc 16.1 on 26.04 and a safeguard if Azure degrades. Scoped to 8.4 and 9.7 (Ubuntu 26.04, where g++-16 is in the stock archive).

Notes

  • Nightly-gated (workflow_dispatch + RelWithDebInfo). The arm64 build path and env defaults are unchanged. The only arm64 edit is a Name-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

- 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
@nogueiraanderson nogueiraanderson force-pushed the PS-11298-x86-64-gcc16-nightly branch from 48f7352 to 5cc0592 Compare June 18, 2026 21:24
@nogueiraanderson nogueiraanderson marked this pull request as draft June 18, 2026 23:20
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant