Usage
The action is designed to drop into a registry repository’s pull_request workflow with no shell scripting.
Minimum viable workflow
Section titled “Minimum viable workflow”name: Validate registry
on: pull_request: paths: - "packs/**" - "registry.yml"
permissions: contents: read pull-requests: write
jobs: validate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: pullminder/action@v1This runs pullminder registry validate --strict against the repository root and posts the output as a comment on the PR. Failures (missing required fields, schema violations, slug collisions, etc.) cause the job to exit non-zero.
pull-requests: write is only required when comment: "true" (the default). Drop it if you set comment: "false".
Validating a registry that lives in a subdirectory
Section titled “Validating a registry that lives in a subdirectory”- uses: pullminder/action@v1 with: working-directory: ./registryworking-directory is resolved relative to the repository root.
Linting instead of validating
Section titled “Linting instead of validating”lint is non-strict by default — it warns on style issues but does not fail the build:
- uses: pullminder/action@v1 with: command: lint strict: "false"Set strict: "true" to convert lint warnings into hard failures.
Pinning the CLI version
Section titled “Pinning the CLI version”Reproducible builds: pin the CLI version explicitly rather than tracking latest.
- uses: pullminder/action@v1 with: version: "0.1.15"The action will download pullminder-<os>-<arch> from the matching pullminder/cli release and verify its SHA256 before running.
Disabling the PR comment
Section titled “Disabling the PR comment”Useful when you only care about the job exit status (for example, in a required-check workflow):
- uses: pullminder/action@v1 with: comment: "false"Reading outputs in subsequent steps
Section titled “Reading outputs in subsequent steps”- id: pm uses: pullminder/action@v1 with: command: validate comment: "false"
- name: Show CLI output if: always() run: | echo "exit code: ${{ steps.pm.outputs.exit_code }}" echo "${{ steps.pm.outputs.output }}"See Outputs for the full list.