name: Python package

on:
  - push
  - pull_request

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version:
          - 3.5
          - 3.8

    steps:
    - name: Check out code
      uses: actions/checkout@v1
    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v2
      with:
        python-version: ${{ matrix.python-version }}
    - name: Install dependencies
      run: |
        pip install tox tox-gh-actions
    - name: Test with tox
      run: tox
    - name: Upload coverage data
      uses: actions/upload-artifact@v2
      with:
        name: coverage-${{ matrix.python-version }}
        path: .coverage*
        retention-days: 1

  report:
    needs: build
    runs-on: ubuntu-latest

    steps:
    - name: Check out code
      uses: actions/checkout@v1
    - name: Download artifacts
      uses: actions/download-artifact@v2
    - name: Set up Python 3.8
      uses: actions/setup-python@v2
      with:
        python-version: 3.8
    - name: Install dependencies
      run: |
        pip install coverage
    - name: Compile coverage data
      run: |
        mv coverage-*/.coverage* .
        coverage combine
        coverage html
        coverage report
    - name: Upload coverage report
      uses: actions/upload-artifact@v2
      with:
        name: htmlcov
        path: htmlcov
        retention-days: 7

name: Python package

on:
  - push
  - pull_request

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version:
          - 3.8

    steps:
    - name: Check out code
      uses: actions/checkout@v1
    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v2
      with:
        python-version: ${{ matrix.python-version }}
    - name: Install dependencies
      run: |
        pip install tox tox-gh-actions
    - name: Test with tox
      run: tox
    - name: Upload coverage data
      uses: actions/upload-artifact@v2
      with:
        name: coverage-${{ matrix.python-version }}
        path: .coverage*
        retention-days: 1

  report:
    needs: build
    runs-on: ubuntu-latest

    steps:
    - name: Check out code
      uses: actions/checkout@v1
    - name: Download artifacts
      uses: actions/download-artifact@v2
    - name: Set up Python 3.8
      uses: actions/setup-python@v2
      with:
        python-version: 3.8
    - name: Install dependencies
      run: |
        pip install coverage
    - name: Compile coverage data
      run: |
        mv coverage-*/.coverage* .
        coverage combine
        coverage html
        coverage report
    - name: Upload coverage report
      uses: actions/upload-artifact@v2
      with:
        name: htmlcov
        path: htmlcov
        retention-days: 7

Disable Python 3.5 pipeline in GitHub Actions workflow
Disable Python 3.5 pipeline in GitHub Actions workflow

Apparently, the pip mirror that GitHub Actions workflows use is unable
to fetch setuptools_scm<6 for Python 3.5. This appears to be a local
problem. Work around it by removing Python 3.5 from the build matrix.

We can probably revert this patch once GitHub fix their issue. Or else,
we drop Juniper support first; in that case Python 3.5 testing becomes
irrelevant anyway.
