name: build on: [push] # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: check: runs-on: ubuntu-latest steps: # Checkout Repo - uses: actions/checkout@v2 # Set up python - name: Set up Python 3.x uses: actions/setup-python@v2 with: python-version: 3.x # Install Deps - name: Install dependencies run: | python -m pip install --upgrade pip pip install tox # Run Check - name: Run Code Linters run: tox -e check test: runs-on: ubuntu-latest strategy: matrix: python-version: [3.8] steps: # Checkout Repo - uses: actions/checkout@v2 # Set up python - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} # Install Deps - name: Install dependencies run: | python -m pip install --upgrade pip pip install tox tox-gh-actions # Run Tests - name: Run Python Tests run: tox - name: Show items run: ls -la # Upload Coverage Artifacts - name: Upload Coverage Data uses: actions/upload-artifact@v2 with: name: coverage_${{ matrix.python-version }} path: .coverage.* coverage: needs: test runs-on: ubuntu-latest steps: # Checkout Repo - uses: actions/checkout@v2 # Set up python - name: Set up Python 3.x uses: actions/setup-python@v2 with: python-version: 3.x # Install Deps - name: Install Dependencies run: | python -m pip install --upgrade pip pip install tox # Download Coverage Artifacts - name: Download Coverage Data uses: actions/download-artifact@v2 - name: Move coverage data run: | mv coverage_*/.coverage* . rm -rf coverage_*/ # Run Coverage - name: Run Coverage run: tox -e coverage # Upload coverage to Codecov - name: Upload coverage to Codecov uses: codecov/codecov-action@v1 with: token: ${{ secrets.CODECOV_TOKEN }} files: ./dist/coverage.xml directory: ./coverage/reports/ name: codecov-umbrella fail_ci_if_error: true path_to_write_report: ./coverage/codecov_report.txt verbose: false documentation: runs-on: ubuntu-latest steps: # Checkout Repo - uses: actions/checkout@v2 # Set up python - name: Set up Python 3.x uses: actions/setup-python@v2 with: python-version: 3.x # Install Deps - name: Install Dependencies run: | python -m pip install --upgrade pip pip install tox # Run Documentation - name: Run Documentation run: tox -e docs