Skip to content

Use system HTTP dependencies - #398

Merged
bneradt merged 4 commits into
yahoo:masterfrom
bneradt:use-system-http-deps
Aug 10, 2026
Merged

Use system HTTP dependencies#398
bneradt merged 4 commits into
yahoo:masterfrom
bneradt:use-system-http-deps

Conversation

@bneradt

@bneradt bneradt commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

Replace the source-built OpenSSL and nghttp dependency bundle with distribution-provided packages, and simplify the CMake presets around system dependency discovery.

Maintain three build Dockerfiles with distinct roles:

  • Ubuntu 26.04 is the sole GitHub Actions image.
  • Alpine 3.24 builds the static musl Linux release artifacts.
  • Fedora 44 provides an additional current-distribution development environment.

CI has four Ubuntu-backed jobs: RAT, formatting, Clang unit tests, and GCC AuTests. Compiler names are unversioned so Ubuntu supplies the release system versions. Rocky Linux image definitions are removed.

Local verification:

  • Ubuntu image build and dependency smoke test
  • Clang 21.1.8 unit build: 469 assertions in 34 test cases
  • GCC 15.2 AuTest build: 40/40 passed
  • RAT: 98 approved, 0 unapproved, 0 unknown
  • formatting check
  • Alpine 3.24 image and static portable release build
  • Fedora 44 image and dependency/toolchain smoke test

Replace the source-built OpenSSL and nghttp dependency bundle with
distro-provided packages, and simplify the CMake presets around system
dependency discovery.

Refresh CI images to Alpine 3.24, Ubuntu 26.04, and Fedora 44, and
run formatting, RAT, unit, and AuTest jobs across all three.
Copilot AI lite review requested due to automatic review settings August 10, 2026 18:23
@bneradt bneradt self-assigned this Aug 10, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

bneradt added 3 commits August 10, 2026 13:41
Run RAT, formatting, and the combined build/test job in the Ubuntu 26.04 container. Remove Alpine and Fedora image definitions so only one CI image must be maintained.

Install static OpenSSL transitive dependencies so Ubuntu also supports portable release builds.
Install Ubuntu's unversioned Clang package and run unit tests in a dedicated Clang job. Restore a separate AuTest job using Ubuntu's system GCC toolchain.

Keeping the compiler names unversioned lets the Ubuntu release choose versions while preserving coverage of both toolchains.
Keep Ubuntu 26.04 as the sole GitHub Actions image while retaining Alpine for static musl release artifacts and Fedora as a current-distribution development environment.

Restore the validated Dockerfiles and document each image's distinct role.
@bneradt
bneradt merged commit 962a342 into yahoo:master Aug 10, 2026
4 checks passed
@bneradt
bneradt deleted the use-system-http-deps branch August 10, 2026 20:05
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