latchshot 0.2.5

A lightweight yet intelligent window-aware screenshot tool
Documentation
name: Release

on:
  push:
    branches: [main]

permissions:
  contents: write
  id-token: write
  pull-requests: write

jobs:
  release-pr:
    name: Create Release PR
    uses: so1ve/workflows/.github/workflows/rust-release.yml@v1
    with:
      command: release-pr
      setup: .github/actions/setup-rust-ci

  release:
    name: Release
    uses: so1ve/workflows/.github/workflows/rust-release.yml@v1
    with:
      command: release
      setup: .github/actions/setup-rust-ci

  release-binary:
    name: Release Binary ${{ matrix.target }}
    needs: release
    if: ${{ needs.release.outputs.releases != '' && needs.release.outputs.releases != '[]' }}
    permissions:
      contents: write
    strategy:
      fail-fast: false
      matrix:
        include:
          - target: x86_64-unknown-linux-gnu
            runner: ubuntu-24.04
          - target: aarch64-unknown-linux-gnu
            runner: ubuntu-24.04-arm
    runs-on: ${{ matrix.runner }}
    env:
      RELEASE_TAG: ${{ fromJSON(needs.release.outputs.releases)[0].tag }}
    steps:
      - uses: so1ve/workflows/setup-rust@v1
        with:
          toolchain: stable
      - uses: ./.github/actions/setup-rust-ci
      - run: cargo build --locked --release
      - run: mv target/release/latchshot "latchshot-${{ matrix.target }}"
      - name: Upload binary
        env:
          GH_TOKEN: ${{ github.token }}
        run: gh release upload "$RELEASE_TAG" "latchshot-${{ matrix.target }}"