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 }}