Skip to content

feat: move separate modules to cucumber.io - #394

Open
Daan Timmer (daantimmer) wants to merge 41 commits into
mainfrom
feature/update-cucumber-moduels
Open

Daan Timmer (daantimmer) wants to merge 41 commits into
mainfrom
feature/update-cucumber-moduels

Conversation

@daantimmer

Copy link
Copy Markdown
Collaborator

No description provided.

Copilot AI lite review requested due to automatic review settings September 19, 2026 15:21
@github-actions

github-actions Bot commented Sep 19, 2026 •

Copy link
Copy Markdown

✅⚠️MegaLinter analysis: Success with warnings

Descriptor Linter Files Fixed Errors Max errors Warnings Elapsed time
✅ ACTION actionlint 7 0 0 0.04s
⚠️ ACTION zizmor 7 0 0 1 1.95s
✅ CPP clang-format 207 0 0 0 1.09s
✅ DOCKERFILE hadolint 1 0 0 0.03s
⚠️ MARKDOWN markdownlint 8 6 23 0 1.42s
✅ MARKDOWN markdown-table-formatter 8 6 0 0 0.28s
✅ REPOSITORY betterleaks yes no no 1.52s
✅ REPOSITORY git_diff yes no no 0.05s
✅ REPOSITORY grype yes no no 88.71s
✅ REPOSITORY ls-lint yes no no 0.02s
✅ REPOSITORY secretlint yes no no 1.67s
✅ REPOSITORY syft yes no no 2.63s
✅ REPOSITORY trivy yes no no 10.87s
✅ REPOSITORY trivy-sbom yes no no 0.85s
✅ REPOSITORY trufflehog yes no no 4.11s
⚠️ SPELL lychee 78 1 0 12.16s
✅ YAML prettier 17 3 0 0 0.98s
✅ YAML v8r 17 0 0 7.13s
✅ YAML yamllint 17 0 0 0.84s

Detailed Issues

⚠️ SPELL / lychee - 1 error
📝 Summary
---------------------
🔍 Total..........194
🔗 Unique.........186
✅ Successful.....193
⏳ Timeouts.........0
🔀 Redirected......80
👻 Excluded.........0
❓ Unknown..........0
🚫 Errors...........1
⛔ Unsupported......1

Errors in CONTRIBUTING.md
[404] https://github.com/yourname/amp-cucumber-cpp-runner.git (at 41:35) | Rejected status code: 404 Not Found | Followed 1 redirect. Redirects: https://github.com/yourname/amp-cucumber-cpp-runner.git --[301]--> https://github.com/yourname/amp-cucumber-cpp-runner

Hint: Followed 80 redirects. You might want to consider replacing redirecting URLs with the resolved URLs. Use verbose mode (`-v`/`-vv`) to see redirection details.
Hint: You can configure accepted/rejected response codes with `-a` or `--accept`
⚠️ MARKDOWN / markdownlint - 23 errors
CHANGELOG.md:26 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "Features"]
CHANGELOG.md:33 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "Bug Fixes"]
CHANGELOG.md:38 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "Chores"]
CHANGELOG.md:51 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "Features"]
CHANGELOG.md:58 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "Bug Fixes"]
CHANGELOG.md:64 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "Chores"]
CHANGELOG.md:71 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "Features"]
CHANGELOG.md:78 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "Chores"]
CHANGELOG.md:86 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "⚠ BREAKING CHANGES"]
CHANGELOG.md:90 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "Features"]
CHANGELOG.md:99 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "Features"]
CHANGELOG.md:105 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "Chores"]
CHANGELOG.md:113 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "⚠ BREAKING CHANGES"]
CHANGELOG.md:117 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "Features"]
CHANGELOG.md:122 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "Bug Fixes"]
CHANGELOG.md:131 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "Features"]
CHANGELOG.md:142 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "Chores"]
CHANGELOG.md:150 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "⚠ BREAKING CHANGES"]
CHANGELOG.md:154 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "Features"]
CHANGELOG.md:179 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "Bug Fixes"]
CHANGELOG.md:186 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "Chores"]
cmake/WindowsToolchainFilesProvidedBy.md:1 error MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "<https://github.com/MarkSchofi..."]
README.md:188 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
⚠️ ACTION / zizmor - 1 warning
INFO zizmor: 🌈 zizmor v1.25.0
 INFO audit: zizmor: 🌈 completed .github/workflows/ci-fetched-packages.yml
 INFO audit: zizmor: 🌈 completed .github/workflows/ci-system-packages.yml
 INFO audit: zizmor: 🌈 completed .github/workflows/linting-formatting.yml
 INFO audit: zizmor: 🌈 completed .github/workflows/pr-conventional-title.yml
 INFO audit: zizmor: 🌈 completed .github/workflows/release-please.yml
 INFO audit: zizmor: 🌈 completed .github/workflows/security.yml
 INFO audit: zizmor: 🌈 completed .github/workflows/static-analysis.yml
{
  "$schema": "https://docs.oasis-open.org/sarif/sarif/v2.1.0/os/schemas/sarif-schema-2.1.0.json",
  "runs": [
    {
      "invocations": [
        {
          "executionSuccessful": true
        }
      ],
      "results": [],
      "tool": {
        "driver": {
          "downloadUri": "https://github.com/zizmorcore/zizmor",
          "informationUri": "https://docs.zizmor.sh",
          "name": "zizmor",
          "rules": [],
          "semanticVersion": "1.25.0",
          "version": "1.25.0"
        }
      }
    }
  ],
  "version": "2.1.0"
No fixes available to apply.
}

