pipeawesome2 0.1.3

Loops, branches and joins to UNIX pipes… in a sane way…
Documentation
name: Rust Master

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

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: true
    - 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