ENH: Add platform-specific package install inputs and OS selection#125
Open
hjmjohnson wants to merge 1 commit intov5.4.6from
Open
ENH: Add platform-specific package install inputs and OS selection#125hjmjohnson wants to merge 1 commit intov5.4.6from
hjmjohnson wants to merge 1 commit intov5.4.6from
Conversation
8a483b8 to
3730f9b
Compare
thewtex
requested changes
Apr 9, 2026
Member
thewtex
left a comment
There was a problem hiding this comment.
@hjmjohnson thanks!!
A change requested inline.
d346e0c to
c60f9d2
Compare
Add optional inputs to the CXX build workflow:
- apt-packages: Install system packages on Linux (apt-get)
- brew-packages: Install system packages on macOS (brew)
- choco-packages: Install system packages on Windows (choco)
- os-list: JSON array of runner OS labels to build on, allowing
modules to disable platforms that cannot work
Update README with:
- Short "Example Usage" block showing the typical jobs section,
preserving the pre-existing explicit secrets whitelist form
(secrets: pypi_password: ${{ secrets.pypi_password }}) as the
documented default
- Example for modules with external system dependencies
- Updated workflow ref from @main to @v5.4.6
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
c60f9d2 to
f121f5a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add four optional inputs to the CXX build reusable workflow so that remote
modules with external system-library or platform dependencies can keep using
the standard reusable workflow instead of rolling their own:
apt-packages— system packages installed viaapt-geton Linux runnersbrew-packages— system packages installed viabrewon macOS runnerschoco-packages— system packages installed viachocoon Windows runnersos-list— JSON array of runner OS labels to build on (lets modulesdisable platforms that can't work, e.g., macOS for a CUDA module)
Motivation
Modules like ITKIOOpenSlide
require system libraries (e.g.,
libopenslide-dev) that are not availableon standard GitHub Actions runners. Previously, these modules had to either:
action.ymlfile #37)With this change, they can simply pass
apt-packages: 'libopenslide-dev'(plus the matchingbrew-packages/choco-packageswhere applicable) to the reusable workflow.Usage
Multiple packages can be space-separated:
apt-packages: 'libopenslide-dev libfftw3-dev'.Details
sudo apt-get install -y -qq(Linux),brew install(macOS), orchoco install -y(Windows)platform (e.g.,
apt-packagesis a no-op on macOS/Windows)provided — no impact on existing modules
secrets: pypi_password: ${{ secrets.pypi_password }}whitelistform, matching the detailed breakdown later in the same README and
following the principle of least privilege rather than
secrets: inheritTest plan
action.ymlfile #37 to useapt-packages: 'libopenslide-dev'and re-enable the CXX build🤖 Generated with Claude Code