python-launcher 1.0.0

The Python launcher for Unix
Documentation
name: CI

on:
  pull_request:
  push:
    branches:
      - main

jobs:
  test:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - uses: actions/cache@v2
        with:
          path: |
            ~/.cargo/registry
            ~/.cargo/git
            target
          key: ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock') }}

      # OS-specific
      - uses: actions/cache@v2
        with:
          path: ~/.cache/pip
          key: ${{ runner.os }}-pip-${{ hashFiles('dev-requirements.txt') }}
          restore-keys: |
            ${{ runner.os }}-pip-

      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          override: true

      - uses: actions/setup-python@v2
        with:
          python-version: "3.x"

      - name: Install distro packages
        run: sudo apt-get install -qq pandoc graphviz

      - name: Install doit
        run: python -m pip install --upgrade pip doit

      - name: Run `doit`
        run: doit

  coverage:
    runs-on: ubuntu-latest
    needs: test

    env:
      CARGO_TARGET_DIR: target

    steps:
      - uses: actions/checkout@v2

      - uses: actions/cache@v2
        with:
          path: |
            ~/.cargo/registry
            ~/.cargo/git
            target
          key: ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock') }}

      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          override: true

      - name: Install tarpaulin
        run: cargo install cargo-tarpaulin

      - name: Run coverage
        run: cargo tarpaulin -v --out Xml --exclude-files tests/*

      - uses: codecov/codecov-action@v2.0.1
        with:
          token: ${{ secrets.CODECOV_TOKEN }}