mongo_sync 0.1.0

instant coding answers via the command line(just like howdoi)
Documentation
name: CD

on:
  push:
    # branches: [master]
    tags:
      - '*'

jobs:
  release:
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]

    runs-on: ${{ matrix.os }}
    steps:
    - uses: actions/checkout@v2
    - name: Get version
      id: get_version
      run: echo ::set-output name=version::${GITHUB_REF/refs\/tags\//}

    - name: Install Rust
      uses: actions-rs/toolchain@v1
      with:
        toolchain: nightly
        profile: minimal
        run: |
          rustup default nightly

    - name: Setup MUSL
      if: matrix.os == 'ubuntu-latest'
      run: |
        rustup target add --toolchain nightly x86_64-unknown-linux-musl
        sudo apt-get -qq install musl-tools
    - name: Build Release Mac
      if: matrix.os == 'macos-latest'
      run: make release-mac
    - name: Build Release Ubuntu
      if: matrix.os == 'ubuntu-latest'
      run: make release-ubuntu
    - name: Build Release Linux
      if: matrix.os == 'ubuntu-latest'
      run: make release-linux-musl
    - name: Build Release Win
      if: matrix.os == 'windows-latest'
      run: make release-win

    - name: Set SHA
      if: matrix.os == 'macos-latest'
      id: shasum
      run: |
        echo ::set-output name=sha::"$(shasum -a 256 ./release/mongo_sync-mac.tar.gz | awk '{printf $1}')"
    - name: Extract release notes
      if: matrix.os == 'ubuntu-latest'
      id: release_notes
      uses: ffurrer2/extract-release-notes@v1
    - name: Release
      uses: softprops/action-gh-release@v1
      with:
        body: ${{ steps.release_notes.outputs.release_notes }}
        prerelease: false
        files: |
          ./release/*.tar.gz
          ./release/*.zip
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}