name: Auto Release

on:
  push:
    # Sequence of patterns matched against refs/tags
    tags:
      - "v*" # Push events to matching v*, i.e. v1.0, v20.15.10

jobs:
  release:
    name: Auto Release by Tags
    runs-on: ubuntu-18.04

    steps:
      - name: Checkout Repository
        uses: actions/checkout@master

      - name: Install Rust toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          default: true

      - name: Cargo Login
        uses: actions-rs/cargo@v1
        with:
          command: login
          args: -- ${{ secrets.CARGO_TOKEN }}

      - name: Cargo Publish
        uses: actions-rs/cargo@v1
        with:
          command: publish

      - name: GitHub Release
        id: create_release
        uses: actions/create-release@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
        with:
          tag_name: ${{ github.ref }}
          release_name: Release ${{ github.ref }}
          draft: false
          prerelease: false
