rconcli 1.2.1

A simple RCON CLI for Minecraft servers.
name: Release CD

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

jobs:

  build-release:
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        include:
          # Linux
          - os: ubuntu-latest
            target: x86_64-unknown-linux-musl
          - os: ubuntu-latest
            target: aarch64-unknown-linux-musl
          - os: ubuntu-latest
            target: arm-unknown-linux-musleabihf

          # Darwin
          - os: macos-latest
            target: x86_64-apple-darwin
          - os: macos-latest
            target: aarch64-apple-darwin

          # Windows
          - os: windows-latest
            target: x86_64-pc-windows-msvc
            ext: .exe

    steps:
      - name: Checkout repo
        uses: actions/checkout@v2

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

      - name: Build
        uses: actions-rs/cargo@v1
        with:
          use-cross: true
          command: build
          args: --release --target ${{ matrix.target }}

      - name: Rename Artifacts
        shell: bash
        run: |

          ver=${GITHUB_REF#refs/tags/}
          ASSET_PATH=rconcli-$ver-${{ matrix.target }}${{ matrix.ext }}
          mv target/${{ matrix.target }}/release/rconcli $ASSET_PATH
          echo "ASSET_PATH=$ASSET_PATH" >> $GITHUB_ENV
      - name: Release
        uses: softprops/action-gh-release@v1
        if: startsWith(github.ref, 'refs/tags/')
        with:
          files: ${{ env.ASSET_PATH }}
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}