On this page
article
ipm-status
Check the status of IPM packages in your GitHub Actions workflow
ipm-status
Checks the status of packages in an existing IPM workspace by running ipm status. Use this to verify that packages are in sync or to detect drift as part of a pipeline or scheduled check.
Authentication is required via the IPM_CLIENT_SECRETS environment variable.
Usage
- uses: ipmhubio/ipm-actions/.github/actions/ipm-status@v1
with:
working-directory: '.' # Optional
package-name: '' # Optional
env:
IPM_CLIENT_SECRETS: ${{ secrets.IPM_CLIENT_SECRETS }}
Inputs
| Input | Required | Default | Description |
|---|---|---|---|
working-directory |
No | . |
Directory containing the IPM workspace. |
package-name |
No | — | Check status for a single specific package. If omitted, all packages in the workspace are checked. |
hide-banner |
No | false |
Set to true to suppress the IPM CLI banner in the log output. |
ipm-version |
No | latest | Specific IPM version to use, without the v prefix. |
Examples
Check status of all packages
- name: IPM status
uses: ipmhubio/ipm-actions/.github/actions/ipm-status@v1
with:
working-directory: ./infrastructure
env:
IPM_CLIENT_SECRETS: ${{ secrets.IPM_CLIENT_SECRETS }}
Check status of a single package
- name: Check network module status
uses: ipmhubio/ipm-actions/.github/actions/ipm-status@v1
with:
working-directory: ./infrastructure
package-name: 'myorg/virtual-networks'
env:
IPM_CLIENT_SECRETS: ${{ secrets.IPM_CLIENT_SECRETS }}
Drift detection in a scheduled workflow
name: Nightly drift check
on:
schedule:
- cron: '0 6 * * *'
jobs:
drift:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check package status
uses: ipmhubio/ipm-actions/.github/actions/ipm-status@v1
with:
working-directory: ./infrastructure
env:
IPM_CLIENT_SECRETS: ${{ secrets.IPM_CLIENT_SECRETS }}
Use alongside sync in a deploy pipeline
- name: Sync packages
uses: ipmhubio/ipm-actions/.github/actions/ipm-sync@v1
with:
working-directory: ./infrastructure
sync-mode: KeepAllChanges
env:
IPM_CLIENT_SECRETS: ${{ secrets.IPM_CLIENT_SECRETS }}
- name: Verify status after sync
uses: ipmhubio/ipm-actions/.github/actions/ipm-status@v1
with:
working-directory: ./infrastructure
env:
IPM_CLIENT_SECRETS: ${{ secrets.IPM_CLIENT_SECRETS }}