Skip to main content

GitHub Action

Applies to SDK 0.16+ · Last updated: 2026-06-12

The agentnode/publish@v1 GitHub Action automates pack publishing from your CI/CD pipeline. Push a tag or create a release, and the action validates, scans, signs, and publishes your pack automatically.

Basic workflow

.github/workflows/publish.ymlyaml
name: Publish to AgentNode
on:
  release:
    types: [published]

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: "3.11"

      - name: Install dependencies
        run: pip install -r requirements.txt

      - name: Publish pack
        uses: agentnode/publish@v1
        with:
          api-key: ${{ secrets.AGENTNODE_API_KEY }}

Action inputs

InputRequiredDefaultDescription
api-keyYes--Your AgentNode API key. Store as a repository secret.
dry-runNofalseRun validation and scanning without publishing. Set to "true" for PR checks.
directoryNo.Path to the pack directory containing agentnode.yaml.

Dry-run on pull requests

Use dry-run mode to validate manifests on every pull request without publishing:

.github/workflows/validate.ymlyaml
name: Validate AgentNode Pack
on:
  pull_request:
    paths:
      - "agentnode.yaml"
      - "src/**"

jobs:
  validate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Validate pack
        uses: agentnode/publish@v1
        with:
          api-key: ${{ secrets.AGENTNODE_API_KEY }}
          dry-run: true

Example output

github actions log
Run agentnode/publish@v1
  Validating agentnode.yaml...
    Manifest syntax       OK
    Capability IDs        OK (1 tool, 0 resources)
    Permissions           OK (network: unrestricted)
    Entrypoint            OK (github_integration_pack.tool)
    Compatibility         OK (3 frameworks)

  Running security scan...
    Bandit scan           passed (0 issues)
    Dependency audit      passed

  Publishing github-integration-pack@1.0.0...
    Uploading package     done
    Signing package       done (Ed25519)
    Indexing capabilities done

  Published: https://agentnode.net/packages/github-integration-pack

Triggering on tags

If you prefer tag-based releases instead of GitHub Releases:

.github/workflows/publish-on-tag.ymlyaml
name: Publish to AgentNode
on:
  push:
    tags:
      - "v*"

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Publish pack
        uses: agentnode/publish@v1
        with:
          api-key: ${{ secrets.AGENTNODE_API_KEY }}