Notices

⚠️ Your configuration references items that have been removed from MegaLinter and are ignored: REPOSITORY_GITLEAKS, REPOSITORY_GOODCHECK, REPOSITORY_KICS. See Removed linters to find their replacements.

See detailed reports in MegaLinter artifacts

Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)

  • Documentation: Custom Flavors
  • Command: npx mega-linter-runner@10.1.0 --custom-flavor-setup --custom-flavor-linters ACTION_ACTIONLINT,ACTION_ZIZMOR,CPP_CLANG_FORMAT,DOCKERFILE_HADOLINT,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,REPOSITORY_GIT_DIFF,REPOSITORY_BETTERLEAKS,REPOSITORY_GRYPE,REPOSITORY_LS_LINT,REPOSITORY_SECRETLINT,REPOSITORY_SYFT,REPOSITORY_TRIVY,REPOSITORY_TRIVY_SBOM,REPOSITORY_TRUFFLEHOG,SPELL_LYCHEE,YAML_PRETTIER,YAML_YAMLLINT,YAML_V8R

MegaLinter is provided by OX Security
Show us your support by starring ⭐ the repository

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Resolve the missing non-fetch dependency discovery and the progress-bar formatter option lookup issue.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 2 High severity

Open (2)
What changed in this PR

Migrates Cucumber Expressions, message handling, and formatter implementations to upstream cucumber.io modules.

Changes:

  • Adds upstream cucumber-expression and pretty-formatter dependencies.
  • Refactors message transformations and broadcasting for value-based messages.
  • Replaces local expression and formatter implementations.
  • Updates APIs, runtime integration, tests, and build configuration.
