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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant