Skip to content

ci: single-source Boost/Eigen/eigenpy versions; bumps trigger the image - #278

Merged
ofloveandhate merged 1 commit into
developfrom
ci-single-source-versions
Jul 7, 2026
Merged

ci: single-source Boost/Eigen/eigenpy versions; bumps trigger the image#278
ofloveandhate merged 1 commit into
developfrom
ci-single-source-versions

Conversation

@ofloveandhate

Copy link
Copy Markdown
Contributor

One file — .github/ci-deps-versions.env — now holds the C++ dep versions, read by all three CI workflows:

  • build_and_test.yml: a tiny set_versions job reads the file and exposes boost/eigen/eigenpy as outputs; the two jobs that build from source (test_cpp_unix, build_macos_ubuntu_wheels) consume them as job-level env (works for both ${{ env.X }} and shell $X). Dropped the workflow-level version env and the hardcoded eigen-3.4.0 literals.
  • build-ci-image.yml / build-macos-deps.yml: load the file into $GITHUB_ENV per job, and add it to their push path filters.

Payoff: a version bump in one file (a) reruns build_and_test, (b) rebuilds the Linux image, and (c) rebuilds the macOS tarballs — no editing four places, no forgetting to rebuild the prebuilt deps after a bump.

Validated: all three workflows parse; grep finds zero version literals left outside the .env. The set_versions env plumbing gets exercised by this PR's own CI. Hold merge per the develop-merge freeze.

🤖 Generated with Claude Code

Add .github/ci-deps-versions.env as the ONE place the C++ dep versions live, read by all
three CI workflows:

- build_and_test.yml: a small `set_versions` job reads the file and exposes boost/eigen/
  eigenpy as outputs; the two jobs that build from source (test_cpp_unix,
  build_macos_ubuntu_wheels) consume them as job-level env. Removed the workflow-level
  BOOST_VERSION/EIGENPY_VERSION and the hardcoded eigen-3.4.0 literals.
- build-ci-image.yml / build-macos-deps.yml: load the file into $GITHUB_ENV per job, and
  add the file to their push path filters.

So a version bump in one file (a) reruns build_and_test, (b) rebuilds the Linux image, and
(c) rebuilds the macOS tarballs -- no more editing versions in four places, and no more
forgetting to rebuild the prebuilt deps after a bump.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ofloveandhate
ofloveandhate merged commit 18e26a3 into develop Jul 7, 2026
32 checks passed
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.

1 participant