File Summary
cucumber_cpp/​Steps.hpp Updates expression aliases.
cucumber_cpp/​library/​util/​TransformTestStepResult.cpp Updates result transformation.
cucumber_cpp/​library/​util/​TransformTag.hpp Updates tag transformation declarations.
cucumber_cpp/​library/​util/​TransformTag.cpp Updates tag transformation.
cucumber_cpp/​library/​util/​TransformTable.cpp Updates table transformation.
cucumber_cpp/​library/​util/​TransformStepMatchArgumentsList.cpp Updates argument transformation.
cucumber_cpp/​library/​util/​TransformPickleTag.hpp Updates pickle tag declarations.
cucumber_cpp/​library/​util/​TransformPickleTag.cpp Updates pickle tag transformation.
cucumber_cpp/​library/​util/​TransformHookData.cpp Updates hook data transformation.
cucumber_cpp/​library/​util/​TransformArgument.cpp Updates argument transformation.
cucumber_cpp/​library/​util/​test/​TestTransformTag.cpp Updates tag transformation tests.
cucumber_cpp/​library/​util/​test/​TestTransformTable.cpp Updates table transformation tests.
cucumber_cpp/​library/​util/​test/​TestBroadcaster.cpp Updates broadcaster tests.
cucumber_cpp/​library/​util/​CMakeLists.txt Updates utility build configuration.
cucumber_cpp/​library/​util/​Broadcaster.hpp Updates broadcaster types.
cucumber_cpp/​library/​util/​Broadcaster.cpp Updates broadcaster implementation.
cucumber_cpp/​library/​util/​Body.hpp Updates message body handling.
cucumber_cpp/​library/​util/​ArgumentGroupToMessageGroup.hpp Updates message group declarations.
cucumber_cpp/​library/​util/​ArgumentGroupToMessageGroup.cpp Updates message group conversion.
cucumber_cpp/​library/​test/​TestApplication.cpp Updates application tests.
cucumber_cpp/​library/​support/​SupportCodeLibrary.hpp Migrates support expression types.
cucumber_cpp/​library/​support/​StepRegistry.hpp Updates step registry declarations.
cucumber_cpp/​library/​support/​StepRegistry.cpp Updates step registry implementation.
cucumber_cpp/​library/​support/​DefinitionRegistration.hpp Updates definition registration declarations.
cucumber_cpp/​library/​support/​DefinitionRegistration.cpp Updates definition registration.
cucumber_cpp/​library/​support/​CMakeLists.txt Updates support build configuration.
cucumber_cpp/​library/​runtime/​Worker.cpp Updates runtime worker handling.
cucumber_cpp/​library/​runtime/​TestCaseRunner.cpp Updates test case execution.
cucumber_cpp/​library/​runtime/​NestedTestCaseRunner.cpp Updates nested test execution.
cucumber_cpp/​library/​runtime/​Coordinator.cpp Updates runtime coordination.
cucumber_cpp/​library/​runtime/​CMakeLists.txt Updates runtime build configuration.
cucumber_cpp/​library/​plugin/​PluginRegister.cpp Updates plugin registration.
cucumber_cpp/​library/​plugin/​PLUGIN_ARCHITECTURE.md Updates plugin architecture documentation.
cucumber_cpp/​library/​plugin/​ParameterLoader.hpp Updates parameter loader declarations.
cucumber_cpp/​library/​plugin/​ParameterLoader.cpp Updates parameter loading.
cucumber_cpp/​library/​plugin/​DynamicLibraryManager.cpp Updates dynamic library handling.
cucumber_cpp/​library/​plugin/​CMakeLists.txt Updates plugin build configuration.
cucumber_cpp/​library/​Parameter.hpp Updates parameter definitions.
cucumber_cpp/​library/​formatter/​UsageFormatter.cpp Integrates formatter implementation.
cucumber_cpp/​library/​formatter/​SummaryFormatter.hpp Updates formatter declarations.
cucumber_cpp/​library/​formatter/​PrettyFormatter.hpp Updates pretty formatter declarations.
cucumber_cpp/​library/​formatter/​PrettyFormatter.cpp Integrates pretty formatter behavior.
cucumber_cpp/​library/​formatter/​JunitXmlFormatter.cpp Updates JUnit formatter integration.
cucumber_cpp/​library/​formatter/​helper/​TextBuilder.hpp Updates text builder declarations.
cucumber_cpp/​library/​formatter/​helper/​TextBuilder.cpp Updates text building.
cucumber_cpp/​library/​formatter/​helper/​PrintMessages.hpp Updates message printing declarations.
cucumber_cpp/​library/​formatter/​helper/​PrintMessages.cpp Updates message printing.
cucumber_cpp/​library/​formatter/​helper/​IndentString.hpp Updates indentation declarations.
cucumber_cpp/​library/​formatter/​helper/​IndentString.cpp Updates indentation handling.
cucumber_cpp/​library/​formatter/​helper/​FormatMessages.hpp Updates message formatting declarations.
cucumber_cpp/​library/​formatter/​helper/​CMakeLists.txt Updates formatter helper build configuration.
cucumber_cpp/​library/​formatter/​ExternalFormatter.hpp Adds external formatter declarations.
cucumber_cpp/​library/​formatter/​ExternalFormatter.cpp Integrates external formatter behavior.
cucumber_cpp/​library/​formatter/​CMakeLists.txt Updates formatter dependencies and targets.
cucumber_cpp/​library/​engine/​test/​TestStep.cpp Updates engine tests.
cucumber_cpp/​library/​engine/​ExecutionContext.cpp Updates execution context handling.
cucumber_cpp/​library/​engine/​CMakeLists.txt Updates engine build configuration.
cucumber_cpp/​library/​cucumber_expression/​TreeRegexp.hpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​TreeRegexp.cpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​test/​TestTreeRegexp.cpp Removes local expression tests.
cucumber_cpp/​library/​cucumber_expression/​test/​TestTransformation.cpp Removes local expression tests.
cucumber_cpp/​library/​cucumber_expression/​test/​TestRegularExpression.cpp Removes local expression tests.
cucumber_cpp/​library/​cucumber_expression/​test/​TestRegexStrategyFactory.cpp Removes local expression tests.
cucumber_cpp/​library/​cucumber_expression/​test/​TestRegexStrategy.cpp Removes local expression tests.
cucumber_cpp/​library/​cucumber_expression/​test/​TestExpressionTokenizer.cpp Removes local expression tests.
cucumber_cpp/​library/​cucumber_expression/​test/​TestExpressionParser.cpp Removes local expression tests.
cucumber_cpp/​library/​cucumber_expression/​test/​CMakeLists.txt Updates expression test configuration.
cucumber_cpp/​library/​cucumber_expression/​StdRegexStrategy.hpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​StdRegexStrategy.cpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​RegularExpression.hpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​RegularExpression.cpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​RegexStrategyFactory.hpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​RegexStrategyFactory.cpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​RegexStrategy.hpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​Re2RegexStrategy.hpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​Re2RegexStrategy.cpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​ParameterRegistry.hpp Migrates parameter registry types.
cucumber_cpp/​library/​cucumber_expression/​ParameterRegistry.cpp Migrates parameter registry implementation.
cucumber_cpp/​library/​cucumber_expression/​MatchRange.hpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​MatchRange.cpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​Matcher.hpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​Group.hpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​Group.cpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​ExpressionTokenizer.hpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​ExpressionTokenizer.cpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​ExpressionParser.hpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​ExpressionParser.cpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​Expression.hpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​Expression.cpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​Errors.hpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​Errors.cpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​CMakeLists.txt Removes local expression build targets.
cucumber_cpp/​library/​cucumber_expression/​Ast.hpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​Ast.cpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​Argument.hpp Replaced local expression implementation.
cucumber_cpp/​library/​cucumber_expression/​Argument.cpp Replaced local expression implementation.
cucumber_cpp/​library/​CMakeLists.txt Updates library build configuration.
cucumber_cpp/​library/​BodyMacro.hpp Updates argument conversion APIs.
cucumber_cpp/​library/​assemble/​CMakeLists.txt Updates assembly build configuration.
cucumber_cpp/​library/​assemble/​AssembleTestSuites.hpp Updates suite assembly declarations.
cucumber_cpp/​library/​assemble/​AssembleTestSuites.cpp Updates suite assembly.
cucumber_cpp/​library/​Application.hpp Updates application declarations.
cucumber_cpp/​library/​Application.cpp Updates application integration.
cucumber_cpp/​library/​api/​RunCucumber.hpp Updates run API declarations.
cucumber_cpp/​library/​api/​RunCucumber.cpp Updates run API.
cucumber_cpp/​library/​api/​Gherkin.hpp Updates Gherkin API declarations.
cucumber_cpp/​library/​api/​Gherkin.cpp Updates Gherkin API.
cucumber_cpp/​library/​api/​Formatters.hpp Updates formatter API declarations.
cucumber_cpp/​library/​api/​Formatters.cpp Updates formatter registration and options.
cucumber_cpp/​library/​api/​CMakeLists.txt Updates API build configuration.
cucumber_cpp/​CucumberCpp.hpp Updates public exports and aliases.
cucumber_cpp/​acceptance_test/​test.bats Updates acceptance expectations.
cucumber_cpp/​acceptance_test/​hooks/​Hooks.cpp Updates acceptance hooks.
cmake/​dependencies.cpm.cmake Adds upstream dependencies and package setup.
.clang-tidy Adjusts initializer linting.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread cmake/dependencies.cpm.cmake Outdated
Comment thread cucumber_cpp/library/formatter/CMakeLists.txt
@github-actions

