From 00e0a2e76005a369313d2eddf58a38a15619bcac Mon Sep 17 00:00:00 2001 From: Quentin Pradet Date: Mon, 17 Oct 2022 15:09:16 +0400 Subject: [PATCH] Run tests using GitHub Actions --- .github/workflows/ci.yml | 33 ++++++++++++++++- .travis.yml | 78 ---------------------------------------- tox.ini | 16 ++++++--- 3 files changed, 44 insertions(+), 83 deletions(-) delete mode 100644 .travis.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1a46a93e..b22d7c8c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,6 @@ defaults: jobs: package: runs-on: ubuntu-latest - timeout-minutes: 10 steps: - name: "Checkout repository" @@ -27,3 +26,35 @@ jobs: python -m pip install -U setuptools wheel twine python setup.py sdist bdist_wheel python -m twine check --strict dist/* + + test: + strategy: + fail-fast: false + matrix: + python-version: ["2.7", "3.7", "3.8", "3.9", "3.10"] + os: + - macos-latest + - windows-latest + - ubuntu-latest + + runs-on: ${{ matrix.os }} + name: ${{ fromJson('{"macos-latest":"macOS","windows-latest":"Windows","ubuntu-latest":"Ubuntu"}')[matrix.os] }} ${{ matrix.python-version }} + steps: + - name: "Checkout repository" + uses: "actions/checkout@v3" + + - name: "Setup Python ${{ matrix.python-version }}" + uses: "actions/setup-python@v3" + with: + python-version: ${{ matrix.python-version }} + # Fails on Python 2 + Windows + # cache: "pip" + # cache-dependency-path: '**/setup.py' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install tox tox-gh-actions + + - name: Test with tox + run: tox diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 00277683..00000000 --- a/.travis.yml +++ /dev/null @@ -1,78 +0,0 @@ -dist: xenial -language: python -sudo: false -cache: pip -before_script: -- pip install tox - -# test script -script: tox -notifications: - on_success: change - on_failure: always - -matrix: - include: - - python: 2.7 - env: TOXENV=py27 - - python: 2.7 - dist: trusty - env: TOXENV=py27 REQUESTS_VERSION="===2.2.1" - - python: 2.7 - dist: trusty - env: TOXENV=py27 REQUESTS_VERSION="===2.1.0" - - python: 3.4 - env: TOXENV=py34 - - python: 3.4 - env: TOXENV=py34 REQUESTS_VERSION="===2.2.1" - - python: 3.4 - env: TOXENV=py34 REQUESTS_VERSION="===2.1.0" - - python: 3.5 - env: TOXENV=py35 - - python: 3.5 - env: TOXENV=py35 REQUESTS_VERSION="===2.2.1" - - python: 3.5 - env: TOXENV=py35 REQUESTS_VERSION="===2.1.0" - - python: 3.6 - env: TOXENV=py36 - - python: 3.6 - env: TOXENV=py36 REQUESTS_VERSION="===2.2.1" - - python: 3.6 - env: TOXENV=py36 REQUESTS_VERSION="===2.1.0" - - python: 3.7 - env: TOXENV=py37 - - python: 3.7 - env: TOXENV=py37 REQUESTS_VERSION="===2.2.1" - - python: 3.7 - env: TOXENV=py37 REQUESTS_VERSION="===2.1.0" - - python: pypy2.7-6.0 - env: TOXENV=pypy - - python: pypy - dist: trusty - env: TOXENV=pypy REQUESTS_VERSION="===2.2.1" - - python: pypy - dist: trusty - env: TOXENV=pypy REQUESTS_VERSION="===2.1.0" - - python: pypy3.5-6.0 - env: TOXENV=pypy3 - - python: pypy3.5-6.0 - env: TOXENV=pypy3 REQUESTS_VERSION="===2.2.1" - - python: pypy3.5-6.0 - env: TOXENV=pypy3 REQUESTS_VERSION="===2.1.0" - - python: nightly - env: TOXENV=py - - python: nightly - env: TOXENV=py REQUESTS_VERSION="===2.2.1" - - python: nightly - env: TOXENV=py REQUESTS_VERSION="===2.1.0" - - python: 3.6 - env: TOXENV=noopenssl - - python: 2.7 - env: TOXENV=py27-flake8 - - python: 3.4 - env: TOXENV=py34-flake8 - - env: TOXENV=docstrings - - env: TOXENV=docs - - env: TOXENV=readme - allow_failures: - - env: TOXENV=docstrings diff --git a/tox.ini b/tox.ini index 10c189f6..6536b258 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,13 @@ [tox] -envlist = py27,py34,py35,py36,py37,pypy,pypy3,{py27,py34}-flake8,noopenssl,docstrings +envlist = py27,py37,py38,py39,py310,pypy,pypy3,{py27,py37}-flake8,noopenssl,docstrings + +[gh-actions] +python = + 2.7: py27 + 3.7: py37, py37-flake8, noopenssl + 3.8: py38 + 3.9: py39 + 3.10: py310 [testenv] pip_pre = False @@ -14,7 +22,7 @@ commands = py.test {posargs} [testenv:noopenssl] -basepython = python3.6 +basepython = python3.7 pip_pre = False deps = requests{env:REQUESTS_VERSION:>=2.0.1,<3.0.0} @@ -30,8 +38,8 @@ deps = flake8 commands = flake8 {posargs} requests_toolbelt -[testenv:py34-flake8] -basepython = python3.4 +[testenv:py37-flake8] +basepython = python3.7 deps = flake8 commands = flake8 {posargs} requests_toolbelt