agpm-cli 0.4.14

AGent Package Manager - A Git-based package manager for coding agents
Documentation
name: Publish to crates.io
run-name: "Publish to crates.io (${{ fromJson(inputs.plan).announcement_tag || github.ref_name }})"

on:
  workflow_call:
    inputs:
      plan:
        description: 'dist plan from the plan job'
        required: true
        type: string

jobs:
  publish:
    name: Publish to crates.io
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          ref: ${{ fromJson(inputs.plan).announcement_tag }}
          persist-credentials: false

      - name: Install Rust
        uses: dtolnay/rust-toolchain@stable

      - name: Publish to crates.io
        env:
          CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
        run: |
          echo "📦 Publishing to crates.io for tag ${{ fromJson(inputs.plan).announcement_tag }}..."
          if cargo publish --no-verify --token "$CARGO_REGISTRY_TOKEN"; then
            echo "✅ Successfully published to crates.io!"
          else
            echo "❌ Failed to publish to crates.io"
            echo "This could be due to:"
            echo "  - Version already exists on crates.io"
            echo "  - Package name conflict"
            echo "  - Missing or invalid CARGO_REGISTRY_TOKEN"
            echo "  - Build or validation errors"
            exit 1
          fi