github-actions Bot commented Sep 19, 2026 •

Copy link
Copy Markdown

Test Results

34 tests  ±0   34 ✅ ±0   5s ⏱️ -15s
 1 suites ±0    0 💤 ±0 
 1 files   ±0    0 ❌ ±0 

Results for commit 90a6666. ± Comparison against base commit 297a72d.

♻️ This comment has been updated with latest results.

Copilot AI review requested due to automatic review settings September 19, 2026 16:41

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🔵 Needs a closer look

Non-fetch builds do not discover the newly required imported dependencies, causing CMake configuration or linking to fail.

Review effort: Lite
Findings: 2 High severity

Open (2)

Copilot AI review requested due to automatic review settings September 19, 2026 16:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🔵 Needs a closer look

Resolve missing installed-package dependencies and correct the progressbar formatter option key.

Review effort: Lite
Findings: 2 High severity

Open (2)
Previously missed (1)

In code that hasn't changed since last review

Medium severity Use matching configuration key for progressbar formatter

cucumber_cpp/​library/​api/​Formatters.cpp:57

The formatter is registered under the public name progressbar, but its options are extracted from the unrelated key progress-bar. As a result, users passing {"progressbar": {...}} cannot configure this formatter; those options are silently ignored. Use the same key as the registered formatter (or consistently rename the registration).

