pipeawesome2 0.1.3

Loops, branches and joins to UNIX pipes… in a sane way…
Documentation
name: Rust Tag
on:
  push:
    tags:
      - v*
env:
  CARGO_TERM_COLOR: always
jobs:
  unix_like:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-20.04, macos-latest, windows-latest]
        include:
          - os: ubuntu-20.04
            build_name: pa2
            upload_name: pa2
            os_name: Ubuntu 20.04
          - os: macos-latest
            build_name: pa2
            upload_name: pa2
            os_name: MacOS
          - os: windows-latest
            build_name: pa2.exe
            upload_name: pa2.exe
            os_name: Windows
    steps:
      - uses: actions/checkout@v2
      - name: Libs
        if: (matrix.os == 'ubuntu-20.04') || (matrix.os == 'macos-latest')
        run: sudo apt-get install -y bats || true
      - name: Build
        run: cargo build --verbose --release
      - name: Tests
        run: cargo test
      - name: Bats
        if: (matrix.os == 'ubuntu-20.04') || (matrix.os == 'macos-latest')
        run: if bats --help; then export PATH=$PATH:./target/release; bats ./bats-tests/pipeawesome.bats; else true; fi
      - name: Release
        id: release
        uses: actions/create-release@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          tag_name: ${{ github.ref }}-${{ matrix.os }}
          release_name: "Release ${{ github.ref }}: ${{ matrix.os_name }}"
          draft: false
      - name: Upload Release Asset
        uses: actions/upload-release-asset@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          upload_url: ${{ steps.release.outputs.upload_url }}
          asset_path: target/release/${{ matrix.build_name }}
          asset_name: ${{ matrix.upload_name }}
          asset_content_type: application/x-executable