Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@dellaert
Copy link
Member

@dellaert dellaert commented Aug 21, 2025

New configuration of the workflows to speed up CI (and emit less CO2):

  1. There will be one Boost run and one Boost installation on Mac, specifically for the macos-14-xcode-15.4-boost job in build-macos.yml.
  2. There will be one Boost run and one Boost installation on Linux, specifically for the ubuntu-24.04-clang-16-boost job in build-linux.yml.

The build-special.yml workflow will not install or run Boost in any of its runs now.

Also:

  • run vcpkg run on push, as suggested by @talregev
  • use mold/gold linker for Linux clang/gcc, respectively - faster linking

@dellaert dellaert requested review from Copilot and jlblancoc August 21, 2025 14:54
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR reduces CI resource usage by consolidating Boost installations to only two specific jobs - one on macOS and one on Linux. The changes remove redundant Boost installations across multiple jobs while maintaining test coverage through dedicated Boost-enabled configurations.

Key changes:

  • Remove all Boost-related configurations from build-special.yml workflow
  • Add dedicated Boost-enabled jobs to macOS and Linux workflows
  • Change default Boost configuration to disabled in the build script

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
.github/workflows/build-special.yml Removes ubuntu-no-boost job and all Boost installation/configuration steps
.github/workflows/build-macos.yml Adds macos-14-xcode-15.4-boost job with conditional Boost installation
.github/workflows/build-linux.yml Adds ubuntu-24.04-clang-16-boost job with conditional Boost installation
.github/scripts/unix.sh Changes default Boost configuration from ON to OFF

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@talregev
Copy link
Contributor

talregev commented Aug 21, 2025

another suggestion to speed up runs, is let vcpkg also run on push, like deploy workflow.
That way the cache will save for all repo, and it will not start over on every PR. vcpkg build will start over on vcpkg update, that happen once per 2 weeks.
It will save ~20min for each vcpkg run.

https://github.com/borglab/gtsam/blob/develop/.github/workflows/deploy.yml#L5-L7

@dellaert
Copy link
Member Author

Happy to do so, @talregev ! What change would I make in which workflow?

@talregev
Copy link
Contributor

Happy to do so, @talregev ! What change would I make in which workflow?

I will make another PR and we can discuss it there.
Thank you for considering my suggestion!

@dellaert dellaert changed the title new config so boost only installs/runs twice CI Improvements for speed Aug 21, 2025
For reviewing PRs:
* All functions in header files should have doxygen-style API docs
* Use /// for single-line comments rather than /** */
* Use meaningful variable names, e.g. `measurement` not `msm`, avoid abbreviations.
Copy link
Member

Choose a reason for hiding this comment

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

This could be even "enforced" by using clang-tidy if so wanted at some point...

Copy link
Member Author

Choose a reason for hiding this comment

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

I would love that :-)

@dellaert dellaert merged commit ffbf47a into develop Aug 21, 2025
32 checks passed
@dellaert dellaert deleted the feature/less_boost branch August 21, 2025 23:43
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