Skip to content

Usage

The action is designed to drop into a registry repository’s pull_request workflow with no shell scripting.

.github/workflows/pullminder.yml
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@v1

This 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: ./registry

working-directory is resolved relative to the repository root.

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.

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.

Useful when you only care about the job exit status (for example, in a required-check workflow):

- uses: pullminder/action@v1
with:
comment: "false"
- 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.