nu_plugin_vulkan_matrix 0.1.1

GPU matrix operations for Nushell using Vulkan
name: Release

on:
  push:
    tags:
      - 'v*'
  workflow_dispatch:

jobs:
  publish:
    runs-on: ubuntu-latest
    environment: release
    permissions:
      contents: read
      id-token: write
    env:
      CARGO_TARGET_DIR: ${{ github.workspace }}/target
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
        with:
          toolchain: 1.96.1
      - uses: Swatinem/rust-cache@v2
        with:
          shared-key: host-check
          workspaces: . -> target
          save-if: false
      - name: Check tag version
        if: github.event_name == 'push'
        shell: bash
        run: |
          set -euo pipefail
          expected="${GITHUB_REF_NAME#v}"
          package_id=$(cargo pkgid --locked)
          version="${package_id##*#}"
          version="${version##*@}"
          test "$version" = "$expected"
      - uses: rust-lang/crates-io-auth-action@v1
        id: auth
      - name: Publish
        env:
          CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }}
        run: cargo publish --locked -p nu_plugin_vulkan_matrix