complate 0.10.1

Standardizing messages the right way.
name: release
on:
  workflow_dispatch:
    inputs:
      version:
        description: 'version number'
        required: true

env:
  RELEASE_FILE: RELEASE.txt

jobs:
  check:
    name: check (${{ matrix.name }})
    runs-on: ubuntu-latest
    strategy:
      matrix:
        include:
        - name: "default"
          features: ""
        - name: "all"
          features: --all-features
        - name: "backend+ui"
          features: --features "backend+ui" --no-default-features
    steps:
    - uses: actions/checkout@v1
    - name: install tools
      run: sudo apt-get install build-essential libncurses5-dev libncursesw5-dev
    - name: execute tests
      run: cargo test ${{ matrix.features }}
    - name: build program
      run: cargo build ${{ matrix.features }}
    - name: run cli tests
      working-directory: test
      run: sh test-cli.sh

  tag:
    if: github.ref == 'refs/heads/master'
    needs: check
    name: tag and release
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v1
    - name: create release
      id: create_release
      uses: actions/create-release@latest
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      with:
        tag_name: ${{ github.event.inputs.version }}
        release_name: ${{ github.event.inputs.version }}
        body: |
          Release ${{ github.event.inputs.version }}.
        draft: false
        prerelease: false
    - run: printf ${{ steps.create_release.outputs.upload_url }} > ${{ env.RELEASE_FILE }}
    - name: upload release data
      uses: actions/upload-artifact@v1.0.0
      with:
        name: RELEASE
        path: ${{ env.RELEASE_FILE }}

  publish-cratesio:
    needs: tag
    name: crates.io
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v1
    - name: get version
      id: get_version
      run: echo ::set-output name=VERSION::$(git tag --points-at HEAD --sort -version:refname | head -1)
    - name: install tools
      run: |
        sudo apt-get install build-essential libncurses5-dev libncursesw5-dev
        pip install invoke
    - name: publish
      id: publish
      run: |
        invoke ci.update-version --version=${{ steps.get_version.outputs.VERSION }}
        cargo login ${{ secrets.CRATES_IO_TOKEN }}
        cargo publish --allow-dirty

  publish:
    needs: tag
    name: publish for ${{ matrix.os }}
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        include:
        - os: macos-latest
          target: x86_64-apple-darwin
          install: printf ok
        - os: ubuntu-latest
          target: x86_64-unknown-linux-gnu
          install: sudo apt-get install build-essential libncurses5-dev libncursesw5-dev
    steps:
    - uses: actions/checkout@v1
    - name: get version
      id: get_version
      run: echo ::set-output name=VERSION::$(git tag --points-at HEAD --sort -version:refname | head -1)
    - name: download release id
      uses: actions/download-artifact@v1.0.0
      with:
        name: RELEASE
    - name: get release data
      id: get_release_data
      run: echo ::set-output name=upload_url::$(cat RELEASE/${{ env.RELEASE_FILE }})
    - name: install tools
      run: |
        ${{ matrix.install }}
        rustup target install ${{ matrix.target }}
        pip install invoke
    - name: build-${{ matrix.target }}
      run: |
        invoke ci.update-version --version=${{ steps.get_version.outputs.VERSION }}
        cargo build --release --target ${{ matrix.target }}
    - name: zip
      run: cd ./target/${{ matrix.target }}/release && tar -zcvf ${{ matrix.target }}.tar.gz complate
    - name: upload asset
      uses: svenstaro/upload-release-action@v1-release
      with:
        repo_token: ${{ secrets.GITHUB_TOKEN }}
        file: ./target/${{ matrix.target }}/release/${{ matrix.target }}.tar.gz
        asset_name: ${{ matrix.target }}.tar.gz
        tag: ${{ steps.get_version.outputs.VERSION }}
        overwrite: true