Skip to content

[CI] Update ci scripts and documentation#4000

Merged
marcalff merged 5 commits intoopen-telemetry:mainfrom
dbarker:ci_build_tests_with_ninja_and_ci_updates
Apr 17, 2026
Merged

[CI] Update ci scripts and documentation#4000
marcalff merged 5 commits intoopen-telemetry:mainfrom
dbarker:ci_build_tests_with_ninja_and_ci_updates

Conversation

@dbarker
Copy link
Copy Markdown
Member

@dbarker dbarker commented Apr 14, 2026

Contributes to #3999

Changes

  • Clean up do_ci.sh
    • remove legacy c++11 targets
    • remove unused targets (thirdparty tag update, ..)
    • use modern cmake build and ctest commands
    • use ninja if available
    • add missing c++14 and c++17 cmake tests and set all to use maintainer mode
  • Update devcontainer to install bazel the same way as CI
  • Update ci script README

For significant contributions please make sure you have completed the following items:

  • CHANGELOG.md updated for non-trivial changes
  • Unit tests have been added
  • Changes in public API reviewed

…used legacy targets. Ensure bazel tests and cmake tests can be run in the development container. Update documentation
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 14, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.32%. Comparing base (075ff22) to head (0938bcc).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #4000      +/-   ##
==========================================
- Coverage   90.33%   90.32%   -0.01%     
==========================================
  Files         230      230              
  Lines        7299     7299              
==========================================
- Hits         6593     6592       -1     
- Misses        706      707       +1     

see 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dbarker dbarker marked this pull request as ready for review April 14, 2026 17:19
@dbarker dbarker requested a review from a team as a code owner April 14, 2026 17:19

RUN git config --global core.autocrlf input \
&& chmod +x /usr/local/bin/bazelisk-linux-amd64
RUN cd /opt/ci && bash install_bazelisk.sh
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

nit: since install_bazelisk.sh accepts a version argument, should we pass v1.22.1 here to preserve the previous devcontainer Bazelisk version? Otherwise this looks like a downgrade.

Copy link
Copy Markdown
Member Author

@dbarker dbarker Apr 16, 2026

Choose a reason for hiding this comment

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

Good question. My intent is to try to bring the dev environment closer to the ci environment with this change. All the ci workflows currently use the default version of the script. How about a separate PR for the upgrade?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Script ./ci/install_bazelisk.sh does not take a version as argument, it hard code version v1.16.0.

But I can not find where install_bazelisk.sh is used from today.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

it's currently only used by the bazel jobs in the ci and benchmark workflows.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

How about a separate PR for the upgrade?

Sounds good to me

Copy link
Copy Markdown
Member

@lalitb lalitb left a comment

Choose a reason for hiding this comment

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

Thanks. LGTM, with nit comment/

Comment thread ci/do_ci.sh
sed -i "s~gRPC_CPP_PLUGIN_EXECUTABLE-NOTFOUND~$grpc_cpp_plugin~" ${proto_make_file} #fixme
make -j $(nproc)
cd exporters/otlp && make test
cmake --build . "${CMAKE_BUILD_ARGS[@]}"
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.

This runs under the boot root now which was exportes/otlp, does it increase the test code to be out of cmake.exporter.otprococol.*?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

With this change it does run all the tests built. Before all the tests were built but only the otlp tests were run.

Copy link
Copy Markdown
Member

@marcalff marcalff left a comment

Choose a reason for hiding this comment

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

LGTM, thanks for the cleanup.

@marcalff marcalff merged commit 3d4c389 into open-telemetry:main Apr 17, 2026
68 checks passed
@dbarker dbarker deleted the ci_build_tests_with_ninja_and_ci_updates branch April 17, 2026 13:35
malkia added a commit to malkia/opentelemetry-cpp that referenced this pull request Apr 17, 2026
[CI] Update ci scripts and documentation (open-telemetry#4000)
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.

4 participants