name: release on: push: tags: - "v*" workflow_dispatch: permissions: contents: write jobs: build: strategy: matrix: include: - target: i686-pc-windows-msvc artifact_name: windows-x86 - target: x86_64-pc-windows-msvc artifact_name: windows-x64 - target: aarch64-pc-windows-msvc artifact_name: windows-arm64 runs-on: windows-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: targets: ${{ matrix.target }} - name: Build release binary run: cargo build --release --target ${{ matrix.target }} - name: Prepare versioned release asset shell: pwsh run: | $version = "${{ github.ref_name }}" $asset = "admin-toolkit-$version-${{ matrix.artifact_name }}.exe" Copy-Item "target/${{ matrix.target }}/release/admin-toolkit.exe" $asset - name: Publish release asset uses: softprops/action-gh-release@v3 with: files: admin-toolkit-${{ github.ref_name }}-${{ matrix.artifact_name }}.exe