Copilot AI review requested due to automatic review settings September 19, 2026 19:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🔵 Needs a closer look

Non-fetch builds lack dependency discovery, and the formatter registration change breaks existing consumers.

Review effort: Lite
Findings: 2 High severity

Open (2)

Copilot AI review requested due to automatic review settings September 19, 2026 20:27

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🔵 Needs a closer look

Dependency discovery is incomplete for non-fetch builds, and the progressbar formatter option key is inconsistent.

Review effort: Lite
Findings: 2 High severity

Open (2)
Previously missed (1)

In code that hasn't changed since last review

Medium severity Formatter options use mismatched progress-bar key

cucumber_cpp/​library/​api/​Formatters.cpp:56

The formatter is registered under progressbar, but its options are read from the progress-bar key. As a result, configuration such as --format-options '{"progressbar": {"include_attachments": false}}' is silently ignored, unlike the other formatter registrations whose option key matches their name. Use the registered name consistently (or explicitly document and support the alternate key).

Copilot AI review requested due to automatic review settings September 19, 2026 22:54

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Unresolved build, CI, dependency, formatter, documentation, and plugin ABI issues remain.

Review effort: Lite
Findings: 12 High severity · 1 Medium severity · 3 Low severity

Open (16)
Previously missed (1)

In code that hasn't changed since last review

Low severity Fix documented host-system build directory

README.md:67

The documented install command points at build/host-system, but the checked-in CMake preset uses .build/host-system as its binary directory. Following these instructions makes CMake report that the build directory does not exist.

Comment thread .github/actions/build/action.yml
Comment thread .github/actions/install-dependency/action.yaml Outdated
Copilot AI lite review requested due to automatic review settings October 2, 2026 15:16

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Unresolved critical and moderate issues remain in dependency installation, CI workflows, documentation, portability, and formatter option handling.

Review effort: Lite
Findings: 12 High severity · 1 Medium severity · 3 Low severity

Open (16)
Resolved since last review (1)
Previously missed (1)

In code that hasn't changed since last review

Low severity Use the preset's actual CMake install directory

README.md:67

This install command points at build/host-system, but the repository's CMake presets define the binary directory as .build/${presetName}. Following the documented workflow therefore passes a nonexistent build directory to cmake --install. Use the preset's actual binary directory.

