libreddit 0.30.1

Alternative private front-end to Reddit
name: Rust

on:
  push:
    paths-ignore:
      - "**.md"
    branches:
      - master

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    runs-on: ubuntu-18.04

    steps:
      - uses: actions/checkout@v2

      - name: Cache Packages
        uses: Swatinem/rust-cache@v1.0.1

      - name: Build
        run: cargo build --release

      - name: Publish to crates.io
        continue-on-error: true
        run: cargo publish --no-verify --token ${{ secrets.CARGO_REGISTRY_TOKEN }}
      
      - uses: actions/upload-artifact@v2.2.1
        name: Upload a Build Artifact
        with:
          name: libreddit
          path: target/release/libreddit
        
      - name: Versions
        id: version
        run: |
          echo "::set-output name=version::$(cargo metadata --format-version 1 --no-deps | jq .packages[0].version -r | sed 's/^/v/')"
          echo "::set-output name=tag::$(git describe --tags)"
          
      - name: Calculate SHA512 checksum
        run: sha512sum target/release/libreddit > libreddit.sha512
        
      - name: Release
        uses: softprops/action-gh-release@v1
        if: github.base_ref != 'master'
        with:
          tag_name: ${{ steps.version.outputs.version }}
          name: ${{ steps.version.outputs.version }} - ${{ github.event.head_commit.message }}
          draft: true
          files: |
            target/release/libreddit
            libreddit.sha512
          body: |
            - ${{ github.event.head_commit.message }} ${{ github.sha }}
          generate_release_notes: true
        env:
          GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}