name: Release

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

jobs:
  build:

    strategy:
      matrix:
        os: [ubuntu-latest, macOS-latest, windows-latest]
        rust: [stable]

    runs-on: ${{ matrix.os }}

    steps:
    - name: Setup Rust
      uses: hecrj/setup-rust-action@v1
      with:
        rust-version: ${{ matrix.rust }}
    - name: Checkout
      uses: actions/checkout@v1
    - name: Setup MUSL
      if: matrix.os == 'ubuntu-latest'
      run: |
        rustup target add x86_64-unknown-linux-musl
        sudo apt-get -qq install musl-tools
    - name: Build for linux
      if: matrix.os == 'ubuntu-latest'
      run: |
        make release_lnx
        cargo install --locked cargo-rpm
        make release_rpm
    - name: Build for macOS
      if: matrix.os == 'macOS-latest'
      run: make release_mac
    - name: Build for Windows
      if: matrix.os == 'windows-latest'
      run: make release_win
    - name: Release
      uses: softprops/action-gh-release@v1
      with:
        body: '[Changelog](https://github.com/dalance/procs/blob/master/CHANGELOG.md)'
        files: "*.zip\n*.rpm"
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
