needs_env_var 1.1.0

Skip compilation if environment variable is missing
Documentation
name: Release on crates.io

on:
  workflow_dispatch:
  push:
    tags:
      - '*.*.*'

env:
  CARGO_TERM_COLOR: always

jobs:

  build-and-test:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Build
      run: cargo build --verbose
    - name: Run tests
      run: cargo test --verbose

  publish-crates-io:
    environment: deployment
    runs-on: ubuntu-latest
    needs:
      - build-and-test
    steps:
    - uses: actions/checkout@v2
    - name: cargo login
      run: cargo login ${{ secrets.CARGO_TOKEN }}
    - name: Build
      run: cargo build --release --verbose
    - name: cargo publish
      run: cargo publish