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.
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.
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.
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.
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.
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).
|
for the commits which remove the mistakenly added files could you please squash them down so that the added files never appear in the commit log? |
Summary by CodeRabbit
Documentation
Chores
Refactor
Tests
✏️ Tip: You can customize this high-level summary in your review settings.