codeforces-api 0.3.4

Use auth api provided by Codeforces + download testcases
Documentation
on:
  repository_dispatch:
  workflow_dispatch:
  push:
  pull_request:

env:
  CARGO_TERM_COLOR: always

jobs:
  fmt-lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          components: clippy
      - name: Check if Fmt'ed
        uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: --all -- --check
      - name: Check clippy
        uses: actions-rs/cargo@v1
        with:
          command: clippy
          args: -- -D warnings

  publish-check:
    name: Publish Check
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v1
    - uses: actions-rs/toolchain@v1
      with:
        toolchain: stable
        override: true
    - name: cargo fetch
      uses: actions-rs/cargo@v1
      with:
        command: fetch
    - name: cargo publish check
      uses: actions-rs/cargo@v1
      with:
        command: publish
        args: --dry-run

  publish:
    if: startsWith(github.ref, 'refs/tags/')
    needs: 
      - fmt-lint
      - publish-check
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: cargo fetch
        uses: actions-rs/cargo@v1
        with:
          command: fetch  
      - name: cargo publish
        uses: actions-rs/cargo@v1
        env:
          CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
        with:
          command: publish