Skip to content

CI: restore the 32-bit GCC 12 C++17/20 Drone stage, and name the split stages - #91

Merged
jll63 merged 2 commits into
boostorg:developfrom
jll63:develop
Aug 23, 2026
Merged

CI: restore the 32-bit GCC 12 C++17/20 Drone stage, and name the split stages#91
jll63 merged 2 commits into
boostorg:developfrom
jll63:develop

Conversation

@jll63

@jll63 jll63 commented Aug 23, 2026

Copy link
Copy Markdown
Collaborator

Two Drone-only changes. .drone.jsonnet is the only file touched.

Restore the 32-bit GCC 12 C++17/20 stage

There were two GCC 12 stages and both were misnamed: "C++11-14" ran
CXXSTD: '17,20', and "C++17-20" ran '2b'. e520c1d corrected the first
name, which made the two names identical; dd2c40d then resolved the clash by
deleting one of the pair — the 17,20 one — leaving the 2b stage wearing
the 17,20 label.

Net effect: GCC 12 at C++17/20 stopped being built for 32 bits anywhere.
The GHA matrix covers gcc-12 at those standards, but 64-bit only.

This restores the deleted stage and names the survivor for the standard it
actually runs. 17,20 stays bundled in one stage, matching the neighbouring
GCC 11 stage (17,2a × 32/64), which sits well inside the 60-minute Drone
step limit that f886630 and 44d0d61 split the heavier stages to respect.

Name the split stages for the standard they run

f886630 and 44d0d61 split the heavy sanitizer stages one standard per stage,
naming the new ones C++17/C++20 but leaving the original of each trio
unnamed — so GCC 14 UBSAN C++17, GCC 14 UBSAN C++20, and a bare
GCC 14 UBSAN that is in fact the 2b run and reads like the whole set.
Four stages were in that shape. Names only; no environment, matrix or
coverage change.

This is the same ambiguity that let dd2c40d delete the wrong member of the
GCC 12 pair.

Verification

Evaluated .drone.jsonnet with jsonnet locally: 35 → 36 pipelines, all
pipeline names unique, no bare name left inside a split group, and every
stage name that states a standard matches its CXXSTD. Not exercised on
Drone — that is what this PR is for.

🤖 Generated with Claude Code

https://claude.ai/code/session_016ZvWvMxJsHkK4n5unJfx52

jll63 and others added 2 commits August 22, 2026 16:35
There were two GCC 12 stages, both misnamed: "C++11-14" ran CXXSTD 17,20
and "C++17-20" ran 2b. e520c1d corrected the first name, which made the
two names identical; dd2c40d then resolved the clash by deleting one of
the pair - the 17,20 stage - leaving the 2b stage wearing the 17,20
label.

Net effect: GCC 12 at C++17/20 was no longer built for 32 bits anywhere.
The GHA matrix covers gcc-12 at those standards, but 64-bit only, so
nothing was testing this library's 32-bit codegen on GCC 12 at C++17/20.

Restore the deleted stage and name the surviving one for the standard it
actually runs. Bundling 17,20 in one stage matches the neighbouring
GCC 11 stage (17,2a x 32/64), which is well inside the 60-minute Drone
step limit that f886630 and 44d0d61 split the heavier stages to respect.

Verified locally by evaluating .drone.jsonnet with jsonnet: 35 -> 36
pipelines, all names unique, and every stage whose name states a standard
now matches its CXXSTD. Not exercised on Drone itself.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
f886630 and 44d0d61 split the heavy sanitizer stages one C++ standard per
stage, naming the new ones C++17 and C++20 but leaving the original of
each trio unnamed - so "GCC 14 UBSAN C++17", "GCC 14 UBSAN C++20" and a
bare "GCC 14 UBSAN" that is in fact the 2b run, and reads like the whole
set. Four stages were in that shape.

Names only; no environment, matrix or coverage change. This is the same
ambiguity that let dd2c40d delete the wrong member of the GCC 12 pair.

Verified with jsonnet: 36 pipelines before and after, all names unique,
no bare name left inside a split group, and every stage name that states
a standard matches its CXXSTD.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@cppalliance-bot

Copy link
Copy Markdown

An automated preview of the documentation is available at https://91.openmethod.prtest3.cppalliance.org/libs/openmethod/doc/html/index.html

If more commits are pushed to the pull request, the docs will rebuild at the same URL.

2026-08-23 01:46:09 UTC

@codecov

codecov Bot commented Aug 23, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.97%. Comparing base (0b285a8) to head (725d5fd).
⚠️ Report is 8 commits behind head on develop.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff            @@
##           develop      #91   +/-   ##
========================================
  Coverage    94.97%   94.97%           
========================================
  Files           99       99           
  Lines         4322     4322           
  Branches      2138     2138           
========================================
  Hits          4105     4105           
  Misses         160      160           
  Partials        57       57           

Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update dea5ce2...725d5fd. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@jll63
jll63 merged commit 725d5fd into boostorg:develop Aug 23, 2026
54 checks passed
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.

2 participants