open-telemetry / open-telemetry/opentelemetry-cpp

Update ci scripts and workflows to improve coverage

Open
#3,676 2 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Stale triage/accepted
Dominant language
C++
Stars
1.4k
Forks
632
Avg merge
1d 13h
Merged PRs (30d)
75

Description

This task is to clean up the ci/do_ci scripts and GitHub CI workflow jobs to improve coverage.

Proposed changes:

  • Update the do_ci scripts and GitHub CI workflow:
    • Maintainer test (all components, C++17) with a test matrix on:
      • ABI version 1 & 2,
      • Preview options on/off (propose this replaces sync/async export variations of the test)
    • C++ standard (core components, ABI v1 with preview options) with a test matrix on:
      • C++14, 17, 20, 23
      • With STL, No STL
  • Update the README for the ci scripts.

Many of these dimensions are already covered by individual jobs in the ci workflow, but some are not. The goal will be to use the GitHub test matrix strategy and cmake cache files (see test_common/cmake) to make it easier to maintain.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the ci/do_ci scripts, .github/workflows/ci.yml, and the test_common/cmake cache files; compare the existing jobs with the proposed ABI, preview, C++ standard, and STL dimensions. Update the CI scripts and workflow to use test matrices, then update the CI scripts README and verify the requested combinations are covered.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp, github-actions
Domain
build-system, ci-cd, testing-qa
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.