laydown 2.6.3

Always know what you're going to say at Daily Standup.
Documentation
name: Release
on:
  push:
    tags:
      - "v[0-9]+.[0-9]+.[0-9]+"

jobs:
  create_release:
    name: Create Release
    runs-on: ubuntu-latest
    outputs:
      upload_url: ${{ steps.create_release.outputs.upload_url }}
    steps:
      - name: Create release
        id: create_release
        uses: actions/create-release@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          tag_name: ${{ github.ref }}
          release_name: Release ${{ github.ref }}
          draft: false
          prerelease: false

  release_assets:
    name: Release Assets
    needs: create_release # we need to know the upload URL
    runs-on: ubuntu-latest
    strategy:
      matrix:
        include:
          - target: x86_64-pc-windows-gnu
            archive: zip
          - target: x86_64-unknown-linux-musl
            archive: tar.gz
          - target: x86_64-apple-darwin
            archive: zip
    steps:
      - name: Checkout code
        uses: actions/checkout@v1

      - name: Compile and release
        id: release
        uses: rust-build/rust-build.action@v1.4.0
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          RUSTTARGET: ${{ matrix.target }}
          ARCHIVE_TYPES: ${{ matrix.archive }}

      - name: Upload release assets
        uses: actions/upload-release-asset@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          upload_url: ${{ needs.create_release.outputs.upload_url }}
          asset_name: Laydown-${{ matrix.target }}.${{ matrix.archive }}
          asset_path: ${{ steps.release.outputs.BUILT_ARCHIVE }}
          asset_content_type: application/octet-stream