pkg-checker 0.7.2

A Rust tool for checking and updating globally installed Cargo packages with interactive mode and smart prerelease detection
name: Publish to Crates.io

on:
  push:
    tags:
      - "v*" # 当推送以 v 开头的标签时触发

jobs:
  publish:
    name: Publish to Crates.io
    runs-on: ubuntu-latest
    environment: release # Optional: for enhanced security
    permissions:
      id-token: write # Required for OIDC token exchange
      contents: read # Required for reading repository contents

    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Setup Rust
        uses: dtolnay/rust-toolchain@stable
        with:
          toolchain: stable

      - name: Authenticate with Crates.io
        uses: rust-lang/crates-io-auth-action@v1
        id: auth

      - name: Publish to Crates.io
        run: cargo publish
        env:
          CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }}

      - name: Success message
        run: |
          echo "✅ Package published to crates.io successfully!"
          echo "📦 Package: pkg-checker"
          echo "🏷️  Tag: ${{ github.ref_name }}"
          echo "🔗 URL: https://crates.io/crates/pkg-checker"