Documentation
name: Publish

on:
  push:
    tags:
      - "v*"

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout
        uses: actions/checkout@v1

      - name: Install latest rust toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable

      - name: Build
        run: cargo build --release --locked && strip target/release/corg && mv target/release/corg target/release/corg_amd64

      - name: Release
        uses: softprops/action-gh-release@v1
        with:
          files: |
            target/release/corg_amd64
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

  build-win:
    runs-on: windows-latest

    steps:
      - name: Checkout
        uses: actions/checkout@v1

      - name: Install latest rust toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable

      - name: Build
        run: cargo build --release --locked

      - name: Release
        uses: softprops/action-gh-release@v1
        if: startsWith(github.ref, 'refs/tags/')
        with:
          files: target/release/corg.exe
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

  build-mac:
    runs-on: macos-latest

    steps:
      - name: Checkout
        uses: actions/checkout@v1

      - name: Install latest rust toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          target: x86_64-apple-darwin

      - name: Build for mac
        run: cargo build --release --locked && strip target/release/corg && mv target/release/corg target/release/corg_darwin

      - name: Release
        uses: softprops/action-gh-release@v1
        if: startsWith(github.ref, 'refs/tags/')
        with:
          files: |
            target/release/corg_darwin
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}