-
Notifications
You must be signed in to change notification settings - Fork 12
CI fixes #153
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
CI fixes #153
Conversation
|
An automated preview of the documentation is available at https://153.beast2.prtest3.cppalliance.org/index.html If more commits are pushed to the pull request, the docs will rebuild at the same URL. 2026-01-20 14:48:47 UTC |
📝 WalkthroughWalkthroughIntroduces a new corosio module and updates CI workflows extensively: replaces/standardizes checkouts to v4, adjusts matrix/toolchains, adds corosio cloning and patching into boost workspace, expands sanitizer flags, updates build/test/antora/changelog jobs, and small build/header/readme/gitignore tweaks. Changes
Sequence Diagram(s)sequenceDiagram
actor Developer
participant GitHubActions as "GitHub Actions"
participant Repo as "Main repo"
participant ModuleRepos as "Beast2 / corosio / boost roots"
participant Runner as "Build Runner"
participant ArtifactStore as "Artifacts"
Developer->>GitHubActions: Push PR / Trigger workflow
GitHubActions->>Repo: checkout@v4 (main repo)
GitHubActions->>ModuleRepos: clone corosio-root & beast2-root & boost-root
GitHubActions->>Repo: apply patches (patch boost-root workspace)
GitHubActions->>Runner: dispatch matrix builds (toolchains, sanitizers)
Runner->>Repo: copy modules into workspace (libs/beast2, libs/corosio)
Runner->>Runner: configure & build (CMake/Jam) with injected _WIN32_WINNT and sanitizer flags
Runner->>Runner: run tests & linters
Runner->>ArtifactStore: upload artifacts (antora-docs, binaries, logs)
GitHubActions->>Developer: report status / artifacts
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 4
🤖 Fix all issues with AI agents
In @.github/workflows/ci.yml:
- Around line 308-313: The workflow step named "Clone Boost.Corosio" is using
actions/checkout@v3 which relies on Node.js 16 and will fail on current GitHub
runners; update the step to use actions/checkout@v4 by changing the uses field
from actions/checkout@v3 to actions/checkout@v4 (leave the path, repository, and
ref values intact) so the checkout uses the supported runtime.
In `@CMakeLists.txt`:
- Around line 80-82: The find_package call is missing conditional components
(asio, filesystem, beast, multiprecision) declared under
BOOST_BEAST2_BUILD_TESTS and BOOST_BEAST2_BUILD_EXAMPLES; fix by introducing a
BOOST_BEAST2_FIND_COMPONENTS list, APPEND asio filesystem beast when
BOOST_BEAST2_BUILD_TESTS is ON and APPEND multiprecision when
BOOST_BEAST2_BUILD_EXAMPLES is ON, then call find_package(Boost REQUIRED
COMPONENTS ${BOOST_BEAST2_FIND_COMPONENTS}) so the conditional dependencies are
requested explicitly (update references around BOOST_BEAST2_BUILD_TESTS,
BOOST_BEAST2_BUILD_EXAMPLES, BOOST_BEAST2_FIND_COMPONENTS and the existing
find_package invocation).
In `@README.adoc`:
- Around line 38-40: Replace the Markdown-style link and incorrect filename in
README.adoc: locate the line containing "Distributed under the Boost Software
License, Version 1.0." and the Markdown link referencing LICENSE_1_0.txt, change
the link to AsciiDoc syntax and point it to the actual repository file name
"LICENSE" (e.g., use AsciiDoc file link form to reference LICENSE instead of the
Markdown [LICENSE_1_0.txt](...) form).
In `@tmpclaude-fc7e-cwd`:
- Line 1: Delete the machine-specific scratch file "tmpclaude-fc7e-cwd" from the
repository and remove it from the commit/diff, then add an appropriate ignore
rule (for example the literal filename or a pattern matching similar tmp/* or
*-cwd files) to .gitignore so this local absolute-path artifact isn't committed
again; ensure the CI/local build doesn't require this file before removing it.
♻️ Duplicate comments (1)
.github/workflows/ci.yml (1)
665-671: Update this checkout to v4 as well.Same Node16 deprecation risk here.
Suggested update
- uses: actions/checkout@v3 + uses: actions/checkout@v4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🤖 Fix all issues with AI agents
In @.github/workflows/ci.yml:
- Line 113: The commented-out macOS runner value "macos-26" is invalid; update
the commented or active runner setting in the CI workflow to a supported
GitHub-hosted runner such as "macos-14" or "macos-15" (i.e., replace the
"macos-26" string in the workflow job runner entry with a valid runner name) so
that if macOS support is re-enabled it uses a correct runner.
- Around line 272-274: The runner-selection job is currently executed but its
output is unused; either prevent it from running by adding a conditional (e.g.,
set an if: expression on the runner-selection job such as if:
matrix.use-self-hosted == 'true' or if:
github.event.workflow_dispatch.inputs.use_runner_selection == 'true') so it only
runs when needed, or remove the dependency from the build job by deleting needs:
[runner-selection] (and any references to
fromJSON(needs.runner-selection.outputs.labelmatrix)) and keep build using
runs-on: ${{ matrix.runs-on }}; update any matrix or workflow inputs accordingly
to ensure correct runner selection behavior.
♻️ Duplicate comments (1)
.github/workflows/ci.yml (1)
308-313: LGTM - Previous issue resolved.The
actions/checkout@v4is now correctly used, addressing the Node.js 16 runtime deprecation issue flagged in the previous review.
| # latest-cxxstd: "20" | ||
| # cxx: "clang++" | ||
| # cc: "clang" | ||
| # runs-on: "macos-26" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typo: macos-26 runner doesn't exist.
The commented-out macOS configuration references macos-26, which is not a valid GitHub-hosted runner. When re-enabling macOS support, this should be corrected to an existing runner like macos-14 or macos-15.
🤖 Prompt for AI Agents
In @.github/workflows/ci.yml at line 113, The commented-out macOS runner value
"macos-26" is invalid; update the commented or active runner setting in the CI
workflow to a supported GitHub-hosted runner such as "macos-14" or "macos-15"
(i.e., replace the "macos-26" string in the workflow job runner entry with a
valid runner name) so that if macOS support is re-enabled it uses a correct
runner.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In @.github/workflows/ci.yml:
- Around line 677-688: The Antora workflow step lists http-io-root under
scan-modules-dir but never clones that repo; update the Antora job to clone the
same http-io repository used in the build job (add a checkout/clone action for
http-io-root) so the http-io-root directory exists before scanning; look for the
Antora job configuration that defines scan-modules-dir/scan-modules-ignore and
add the corresponding clone/checkout step for the http-io repository (match the
clone logic used for the build job to ensure directory name and branch/commit
are consistent).
♻️ Duplicate comments (1)
.github/workflows/ci.yml (1)
111-137: Typo:macos-26runner doesn't exist.The commented-out macOS configuration at line 117 still references
macos-26, which is not a valid GitHub-hosted runner. When BSD/kqueue support is implemented and macOS is re-enabled, this should be corrected tomacos-14ormacos-15.
🧹 Nitpick comments (1)
.github/workflows/ci.yml (1)
438-438: Propertytime-traceis not defined in any matrix entry.The workflow references
matrix.time-tracein multiple conditions (lines 438, 460, 480, 565), but no matrix entry defines this property. This means:
- The B2 workflow condition
!matrix.time-traceis always true- The FlameGraph step (line 565) never executes
export-compile-commandsis always emptyIf time-trace profiling is intended, add
time-trace: trueto a matrix entry. Otherwise, consider removing these references to avoid confusion.
| scan-modules-dir: | | ||
| http-io-root | ||
| http-proto-root | ||
| http-root | ||
| buffers-root | ||
| capy-root | ||
| corosio-root | ||
| scan-modules-ignore: | | ||
| beast2 | ||
| http | ||
| buffers | ||
| capy | ||
| corosio |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same issue: http-io-root listed but not cloned.
The antora job has the same http-io-root reference in scan-modules-dir without a corresponding clone step. Apply the same fix as the build job.
🤖 Prompt for AI Agents
In @.github/workflows/ci.yml around lines 677 - 688, The Antora workflow step
lists http-io-root under scan-modules-dir but never clones that repo; update the
Antora job to clone the same http-io repository used in the build job (add a
checkout/clone action for http-io-root) so the http-io-root directory exists
before scanning; look for the Antora job configuration that defines
scan-modules-dir/scan-modules-ignore and add the corresponding clone/checkout
step for the http-io repository (match the clone logic used for the build job to
ensure directory name and branch/commit are consistent).
Summary by CodeRabbit
Documentation
Chores
Refactor
Tests
✏️ Tip: You can customize this high-level summary in your review settings.