Comment thread .github/actions/install-dependency/action.yaml Outdated
Copilot AI lite review requested due to automatic review settings October 2, 2026 15:23

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Unresolved build, CI, formatter, portability, and documentation issues remain.

Review effort: Lite
Findings: 14 High severity · 1 Medium severity · 3 Low severity

Open (18)
Resolved since last review (1)
Previously missed (1)

In code that hasn't changed since last review

Low severity Install dependencies from the preset's .build directory

README.md:67

The defaults preset sets the binary directory to ${sourceDir}/.build/${presetName}, so this installation command points at a directory that the documented configure command does not create. Use .build/host-system here.

Comment thread .github/actions/install-dependency/action.yaml
Comment thread .github/workflows/static-analysis.yml Outdated
Comment thread cucumber_cpp/library/api/Formatters.cpp
Copilot AI lite review requested due to automatic review settings October 2, 2026 22:22

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Unresolved build, CI, documentation, portability, and plugin ABI issues remain.

Review effort: Lite
Findings: 13 High severity · 1 Medium severity · 3 Low severity

Open (17)
Resolved since last review (2)
Previously missed (2)

In code that hasn't changed since last review

Low severity Ubuntu fmt package is incompatible with required fmt 10

README.md:50

This Ubuntu installation command installs the distribution libfmt-dev, but the project requires find_package(fmt 10 REQUIRED) and Ubuntu 24.04 supplies fmt 9. The documented system-dependency setup therefore cannot configure on the Ubuntu version used by the system CI; document the fmt 10 source install (or another fmt >= 10 source) instead.

Low severity Documented install path mismatches CMake preset output

README.md:67

The documented install path does not match CMakePresets.json, whose defaults.binaryDir is .build/${presetName}. Following these commands runs the workflow in .build/host-system but then tries to install from the nonexistent build/host-system directory.

Comment thread .github/actions/build/action.yml
Copilot AI lite review requested due to automatic review settings October 2, 2026 22:53

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Comment thread .github/actions/install-dependencies/action.yaml
Comment thread cucumber_cpp/acceptance_test/test.bats
Copilot AI lite review requested due to automatic review settings October 2, 2026 23:04

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🔵 Needs a closer look

Unresolved moderate issues remain in documentation, macOS test setup, formatter options, and usage-duration output.

Review effort: Lite
Findings: 11 High severity · 1 Medium severity · 3 Low severity

Open (15)
Resolved since last review (2)
Previously missed (1)

In code that hasn't changed since last review

Medium severity Use registered progressbar formatter key for options

cucumber_cpp/​library/​api/​Formatters.cpp:56

The accepted formatter name is progressbar, but this factory reads options from progress-bar. As a result, options supplied for the formatter (for example {"progressbar":{"include_attachments":false}}) are silently ignored. Use the same key as the registered formatter, or rename the registered formatter consistently.

Copilot AI lite review requested due to automatic review settings October 2, 2026 23:17
Comment thread .github/actions/build/action.yml
Comment thread .github/workflows/ci-fetched-packages.yml
Comment thread .github/workflows/ci-system-packages.yml
Comment thread README.md

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Critical CI/install failures, a compile error, missing integration coverage, and additional documented integration issues remain unresolved.

Review effort: Lite
Findings: 13 High severity · 1 Medium severity · 3 Low severity

Open (17)
Previously missed (1)

In code that hasn't changed since last review

Medium severity System CI omits bats, silently skipping acceptance tests

.github/​actions/​install-dependencies/​action.yaml:21

The system-package CI path never installs bats (the Ubuntu branch installs only C++ libraries, and the macOS/Windows branches do not install it either), while the top-level CMakeLists only registers the acceptance test when find_program(bats) succeeds. On clean system runners this silently omits the acceptance suite from test-system/test-fetch-deps; install bats for these jobs or make its absence fail the test configuration.

Comment thread .github/actions/install-dependency/action.yaml
Comment thread .github/workflows/static-analysis.yml
@sonarqubecloud

sonarqubecloud Bot commented Oct 2, 2026

Copy link
Copy Markdown

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.

3 participants