On this page
article
prep-ipm
Download and install the IPM CLI on your GitHub Actions runner
prep-ipm
Downloads and installs the IPM CLI for the runner’s OS and architecture, then exposes it on PATH. Safe to call multiple times within a job — it skips the download if the requested version is already installed.
This action is used internally by ipm-init, ipm-sync, and ipm-status. You only need to use it directly if you want to run IPM CLI commands manually in a subsequent step.
Usage
- uses: ipmhubio/ipm-actions/.github/actions/prep-ipm@v1
with:
version: '' # Optional: specific version without 'v' prefix (default: latest)
alias-name: 'ipm' # Optional: alias exposed on PATH (default: 'ipm')
Inputs
| Input | Required | Default | Description |
|---|---|---|---|
version |
No | latest | Specific IPM version to install, without the v prefix (e.g. 0.12.0). Omit or leave empty for latest. |
alias-name |
No | ipm |
The name of the binary alias exposed on PATH. |
alias-per-version |
No | false |
When true, the alias becomes <alias-name>-<version> so multiple versions can coexist in the same job. |
install-root |
No | ${{ runner.temp }}/ipm-bin |
Root directory used to cache installs across steps within the job. |
Outputs
| Output | Description |
|---|---|
bin_dir |
Directory containing the installed binary. |
alias_path |
Full path to the binary alias. |
alias |
Alias name that was added to PATH. |
version_key |
Normalized version key (e.g. 0.12.0 or latest). |
Supported Platforms
| OS | Architectures |
|---|---|
| Ubuntu | x64, arm, arm64 |
| macOS | x64, arm64 |
| Windows | x86, x64, arm64 |
Examples
Install latest and use in a subsequent step
- name: Install IPM
id: ipm
uses: ipmhubio/ipm-actions/.github/actions/prep-ipm@v1
- name: Run custom IPM command
run: ipm info myorg/mypackage --non-interactive
env:
IPM_CLIENT_SECRETS: ${{ secrets.IPM_CLIENT_SECRETS }}
Pin a specific version
- name: Install IPM 0.12.0
uses: ipmhubio/ipm-actions/.github/actions/prep-ipm@v1
with:
version: '0.12.0'
Run two IPM versions in the same job
- name: Install IPM latest
uses: ipmhubio/ipm-actions/.github/actions/prep-ipm@v1
with:
alias-per-version: 'true'
- name: Install IPM 0.10.0
uses: ipmhubio/ipm-actions/.github/actions/prep-ipm@v1
with:
version: '0.10.0'
alias-per-version: 'true'
- name: Compare outputs
run: |
ipm-latest --version
ipm-0.10.0 --version