applevisor 1.0.0

Rust bindings for the Apple Silicon Hypervisor Framework
Documentation
name: Publish crates

on:
  push:
    tags:
      - v[0-9]+.[0-9]+.[0-9]+

jobs:
  publish:
    runs-on: macos-26
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6
      - name: Install the Rust toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
      - name: Raw bindings - Get Cargo metadata
        id: raw-metadata
        working-directory: applevisor-sys
        run: echo "RAW_METADATA=$(cargo metadata --no-deps --format-version 1)" >> $GITHUB_OUTPUT
      - name: Raw bindings - Version check
        working-directory: applevisor-sys
        run: test "v${{ fromJSON(steps.raw-metadata.outputs.RAW_METADATA).packages[0].version }}" = "${{ github.ref_name }}"
      - name: Safe bindings - Get Cargo metadata
        id: safe-metadata
        run: echo "SAFE_METADATA=$(cargo metadata --no-deps --format-version 1)" >> $GITHUB_OUTPUT
      - name: Safe bindings - Version check
        run: test "v${{ fromJSON(steps.safe-metadata.outputs.SAFE_METADATA).packages[0].version }}" = "${{ github.ref_name }}"
      - name: Raw bindings - Dry run
        working-directory: applevisor-sys
        run: cargo publish --dry-run
        env:            
          CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
      - name: Raw bindings - Publication
        working-directory: applevisor-sys
        run: cargo publish
        env:            
          CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
      - name: Safe bindings - Dry run
        run: cargo publish --dry-run
        env:            
          CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
      - name: Safe bindings - Publication
        run: cargo publish
        env:            
          CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}