From 239a3730a66718aa9097f5f7ecd3f3a6f979054b Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sat, 26 Dec 2020 01:03:03 +0100 Subject: [PATCH 01/14] Try to add Github Actions --- .github/workflows/ci.yml | 67 ++++++++++++++++++++++++++++++++++++++++ conftest.py | 4 ++- 2 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..aa46f2f5 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,67 @@ +on: push + +jobs: + tests: + # Set the type of machine to run on + runs-on: [ubuntu-20.04, windows-2019] + strategy: + matrix: + environment: ['3.8', '3.9', '3.7', '3.6', 'interpreter'] + python-version: [3.6, 3.7, 3.8, 3.9] + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Install dependencies + run: 'pip install .[testing]' + + - uses: actions/setup-python@v2 + if: ${{ matrix.environment != 'interpreter' }} + with: + python-version: ${{ matrix.interpreter }} + + - uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Run tests + run: pytest + env: + JEDI_TEST_ENVIRONMENT: ${{ matrix.environment }} + + code-quality: + runs-on: ubuntu-20.04 + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Install dependencies + run: 'pip install .[qa]' + + - name: Run tests + run: | + flake8 jedi setup.py + mypy jedi sith.py' + + coverage: + runs-on: ubuntu-20.04 + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Install dependencies + run: 'pip install .[testing] coverage' + + - name: Run tests + run: | + coverage run --source jedi -m pytest + coverage report + + - name: Upload coverage data + run: | + pip install --quiet codecov coveralls + coverage xml + coverage report -m + coveralls + bash <(curl -s https://codecov.io/bash) -X gcov -X coveragepy -X search -X fix -X xcode -f coverage.xml diff --git a/conftest.py b/conftest.py index c6d02216..eeb531c3 100644 --- a/conftest.py +++ b/conftest.py @@ -100,7 +100,9 @@ def environment(request): if request.config.option.interpreter_env or version == 'interpreter': return InterpreterEnvironment() - return get_system_environment(version[0] + '.' + version[1:]) + if '.' not in version: + version = version[0] + '.' + version[1:] + return get_system_environment(version) @pytest.fixture(scope='session') From 6f76bb945a8c837a9922e6e0056b925c5a9685a0 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sat, 26 Dec 2020 01:14:17 +0100 Subject: [PATCH 02/14] GH actions, checkout recursive submodules --- .github/workflows/ci.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index aa46f2f5..8ad7be2a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,6 +11,8 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v2 + with: + submodules: recursive - name: Install dependencies run: 'pip install .[testing]' @@ -34,6 +36,8 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v2 + with: + submodules: recursive - name: Install dependencies run: 'pip install .[qa]' @@ -49,6 +53,8 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v2 + with: + submodules: recursive - name: Install dependencies run: 'pip install .[testing] coverage' From 0cc5c974f6fb1f1d1c446c57083fbc0ad818664e Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sat, 26 Dec 2020 01:19:49 +0100 Subject: [PATCH 03/14] Try to improve GH Actions --- .github/workflows/ci.yml | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8ad7be2a..6be007e2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,7 +3,7 @@ on: push jobs: tests: # Set the type of machine to run on - runs-on: [ubuntu-20.04, windows-2019] + runs-on: ubuntu-20.04 strategy: matrix: environment: ['3.8', '3.9', '3.7', '3.6', 'interpreter'] @@ -14,20 +14,20 @@ jobs: with: submodules: recursive - - name: Install dependencies - run: 'pip install .[testing]' - - uses: actions/setup-python@v2 if: ${{ matrix.environment != 'interpreter' }} with: - python-version: ${{ matrix.interpreter }} + python-version: ${{ matrix.environment }} - uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: 'pip install .[testing]' + - name: Run tests - run: pytest + run: python -m pytest env: JEDI_TEST_ENVIRONMENT: ${{ matrix.environment }} @@ -44,8 +44,8 @@ jobs: - name: Run tests run: | - flake8 jedi setup.py - mypy jedi sith.py' + python -m flake8 jedi setup.py + python -m mypy jedi sith.py coverage: runs-on: ubuntu-20.04 @@ -61,13 +61,12 @@ jobs: - name: Run tests run: | - coverage run --source jedi -m pytest - coverage report + python -m coverage run --source jedi -m pytest + python -m coverage report - name: Upload coverage data run: | pip install --quiet codecov coveralls - coverage xml - coverage report -m - coveralls + python -m coverage xml + python -m coverage report -m bash <(curl -s https://codecov.io/bash) -X gcov -X coveragepy -X search -X fix -X xcode -f coverage.xml From 85ec94cf6518e3446c5b19048c046a784fed4130 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sat, 26 Dec 2020 03:32:17 +0100 Subject: [PATCH 04/14] Fix pytest issues, fixes #1699 --- jedi/plugins/pytest.py | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/jedi/plugins/pytest.py b/jedi/plugins/pytest.py index cec23733..d0dfba01 100644 --- a/jedi/plugins/pytest.py +++ b/jedi/plugins/pytest.py @@ -5,6 +5,7 @@ from jedi.inference.cache import inference_state_method_cache from jedi.inference.imports import load_module_from_path from jedi.inference.filters import ParserTreeFilter from jedi.inference.base_value import NO_VALUES, ValueSet +from jedi.inference.helpers import infer_call_of_leaf _PYTEST_FIXTURE_MODULES = [ ('_pytest', 'monkeypatch'), @@ -147,18 +148,35 @@ class FixtureFilter(ParserTreeFilter): def _filter(self, names): for name in super()._filter(names): funcdef = name.parent + # Class fixtures are not supported if funcdef.type == 'funcdef': - # Class fixtures are not supported decorated = funcdef.parent if decorated.type == 'decorated' and self._is_fixture(decorated): yield name def _is_fixture(self, decorated): - for decorator in decorated.children: + decorators = decorated.children[0] + if decorators.type == 'decorators': + decorators = decorators.children + else: + decorators = [decorators] + for decorator in decorators: dotted_name = decorator.children[1] # A heuristic, this makes it faster. if 'fixture' in dotted_name.get_code(): - for value in self.parent_context.infer_node(dotted_name): + if dotted_name.type == 'atom_expr': + # Since Python3.9 a decorator does not have dotted names + # anymore. + last_trailer = dotted_name.children[-1] + last_leaf = last_trailer.get_last_leaf() + if last_leaf == ')': + values = infer_call_of_leaf( + self.parent_context, last_leaf, cut_own_trailer=True) + else: + values = self.parent_context.infer_node(dotted_name) + else: + values = self.parent_context.infer_node(dotted_name) + for value in values: if value.name.get_qualified_names(include_module_names=True) \ == ('_pytest', 'fixtures', 'fixture'): return True From 3d7ad50f57f1d3edbd10bf1efd2818591fd8f18b Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sat, 26 Dec 2020 03:33:22 +0100 Subject: [PATCH 05/14] Remove travis and appveyor configs in favor of github action --- .travis.yml | 74 ---------------------------------------------------- appveyor.yml | 17 ------------ 2 files changed, 91 deletions(-) delete mode 100644 .travis.yml delete mode 100644 appveyor.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index e16e2689..00000000 --- a/.travis.yml +++ /dev/null @@ -1,74 +0,0 @@ -dist: xenial -language: python -python: - - 3.9-dev - - 3.8 - - 3.7 - - 3.6 - -env: - - JEDI_TEST_ENVIRONMENT=38 - - JEDI_TEST_ENVIRONMENT=39 - - JEDI_TEST_ENVIRONMENT=37 - - JEDI_TEST_ENVIRONMENT=36 - - JEDI_TEST_ENVIRONMENT=interpreter - -matrix: - include: - - python: 3.8 - script: - - 'pip install coverage' - - 'coverage run --source jedi -m pytest' - - 'coverage report' - after_script: - - | - pip install --quiet codecov coveralls - coverage xml - coverage report -m - coveralls - bash <(curl -s https://codecov.io/bash) -X gcov -X coveragepy -X search -X fix -X xcode -f coverage.xml - - python: 3.8 - install: - - 'pip install .[qa]' - script: - - 'flake8 jedi setup.py' - - 'mypy jedi sith.py' -install: - - sudo apt-get -y install python3-venv - - pip install .[testing] -script: - - | - # Setup/install Python for $JEDI_TEST_ENVIRONMENT. - set -ex - test_env_version=${JEDI_TEST_ENVIRONMENT:0:1}.${JEDI_TEST_ENVIRONMENT:1:1} - if [ "$TRAVIS_PYTHON_VERSION" != "$test_env_version" ] && [ "$JEDI_TEST_ENVIRONMENT" != "interpreter" ]; then - python_bin=python$test_env_version - python_path="$(which $python_bin || true)" - if [ -z "$python_path" ]; then - # Only required for JEDI_TEST_ENVIRONMENT=38, because it's not always - # available. - download_name=python-$test_env_version - if [ "$JEDI_TEST_ENVIRONMENT" == "39" ]; then - wget https://storage.googleapis.com/travis-ci-language-archives/python/binaries/ubuntu/16.04/x86_64/python-3.9-dev.tar.bz2 - sudo tar xjf python-3.9-dev.tar.bz2 --directory / opt/python - ln -s "/opt/python/3.9-dev/bin/python" /home/travis/bin/python3.9 - else - wget https://s3.amazonaws.com/travis-python-archives/binaries/ubuntu/16.04/x86_64/$download_name.tar.bz2 - sudo tar xjf $download_name.tar.bz2 --directory / opt/python - ln -s "/opt/python/${test_env_version}/bin/python" /home/travis/bin/$python_bin - fi - elif [ "${python_path#/opt/pyenv/shims}" != "$python_path" ]; then - # Activate pyenv version (required with JEDI_TEST_ENVIRONMENT=36). - pyenv_bin="$(pyenv whence --path "$python_bin" | head -n1)" - ln -s "$pyenv_bin" /home/travis/bin/$python_bin - fi - $python_bin --version - python_ver=$($python_bin -c 'import sys; print("%d%d" % sys.version_info[0:2])') - if [ "$JEDI_TEST_ENVIRONMENT" != "$python_ver" ]; then - echo "Unexpected Python version for $JEDI_TEST_ENVIRONMENT: $python_ver" - set +ex - exit 2 - fi - fi - set +ex - - pytest diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index df1ed05d..00000000 --- a/appveyor.yml +++ /dev/null @@ -1,17 +0,0 @@ -environment: - matrix: - - PYTHON_PATH: C:\Python37 - JEDI_TEST_ENVIRONMENT: 37 - - PYTHON_PATH: C:\Python37 - JEDI_TEST_ENVIRONMENT: 36 - - - PYTHON_PATH: C:\Python36 - JEDI_TEST_ENVIRONMENT: 37 - - PYTHON_PATH: C:\Python36 - JEDI_TEST_ENVIRONMENT: 36 -install: - - git submodule update --init --recursive - - set PATH=%PYTHON_PATH%;%PYTHON_PATH%\Scripts;%PATH% - - pip install .[testing] -build_script: - - pytest From 3e4070bbb3a6603858f0c90cb7ccc61e1cb7591b Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sat, 26 Dec 2020 03:35:28 +0100 Subject: [PATCH 06/14] Enable Windows 2019 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6be007e2..4c5ff3b1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,7 +3,7 @@ on: push jobs: tests: # Set the type of machine to run on - runs-on: ubuntu-20.04 + runs-on: [ubuntu-20.04, windows-2019] strategy: matrix: environment: ['3.8', '3.9', '3.7', '3.6', 'interpreter'] From bea401912f08ea12bb90ada4e91f20aef6d17d05 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sat, 26 Dec 2020 03:42:33 +0100 Subject: [PATCH 07/14] Hopefully fix Actions configuration --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4c5ff3b1..ae94b545 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,9 +3,10 @@ on: push jobs: tests: # Set the type of machine to run on - runs-on: [ubuntu-20.04, windows-2019] + runs-on: ${{ matrix.os }} strategy: matrix: + os: [ubuntu-20.04, windows-2019] environment: ['3.8', '3.9', '3.7', '3.6', 'interpreter'] python-version: [3.6, 3.7, 3.8, 3.9] steps: From d4a1657b2e1dfcf24481d86856b00ddc1d6d1658 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sat, 26 Dec 2020 04:03:19 +0100 Subject: [PATCH 08/14] Better error reporting --- test/refactor.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/refactor.py b/test/refactor.py index 582beeb6..d9b5bc7f 100644 --- a/test/refactor.py +++ b/test/refactor.py @@ -82,9 +82,9 @@ def _collect_file_tests(code, path, lines_to_execute): yield RefactoringCase(name, first, line_nr, index, path, kwargs, type_, second) if match is None: - raise Exception("Didn't match any test") + raise Exception(f"Didn't match any test for {path}") if match.end() != len(code): - raise Exception("Didn't match until the end of the file in %s" % path) + raise Exception(f"Didn't match until the end of the file in {path}") def collect_dir_tests(base_dir, test_files): From 3184264b3b29b4de13504bb73b4b102b56257a6c Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sat, 26 Dec 2020 04:11:02 +0100 Subject: [PATCH 09/14] Try to fix windows --- test/refactor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/refactor.py b/test/refactor.py index d9b5bc7f..7598bc7d 100644 --- a/test/refactor.py +++ b/test/refactor.py @@ -82,7 +82,7 @@ def _collect_file_tests(code, path, lines_to_execute): yield RefactoringCase(name, first, line_nr, index, path, kwargs, type_, second) if match is None: - raise Exception(f"Didn't match any test for {path}") + raise Exception(f"Didn't match any test for {path}, {code!r}") if match.end() != len(code): raise Exception(f"Didn't match until the end of the file in {path}") From 7298350e7658d6582f1435b8dc01f42ec8d5cac0 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sat, 26 Dec 2020 04:27:06 +0100 Subject: [PATCH 10/14] Standardize line separator --- .gitattributes | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..443d3cc5 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,7 @@ +# all end-of-lines are normalized to LF when written to the repository +# https://git-scm.com/docs/gitattributes#_text +* text=auto + +# force all text files on the working dir to have LF line endings +# https://git-scm.com/docs/gitattributes#_eol +* text eol=lf From 86d57edda4d2e87d2be1631baafa5f2616921aa4 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sat, 26 Dec 2020 11:52:47 +0100 Subject: [PATCH 11/14] Some Windows compatibility fixes --- test/test_api/test_api.py | 3 ++- test/test_inference/test_gradual/test_conversion.py | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/test/test_api/test_api.py b/test/test_api/test_api.py index 51c0da3b..d2ebe62b 100644 --- a/test/test_api/test_api.py +++ b/test/test_api/test_api.py @@ -169,7 +169,8 @@ def test_reference_description(Script): def test_get_line_code(Script): def get_line_code(source, line=None, **kwargs): - return Script(source).complete(line=line)[0].get_line_code(**kwargs) + # On Windows replace \r + return Script(source).complete(line=line)[0].get_line_code(**kwargs).replace('\r', '') # On builtin assert get_line_code('abs') == 'def abs(__n: SupportsAbs[_T]) -> _T: ...\n' diff --git a/test/test_inference/test_gradual/test_conversion.py b/test/test_inference/test_gradual/test_conversion.py index c77a06b0..ea9ea013 100644 --- a/test/test_inference/test_gradual/test_conversion.py +++ b/test/test_inference/test_gradual/test_conversion.py @@ -69,11 +69,12 @@ def test_stub_get_line_code(Script): code = 'from abc import ABC; ABC' script = Script(code) d, = script.goto(only_stubs=True) - assert d.get_line_code() == 'class ABC(metaclass=ABCMeta): ...\n' + # Replace \r for tests on Windows + assert d.get_line_code().replace('\r', '') == 'class ABC(metaclass=ABCMeta): ...\n' del parser_cache[script._inference_state.latest_grammar._hashed][d.module_path] d, = Script(path=d.module_path).goto(d.line, d.column, only_stubs=True) assert d.is_stub() - assert d.get_line_code() == 'class ABC(metaclass=ABCMeta): ...\n' + assert d.get_line_code().replace('\r', '') == 'class ABC(metaclass=ABCMeta): ...\n' def test_os_stat_result(Script): From 52443daf129a3ababc050ce10f6e96e6d6387971 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sat, 26 Dec 2020 12:19:59 +0100 Subject: [PATCH 12/14] Fix another Windows test on 3.8 --- .github/workflows/ci.yml | 2 +- test/test_inference/test_extension.py | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ae94b545..18bff567 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,8 +7,8 @@ jobs: strategy: matrix: os: [ubuntu-20.04, windows-2019] - environment: ['3.8', '3.9', '3.7', '3.6', 'interpreter'] python-version: [3.6, 3.7, 3.8, 3.9] + environment: ['3.8', '3.9', '3.7', '3.6', 'interpreter'] steps: - name: Checkout code uses: actions/checkout@v2 diff --git a/test/test_inference/test_extension.py b/test/test_inference/test_extension.py index 962a8f9c..85cd7c01 100644 --- a/test/test_inference/test_extension.py +++ b/test/test_inference/test_extension.py @@ -13,17 +13,15 @@ def test_completions(Script): assert len(s.complete()) >= 15 -def test_get_signatures_extension(Script): +def test_get_signatures_extension(Script, environment): if os.name == 'nt': func = 'LoadLibrary' - params = 1 else: func = 'dlopen' - params = 2 s = Script('import _ctypes; _ctypes.%s(' % (func,)) sigs = s.get_signatures() assert len(sigs) == 1 - assert len(sigs[0].params) == params + assert len(sigs[0].params) in (1, 2) def test_get_signatures_stdlib(Script): From aae2f7c49a222722adec2b95f71dfda3e504000f Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sat, 26 Dec 2020 12:37:04 +0100 Subject: [PATCH 13/14] Change badges from Travis/Appveyor to GitHub Actions --- README.rst | 14 +++----------- docs/docs/testing.rst | 4 ++-- docs/index.rst | 11 +++-------- 3 files changed, 8 insertions(+), 21 deletions(-) diff --git a/README.rst b/README.rst index f63feb8d..7d0d7106 100644 --- a/README.rst +++ b/README.rst @@ -10,17 +10,9 @@ Jedi - an awesome autocompletion, static analysis and refactoring library for Py :target: https://github.com/davidhalter/jedi/issues :alt: The resolution time is the median time an issue or pull request stays open. -.. image:: https://travis-ci.org/davidhalter/jedi.svg?branch=master - :target: https://travis-ci.org/davidhalter/jedi - :alt: Linux Tests - -.. image:: https://ci.appveyor.com/api/projects/status/mgva3bbawyma1new/branch/master?svg=true - :target: https://ci.appveyor.com/project/davidhalter/jedi/branch/master - :alt: Windows Tests - -.. image:: https://coveralls.io/repos/davidhalter/jedi/badge.svg?branch=master - :target: https://coveralls.io/r/davidhalter/jedi - :alt: Coverage status +.. image:: https://github.com/davidhalter/jedi/workflows/ci/badge.svg?branch=master + :target: https://github.com/davidhalter/jedi/actions + :alt: Tests .. image:: https://pepy.tech/badge/jedi :target: https://pepy.tech/project/jedi diff --git a/docs/docs/testing.rst b/docs/docs/testing.rst index fdb36658..223cc292 100644 --- a/docs/docs/testing.rst +++ b/docs/docs/testing.rst @@ -12,8 +12,8 @@ easy as:: python3.8 -m pytest -Tests are also run automatically on `Travis CI -`_. +Tests are also run automatically on `GitHub Actions +`_. You want to add a test for |jedi|? Great! We love that. Normally you should write your tests as :ref:`Blackbox Tests `. Most tests would diff --git a/docs/index.rst b/docs/index.rst index 40117d49..78435fbf 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -18,13 +18,9 @@ Jedi - an awesome autocompletion, static analysis and refactoring library for Py :target: https://github.com/davidhalter/jedi/issues :alt: The resolution time is the median time an issue or pull request stays open. -.. image:: https://travis-ci.org/davidhalter/jedi.svg?branch=master - :target: https://travis-ci.org/davidhalter/jedi - :alt: Linux Tests - -.. image:: https://ci.appveyor.com/api/projects/status/mgva3bbawyma1new/branch/master?svg=true - :target: https://ci.appveyor.com/project/davidhalter/jedi/branch/master - :alt: Windows Tests +.. image:: https://github.com/davidhalter/jedi/workflows/ci/badge.svg?branch=master + :target: https://github.com/davidhalter/jedi/actions + :alt: Tests .. image:: https://coveralls.io/repos/davidhalter/jedi/badge.svg?branch=master :target: https://coveralls.io/r/davidhalter/jedi @@ -73,5 +69,4 @@ mailing list: https://groups.google.com/g/jedi-announce. To subscribe you can simply send an empty email to ``jedi-announce+subscribe@googlegroups.com``. - `Source Code on Github `_ -- `Travis Testing `_ - `Python Package Index `_ From fa6072b4fa3c19a7d54cb79b9d7ea14a095088fb Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sat, 26 Dec 2020 12:39:37 +0100 Subject: [PATCH 14/14] Change Python test order in CI --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 18bff567..05f2c776 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,7 +7,7 @@ jobs: strategy: matrix: os: [ubuntu-20.04, windows-2019] - python-version: [3.6, 3.7, 3.8, 3.9] + python-version: [3.9, 3.8, 3.7, 3.6] environment: ['3.8', '3.9', '3.7', '3.6', 'interpreter'] steps: - name: Checkout code