Skip to content

ENH: Add apt-packages input for installing system dependencies#125

Open
hjmjohnson wants to merge 1 commit intov5.4.6from
add-apt-packages-input
Open

ENH: Add apt-packages input for installing system dependencies#125
hjmjohnson wants to merge 1 commit intov5.4.6from
add-apt-packages-input

Conversation

@hjmjohnson
Copy link
Copy Markdown
Member

Summary

Add an optional apt-packages input to the CXX build reusable workflow. This allows remote modules with external system library dependencies to use the standard reusable workflow instead of needing a custom build workflow.

Motivation

Modules like ITKIOOpenSlide require system libraries (e.g., libopenslide-dev) that are not available on standard GitHub Actions runners. Previously, these modules had to either:

With this change, they can simply pass apt-packages: 'libopenslide-dev' to the reusable workflow.

Usage

jobs:
  cxx-build-workflow:
    uses: InsightSoftwareConsortium/ITKRemoteModuleBuildTestPackageAction/.github/workflows/build-test-cxx.yml@v5.4.6
    with:
      apt-packages: 'libopenslide-dev'

Multiple packages can be space-separated: apt-packages: 'libopenslide-dev libfftw3-dev'

Details

  • Packages are installed via sudo apt-get install -y -qq on Linux runners only
  • The step is skipped on macOS and Windows runners
  • The step is skipped entirely when apt-packages is not provided (no impact on existing modules)

Test plan

🤖 Generated with Claude Code

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:
- Simplified example using secrets: inherit instead of explicit
  secrets block (avoids YAML errors from empty secrets:)
- 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>
@hjmjohnson hjmjohnson force-pushed the add-apt-packages-input branch from 8a483b8 to 3730f9b Compare April 3, 2026 23:18
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