exxamalte/python-geojson-client

View on GitHub
.github/workflows/ci.yaml

Summary

Maintainability
Test Coverage
name: CI

on:
  push:
    branches:
      - master
  pull_request: ~
  workflow_dispatch:

jobs:
  test:
    name: Python ${{ matrix.python-version }}
    runs-on: ubuntu-latest
    env:
      USING_COVERAGE: '3.8'
    strategy:
      fail-fast: true
      matrix:
        python-version: [ "3.7", "3.8", "3.9",  "3.10" ]
    steps:
      - uses: "actions/checkout@v2"
      - uses: "actions/setup-python@v2"
        with:
          python-version: "${{ matrix.python-version }}"
      - name: "Install dependencies"
        run: |
          set -xe
          python -VV
          python -m site
          python -m pip install --upgrade pip setuptools wheel
          python -m pip install --upgrade coverage[toml] virtualenv tox tox-gh-actions
      - name: "Run tox targets for ${{ matrix.python-version }}"
        run: "python -m tox"
      - name: "Combine coverage"
        if: "contains(env.USING_COVERAGE, matrix.python-version)"
        run: |
          set -xe
          python -m coverage xml
      - name: "Upload coverage to Codecov"
        if: "contains(env.USING_COVERAGE, matrix.python-version)"
        uses: "codecov/codecov-action@v1"
        with:
          fail_ci_if_error: true