From 2344cd6ebfc74c8a22149f2406aca137119bfded Mon Sep 17 00:00:00 2001 From: David Lord Date: Sat, 23 May 2020 14:06:54 -0700 Subject: [PATCH] use GitHub Actions for CI --- .azure-pipelines.yml | 44 ------------------------------ .github/workflows/tests.yaml | 53 ++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 44 deletions(-) delete mode 100644 .azure-pipelines.yml create mode 100644 .github/workflows/tests.yaml diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml deleted file mode 100644 index 0bf7b40c..00000000 --- a/.azure-pipelines.yml +++ /dev/null @@ -1,44 +0,0 @@ -trigger: - - master - - '*.x' - -variables: - vmImage: ubuntu-latest - python.version: '3.8' - TOXENV: py - -strategy: - matrix: - Linux: - vmImage: ubuntu-latest - Windows: - vmImage: windows-latest - Mac: - vmImage: macos-latest - Python 3.7: - python.version: '3.7' - Python 3.6: - python.version: '3.6' - PyPy 3: - python.version: pypy3 - Version Range: - TOXENV: 'devel,lowest' - Docs: - TOXENV: docs - Style: - TOXENV: style - -pool: - vmImage: $[ variables.vmImage ] - -steps: - - task: UsePythonVersion@0 - inputs: - versionSpec: $(python.version) - displayName: Use Python $(python.version) - - - script: pip --disable-pip-version-check install -U tox - displayName: Install tox - - - script: tox - displayName: Run tox diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml new file mode 100644 index 00000000..1e48dd09 --- /dev/null +++ b/.github/workflows/tests.yaml @@ -0,0 +1,53 @@ +name: Tests +on: + push: + branches: + - master + - '*.x' + pull_request: + branches: + - master + - '*.x' +jobs: + tests: + name: ${{ matrix.name }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - {name: Linux, python: '3.8', os: ubuntu-latest, tox: py38} + - {name: Windows, python: '3.8', os: windows-latest, tox: py38} + - {name: Mac, python: '3.8', os: macos-latest, tox: py38} + - {name: '3.7', python: '3.7', os: ubuntu-latest, tox: py37} + - {name: '3.6', python: '3.6', os: ubuntu-latest, tox: py36} + - {name: 'PyPy', python: pypy3, os: ubuntu-latest, tox: pypy3} + - {name: Version Range, python: '3.8', os: ubuntu-latest, tox: 'devel,lowest'} + - {name: Style, python: '3.8', os: ubuntu-latest, tox: style} + - {name: Docs, python: '3.8', os: ubuntu-latest, tox: docs} + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python }} + - name: update pip + run: | + pip install -U wheel + pip install -U setuptools + python -m pip install -U pip + - name: get pip cache dir + id: pip-cache + run: echo "::set-output name=dir::$(pip cache dir)" + - name: cache pip + uses: actions/cache@v1 + with: + path: ${{ steps.pip-cache.outputs.dir }} + key: pip|${{ runner.os }}|${{ matrix.python }}|${{ hashFiles('setup.py') }}|${{ hashFiles('requirements/*.txt') }} + - name: cache pre-commit + uses: actions/cache@v1 + with: + path: ~/.cache/pre-commit + key: pre-commit|${{ matrix.python }}|${{ hashFiles('.pre-commit-config.yaml') }} + if: matrix.tox == 'style' + - run: pip install tox + - run: tox -e ${{ matrix.tox }}