From ae2fb742fcccda94b4985dc8caea09847ff1903e Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Mon, 14 Oct 2024 16:59:27 -0400 Subject: [PATCH 01/11] replace 3.7 with 3.9 and 3.8 with 3.10 for appveyor testing --- .appveyor.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 8f43da6..31910e9 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -41,7 +41,7 @@ # will run until the file is removed (or 60 min have passed) # # - in a terminal execute, for example, `C:\datalad_debug.bat 39` to set up the -# environment to debug in a Python 3.8 session (should generally match the +# environment to debug in a Python 3.9 session (should generally match the # respective CI run configuration). @@ -71,30 +71,30 @@ environment: PY: 39-x64 INSTALL_GITANNEX: git-annex -m datalad/packages # MacOS core tests - - ID: MacP38core + - ID: MacP310core APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey - PY: 3.8 + PY: 3.10 # does not give a functional installation # INSTALL_GITANNEX: git-annex -m snapshot #INSTALL_GITANNEX: git-annex=8.20201129 INSTALL_GITANNEX: git-annex - - ID: MacP38a1 + - ID: MacP310a1 APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey - PY: 3.8 + PY: 3.10 INSTALL_GITANNEX: git-annex - - ID: MacP38a2 + - ID: MacP310a2 APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey - PY: 3.8 + PY: 3.10 INSTALL_GITANNEX: git-annex - - ID: MacP38a3 + - ID: MacP310a3 APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey - PY: 3.8 + PY: 3.10 INSTALL_GITANNEX: git-annex # Test alternative Python versions - - ID: Ubu20P37 - PY: 3.7 + - ID: Ubu20P39 + PY: 3.9 APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2004 INSTALL_SYSPKGS: python3-virtualenv # system git-annex is way too old, use better one From 488fbc76adcf3a072fc93d874ecef051e6099f85 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Mon, 14 Oct 2024 17:04:16 -0400 Subject: [PATCH 02/11] Remove support for 3.7 and 3.8, added 3.13 --- .github/workflows/release.yml | 2 +- .github/workflows/test.yml | 11 +++++------ setup.cfg | 5 ++--- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4ae3753..9cbcf1f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -30,7 +30,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: '^3.7' + python-version: '^3.9' - name: Install Python dependencies run: python -m pip install build bump2version twine diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d784ffb..8f95169 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -28,13 +28,12 @@ jobs: - windows-latest - ubuntu-latest python-version: - - '3.7' - - '3.8' - '3.9' - '3.10' - '3.11' - '3.12' - - 'pypy-3.8' + - '3.13' + - 'pypy-3.10' # Avoid PyPy 7.3.16, as the tests currently fail on it due to a bug # in it and/or tox: , # @@ -43,13 +42,13 @@ jobs: toxenv: [py] exclude: # Not available on arm64 macos-latest: - - python-version: '3.7' + - python-version: '3.9' os: macos-latest include: - - python-version: '3.7' + - python-version: '3.9' toxenv: lint os: ubuntu-latest - - python-version: '3.7' + - python-version: '3.9' toxenv: typing os: ubuntu-latest steps: diff --git a/setup.cfg b/setup.cfg index 48e2f2e..e754549 100644 --- a/setup.cfg +++ b/setup.cfg @@ -26,12 +26,11 @@ classifiers = #Development Status :: 5 - Production/Stable Programming Language :: Python :: 3 :: Only Programming Language :: Python :: 3 - Programming Language :: Python :: 3.7 - Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 Programming Language :: Python :: 3.12 + Programming Language :: Python :: 3.13 Programming Language :: Python :: Implementation :: CPython Programming Language :: Python :: Implementation :: PyPy License :: OSI Approved :: MIT License @@ -53,7 +52,7 @@ py_modules = datalad_installer package_dir = =src include_package_data = True -python_requires = >= 3.7 +python_requires = >= 3.9 [options.entry_points] console_scripts = From 799c3bdaf60033347c660b3d8ce48aa279add4d1 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Mon, 14 Oct 2024 22:58:30 -0400 Subject: [PATCH 03/11] Not ready for 3.13 yet See https://github.com/datalad/datalad-installer/pull/208#issuecomment-2412712038 --- .github/workflows/test.yml | 1 - setup.cfg | 1 - 2 files changed, 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8f95169..d4976d9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -32,7 +32,6 @@ jobs: - '3.10' - '3.11' - '3.12' - - '3.13' - 'pypy-3.10' # Avoid PyPy 7.3.16, as the tests currently fail on it due to a bug # in it and/or tox: , diff --git a/setup.cfg b/setup.cfg index e754549..2ab9671 100644 --- a/setup.cfg +++ b/setup.cfg @@ -30,7 +30,6 @@ classifiers = Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 Programming Language :: Python :: 3.12 - Programming Language :: Python :: 3.13 Programming Language :: Python :: Implementation :: CPython Programming Language :: Python :: Implementation :: PyPy License :: OSI Approved :: MIT License From 93aeb3a558d2f456b4d73fd43d178325ce27adbe Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Tue, 15 Oct 2024 11:47:57 -0400 Subject: [PATCH 04/11] Use newer ubuntu for appveyor --- .appveyor.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 31910e9..70d7e88 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -59,8 +59,9 @@ environment: # is a need for debugging # Ubuntu core tests - - ID: Ubu20 - APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2004 + - ID: Ubu22 + APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2204 + PY: 3.10 INSTALL_SYSPKGS: python3-virtualenv # system git-annex is way too old, use better one INSTALL_GITANNEX: git-annex -m deb-url --url http://snapshot.debian.org/archive/debian/20201228T023115Z/pool/main/g/git-annex/git-annex_8.20201127-1_amd64.deb From 45164c117c8b911647e7fc051a9f1ee1695716e3 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Wed, 16 Oct 2024 09:56:11 -0400 Subject: [PATCH 05/11] Add libffi7 which is misisng on newer ubuntu --- .appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.appveyor.yml b/.appveyor.yml index 70d7e88..f4c0f84 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -62,7 +62,7 @@ environment: - ID: Ubu22 APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2204 PY: 3.10 - INSTALL_SYSPKGS: python3-virtualenv + INSTALL_SYSPKGS: python3-virtualenv libffi7 # system git-annex is way too old, use better one INSTALL_GITANNEX: git-annex -m deb-url --url http://snapshot.debian.org/archive/debian/20201228T023115Z/pool/main/g/git-annex/git-annex_8.20201127-1_amd64.deb # Windows core tests From 5d1797107dfea94786260b26f3b85e93a35886d6 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Wed, 16 Oct 2024 12:30:25 -0400 Subject: [PATCH 06/11] do apt update (to hopefully address failing apt install) + list libffi7 first (seems to not getting installed) --- .appveyor.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index f4c0f84..5f7e07a 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -62,7 +62,7 @@ environment: - ID: Ubu22 APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2204 PY: 3.10 - INSTALL_SYSPKGS: python3-virtualenv libffi7 + INSTALL_SYSPKGS: libffi7 python3-virtualenv # system git-annex is way too old, use better one INSTALL_GITANNEX: git-annex -m deb-url --url http://snapshot.debian.org/archive/debian/20201228T023115Z/pool/main/g/git-annex/git-annex_8.20201127-1_amd64.deb # Windows core tests @@ -141,7 +141,7 @@ install: - sh: "[ \"x$PY\" != x ] && . ${HOME}/venv${PY}/bin/activate || virtualenv -p 3 ${HOME}/dlvenv && . ${HOME}/dlvenv/bin/activate; ln -s \"$VIRTUAL_ENV\" \"${HOME}/VENV\"" - cmd: "set PATH=C:\\Python%PY%;C:\\Python%PY%\\Scripts;%PATH%" # Missing system software - - sh: "[ -n \"$INSTALL_SYSPKGS\" ] && ( [ \"x${APPVEYOR_BUILD_WORKER_IMAGE}\" = \"xmacos-monterey\" ] && brew install -q ${INSTALL_SYSPKGS} || sudo apt-get install --no-install-recommends -y ${INSTALL_SYSPKGS} ) || true" + - sh: "[ -n \"$INSTALL_SYSPKGS\" ] && ( [ \"x${APPVEYOR_BUILD_WORKER_IMAGE}\" = \"xmacos-monterey\" ] && brew install -q ${INSTALL_SYSPKGS} || { sudo apt-get update; sudo apt-get install --no-install-recommends -y ${INSTALL_SYSPKGS} ; } ) || true" - python -m pip install . test_script: From 1d4ffed9b3c5d355d4bfc05592c9e2bfa1f55a65 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Thu, 31 Oct 2024 10:57:38 -0400 Subject: [PATCH 07/11] Boost flake8 to 7.1.1 - 6.0.0 gives us false positive says src/datalad_installer.py:332:39: E231 missing whitespace after ':' for the shortspec += f"{o}:" --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ccbd59b..3686d2d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -17,7 +17,7 @@ repos: hooks: - id: isort - repo: https://github.com/PyCQA/flake8 - rev: 6.0.0 + rev: 7.1.1 hooks: - id: flake8 additional_dependencies: From 1bde65f1fc34c15b03af635080f68adbab0f3bf0 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Thu, 31 Oct 2024 11:53:45 -0400 Subject: [PATCH 08/11] test: 3.12 should be available on conda now --- test/test_install.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/test/test_install.py b/test/test_install.py index a53700d..3354320 100644 --- a/test/test_install.py +++ b/test/test_install.py @@ -60,10 +60,6 @@ def test_install_miniconda(tmp_path: Path) -> None: ) -@pytest.mark.skipif( - sys.version_info[:2] == (3, 12), - reason="Python 3.12 not yet available on Conda", -) @pytest.mark.miniconda def test_install_miniconda_python_match(tmp_path: Path) -> None: miniconda_path = tmp_path / "conda" From 51ad680a121bedc9f889df387e712ebd203ecf3c Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Thu, 31 Oct 2024 12:04:28 -0400 Subject: [PATCH 09/11] ci(appveyor): switch to use venv not virtualenv Unclear yet what was the point for that last "ln -s" for VIRTUAL_ENV yet to see what would happen --- .appveyor.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 5f7e07a..76b047f 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -62,7 +62,7 @@ environment: - ID: Ubu22 APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2204 PY: 3.10 - INSTALL_SYSPKGS: libffi7 python3-virtualenv + INSTALL_SYSPKGS: libffi7 python3-venv # system git-annex is way too old, use better one INSTALL_GITANNEX: git-annex -m deb-url --url http://snapshot.debian.org/archive/debian/20201228T023115Z/pool/main/g/git-annex/git-annex_8.20201127-1_amd64.deb # Windows core tests @@ -97,7 +97,7 @@ environment: - ID: Ubu20P39 PY: 3.9 APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2004 - INSTALL_SYSPKGS: python3-virtualenv + INSTALL_SYSPKGS: python3-venv # system git-annex is way too old, use better one INSTALL_GITANNEX: git-annex -m deb-url --url http://snapshot.debian.org/archive/debian/20201228T023115Z/pool/main/g/git-annex/git-annex_8.20201127-1_amd64.deb @@ -138,7 +138,7 @@ install: # https://help.appveyor.com/discussions/problems/28217-appveyor-ubunu-image-with-python3-lzma-module # Otherwise create a virtualenv using the default Python 3, to enable uniform # use of python/pip executables below - - sh: "[ \"x$PY\" != x ] && . ${HOME}/venv${PY}/bin/activate || virtualenv -p 3 ${HOME}/dlvenv && . ${HOME}/dlvenv/bin/activate; ln -s \"$VIRTUAL_ENV\" \"${HOME}/VENV\"" + - sh: "[ \"x$PY\" != x ] && . ${HOME}/venv${PY}/bin/activate || python${PY} -m venv ${HOME}/dlvenv && . ${HOME}/dlvenv/bin/activate; ln -s \"$VIRTUAL_ENV\" \"${HOME}/VENV\"" - cmd: "set PATH=C:\\Python%PY%;C:\\Python%PY%\\Scripts;%PATH%" # Missing system software - sh: "[ -n \"$INSTALL_SYSPKGS\" ] && ( [ \"x${APPVEYOR_BUILD_WORKER_IMAGE}\" = \"xmacos-monterey\" ] && brew install -q ${INSTALL_SYSPKGS} || { sudo apt-get update; sudo apt-get install --no-install-recommends -y ${INSTALL_SYSPKGS} ; } ) || true" From 82d869a09b08a1578b685c969e705d4b84a34078 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Thu, 31 Oct 2024 12:07:50 -0400 Subject: [PATCH 10/11] ci(appveyor): give more descriptive names to Mac matrix runs, remove identical, test one against datalad/packages way Unclear why there were 3 identical! interestingly some did time out with brew installation of annex, some succeeded. So I guess it would remain flaky --- .appveyor.yml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 76b047f..259793c 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -80,18 +80,16 @@ environment: #INSTALL_GITANNEX: git-annex=8.20201129 INSTALL_GITANNEX: git-annex - - ID: MacP310a1 + - ID: MacP310-default APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey PY: 3.10 + # ATM default is brew INSTALL_GITANNEX: git-annex - - ID: MacP310a2 - APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey - PY: 3.10 - INSTALL_GITANNEX: git-annex - - ID: MacP310a3 + + - ID: MacP310-packages APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey PY: 3.10 - INSTALL_GITANNEX: git-annex + INSTALL_GITANNEX: git-annex -m datalad/packages # Test alternative Python versions - ID: Ubu20P39 From a02da848c013b72b0e59bf40c21ec49f5377557b Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Thu, 31 Oct 2024 16:15:16 -0400 Subject: [PATCH 11/11] Remove one more degenerate Mac matrix from appveyor --- .appveyor.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 259793c..8d90172 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -72,14 +72,6 @@ environment: PY: 39-x64 INSTALL_GITANNEX: git-annex -m datalad/packages # MacOS core tests - - ID: MacP310core - APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey - PY: 3.10 - # does not give a functional installation - # INSTALL_GITANNEX: git-annex -m snapshot - #INSTALL_GITANNEX: git-annex=8.20201129 - INSTALL_GITANNEX: git-annex - - ID: MacP310-default APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey PY: 3.10