Skip to content

CI: build all targets (library, tests, examples, benchmarks) standalone and in superproject #186

@sgerbino

Description

@sgerbino

Summary

Ensure CI builds all CMake targets — library, tests, examples, and benchmarks — in both standalone and Boost superproject modes.

Current state

  • The primary CI matrix builds within the Boost superproject via B2 and CMake.
  • There is no CI job that builds corosio as a fully standalone project (outside the Boost tree entirely), where Capy is fetched via FetchContent.
  • Benchmark and example targets may be skipped in some configurations.

Desired state

  1. All target categories built in CI:

    • boost_corosio (core library)
    • boost_corosio_openssl / boost_corosio_wolfssl (TLS providers, where available)
    • Unit tests (boost_corosio_tests)
    • Examples (client, echo-server, nslookup, https-client)
    • Benchmarks (corosio_bench)
  2. Both build modes exercised:

    • Superproject: Build within the Boost tree (B2 and/or CMake), as currently done.
    • Standalone: A dedicated CI job that builds corosio entirely outside the Boost superproject — corosio is the CMake root and Capy is fetched via FetchContent. Build with BOOST_COROSIO_BUILD_TESTS=ON, BOOST_COROSIO_BUILD_EXAMPLES=ON, and BOOST_COROSIO_BUILD_PERF=ON.
  3. Explicit verification that each target compiles successfully in both modes.

Suggested approach

  • Add standalone CI matrix entries to ci.yml that configure and build corosio as a standalone root project with all build options enabled.
  • Ensure existing superproject jobs also enable examples and benchmarks (or add a dedicated job that does).
  • Consider a CI step that lists built targets to catch regressions where a target silently stops being built.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions