-
Notifications
You must be signed in to change notification settings - Fork 9
Also test on MSVC with error-checked standard library #68
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?
Conversation
📝 WalkthroughWalkthroughThe GitHub Actions CI workflow configuration has been updated to modify how MSVC builds are tested. For MSVC compilers, the matrix now uses combined debug and release build variants instead of the direct matrix.build-type, while non-MSVC compilers maintain the original behavior. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Poem
🚥 Pre-merge checks | ✅ 2✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
|
An automated preview of the documentation is available at https://68.corosio.prtest3.cppalliance.org/index.html If more commits are pushed to the pull request, the docs will rebuild at the same URL. 2026-01-23 10:18:21 UTC |
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 360-363: The workflow passes "debug,release" into the
build-variant input (via build-variant: ${{ (matrix.compiler == 'msvc' &&
'debug,release') || matrix.build-type }}) but the alandefreitas/cpp-actions
b2-workflow expects a single variant string; change the matrix to include a
dedicated matrix key (e.g., matrix.build-variant) with separate values "debug"
and "release" for MSVC and update the action invocation to use build-variant:
${{ matrix.build-variant }} (or map matrix.compiler to a single build-variant
per job) so each job runs one valid variant at a time.
| modules: corosio | ||
| toolset: ${{ matrix.b2-toolset }} | ||
| build-variant: ${{ matrix.build-type }} | ||
| build-variant: ${{ (matrix.compiler == 'msvc' && 'debug,release') || matrix.build-type }} | ||
| cxx: ${{ steps.setup-cpp.outputs.cxx || matrix.cxx || '' }} |
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.
🧩 Analysis chain
🌐 Web query:
alandefreitas/cpp-actions b2-workflow build-variant input format documentation
💡 Result:
In alandefreitas/cpp-actions → b2-workflow, the build-variant input is a single string naming the build variant. The action accepts CMake-style build types and maps them to B2, or you can pass a custom B2 variant name directly: Release → release, Debug → debug, RelWithDebInfo → release plus debug-symbols=on, and anything else is lowercased and used as the B2 variant. If build-variant is not set, it falls back to B2_BUILD_VARIANT, otherwise to build-type. [1]
Related: in B2 itself, the built-in variant feature’s standard values are debug and release. [2]
Sources
[1] B2 Workflow action docs (build-variant mapping and fallback rules) (alandefreitas.github.io)
[2] B2 manual (variant values) (bfgroup.xyz)
Citations:
- 1: https://alandefreitas.github.io/cpp-actions/cpp-actions/actions/b2-workflow.html
- 2: https://www.bfgroup.xyz/b2/manual/release/index.html?utm_source=openai
The build-variant input expects a single variant string, not comma-separated values.
Line 362 passes debug,release to build-variant, but the alandefreitas/cpp-actions b2-workflow action accepts only a single variant per invocation. B2 will treat debug,release as a literal variant name (which does not exist) and the build will fail or skip the intended variants. To build both debug and release for MSVC, use a matrix strategy to invoke the workflow multiple times with separate build-variant values.
🤖 Prompt for AI Agents
In @.github/workflows/ci.yml around lines 360 - 363, The workflow passes
"debug,release" into the build-variant input (via build-variant: ${{
(matrix.compiler == 'msvc' && 'debug,release') || matrix.build-type }}) but the
alandefreitas/cpp-actions b2-workflow expects a single variant string; change
the matrix to include a dedicated matrix key (e.g., matrix.build-variant) with
separate values "debug" and "release" for MSVC and update the action invocation
to use build-variant: ${{ matrix.build-variant }} (or map matrix.compiler to a
single build-variant per job) so each job runs one valid variant at a time.
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.