gifmeta 0.4.1

A sacred tool for inspecting and editing GIF metadata from the command line.
Documentation
name: Release Binaries

on:
  release:
    types: [published]

permissions:
  contents: write  # Required for uploading release assets

jobs:
  build:
    name: Build binaries
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        include:
          - os: ubuntu-latest
            target: x86_64-unknown-linux-gnu
            ext: ""
            name: linux-x86_64

          - os: macos-latest
            target: x86_64-apple-darwin
            ext: ""
            name: macos-x86_64

          - os: windows-latest
            target: x86_64-pc-windows-msvc
            ext: ".exe"
            name: windows-x86_64

    steps:
      - name: Checkout repository
        uses: actions/checkout@v3

      - name: Set up Rust
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          target: ${{ matrix.target }}
          override: true

      - name: Build release binary
        run: cargo build --release --target ${{ matrix.target }}

      - name: Prepare release directory
        run: |
          mkdir -p release-${{ matrix.name }}
          cp README.md release-${{ matrix.name }}/
          cp LICENSE release-${{ matrix.name }}/
          cp SUPPORT.md release-${{ matrix.name }}/
          # cp -r examples/ release-${{ matrix.name }}/

      - name: Package Linux Binary
        if: runner.os == 'Linux'
        run: |
          cp target/${{ matrix.target }}/release/gifmeta release-${{ matrix.name }}/
          zip -r gifmeta-${{ github.ref_name }}-${{ matrix.name }}.zip release-${{ matrix.name }}/*

      - name: Package macOS Binary
        if: runner.os == 'macOS'
        run: |
          cp target/${{ matrix.target }}/release/gifmeta release-${{ matrix.name }}/
          zip -r gifmeta-${{ github.ref_name }}-${{ matrix.name }}.zip release-${{ matrix.name }}/*

      - name: Package Windows Binary
        if: runner.os == 'Windows'
        run: |
          cp target/${{ matrix.target }}/release/gifmeta.exe release-${{ matrix.name }}/
          7z a gifmeta-${{ github.ref_name }}-${{ matrix.name }}.zip release-${{ matrix.name }}/*

      - name: Rename binary / Copy to dist
        shell: bash
        run: |
          mkdir -p dist
          # The following line is disabled for now
          # cp target/${{ matrix.target }}/release/gifmeta${{ matrix.ext }} dist/
          cp gifmeta-${{ github.ref_name }}-${{ matrix.name }}.zip dist/

      - name: Upload release asset
        uses: softprops/action-gh-release@v1
        with:
          files: dist/*
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}