From 7c5c4863f25ef8f9ff144eb3133a0c5f3595a98d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Szczepanik?= Date: Wed, 24 Apr 2024 16:37:25 +0200 Subject: [PATCH 1/4] Bump the Python version used for macOS tests to 3.11 Our jobs use macos-latest, which as of yesterday (?) started provisioning macOS 14 on arm64 (M1), and the setup-python action does not provide 3.7 for that OS version - it looks like 3.11 is the earliest available. Python 3.7 is well past its EOL anyway. Fixes #7584 --- .github/workflows/test_macos.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test_macos.yml b/.github/workflows/test_macos.yml index 5cbbf54bbc..6aca13d754 100644 --- a/.github/workflows/test_macos.yml +++ b/.github/workflows/test_macos.yml @@ -25,10 +25,10 @@ jobs: with: fetch-depth: 0 - - name: Set up Python 3.7 + - name: Set up Python 3.11 uses: actions/setup-python@v5 with: - python-version: 3.7 + python-version: 3.11 - name: Install git-annex run: | From f1ea4a25e6f092e90b1093e3c6df8623d515f76c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Szczepanik?= Date: Wed, 24 Apr 2024 18:00:46 +0200 Subject: [PATCH 2/4] Update GitHub actions to use Python 3.8 Python 3.7 is long past its EOL now. We still officially support it (python_requires>=3.7 in setup.py) but I feel a change there is overdue, too. The test_extensions workflow was updated in 3378d713b and test_macos in 7ccd7b043 as they started showing problems. This commit changes the remaining GitHub workflows which use the setup-python action to also use 3.8. Related to #7400 --- .github/workflows/benchmarks.yml | 4 ++-- .github/workflows/docbuild.yml | 4 ++-- .github/workflows/lint.yml | 2 +- .github/workflows/test_crippled.yml | 4 ++-- .github/workflows/typing.yml | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml index e812ffc4c0..2a383ddc2d 100644 --- a/.github/workflows/benchmarks.yml +++ b/.github/workflows/benchmarks.yml @@ -26,10 +26,10 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Set up Python 3.7 + - name: Set up Python 3.8 uses: actions/setup-python@v5 with: - python-version: 3.7 + python-version: 3.8 - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/docbuild.yml b/.github/workflows/docbuild.yml index 15ccb143de..8d76588157 100644 --- a/.github/workflows/docbuild.yml +++ b/.github/workflows/docbuild.yml @@ -13,10 +13,10 @@ jobs: git config --global user.email "test@github.land" git config --global user.name "GitHub Almighty" - uses: actions/checkout@v4 - - name: Set up Python 3.7 + - name: Set up Python 3.8 uses: actions/setup-python@v5 with: - python-version: 3.7 + python-version: 3.8 - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index b621d833e7..a0179600a5 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -16,7 +16,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: '3.7' + python-version: '3.8' - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/test_crippled.yml b/.github/workflows/test_crippled.yml index 8143ee67cf..a75773b475 100644 --- a/.github/workflows/test_crippled.yml +++ b/.github/workflows/test_crippled.yml @@ -30,10 +30,10 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Set up Python 3.7 + - name: Set up Python 3.8 uses: actions/setup-python@v5 with: - python-version: 3.7 + python-version: 3.8 - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/typing.yml b/.github/workflows/typing.yml index 0d101287f9..5c47ffe3ea 100644 --- a/.github/workflows/typing.yml +++ b/.github/workflows/typing.yml @@ -21,7 +21,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: '3.7' + python-version: '3.8' - name: Install dependencies run: | From 90ace3fe1188615bb812b58549178ca1754abedc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Szczepanik?= Date: Wed, 24 Apr 2024 18:34:06 +0200 Subject: [PATCH 3/4] Replace Python 3.7 with 3.11 on Appveyor This changes the tests labelled as "Test alternative Python version" from Python 3.7 to 3.11. A move to 3.8 would sound logical, but... if I'm seeing correctly, the only difference between Ubu20P37a & Ubu20P37b versus Ubu20core and Ubu20a1 is that the former had "PY: 3.7", while the latter did not set PY at all. And if I'm reading the logs of the latest Appveyor run correctly, Ubu20core & Ubu20a1 run on Python 3.8.10. I cound not find confirmation that this is the default, but it seems to be. An alternative would be to set PY for Ubu20core & Ubu20a1 to the newest supported (3.11) and use the other two to test oldest supported (3.8). But maybe appveyor tends to stay on the lowest non-EOL version when PY is not specified, in which case the current setup would be preferred (just a guess - couldn't find confirmation)? Related to #7400 --- .appveyor.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 0183363001..66cc0ca257 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -168,9 +168,9 @@ environment: CODECOV_BINARY: https://uploader.codecov.io/latest/macos/codecov # Test alternative Python versions - - ID: Ubu20P37a + - ID: Ubu20P311a # ~35min - PY: 3.7 + PY: 3.11 DTS: > datalad.cli datalad.core @@ -183,9 +183,9 @@ environment: CODECOV_BINARY: https://uploader.codecov.io/latest/linux/codecov # system git-annex is way too old, use better one INSTALL_GITANNEX: git-annex -m deb-url --url https://datasets.datalad.org/datalad/packages/neurodebian/git-annex_8.20210903-1_amd64.deb - - ID: Ubu20P37b + - ID: Ubu20P311b # ~25min - PY: 3.7 + PY: 3.11 DTS: > datalad.downloaders datalad.interface From 27e703ea1062ba0b3d0d418ab7c913bf189648cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Szczepanik?= Date: Wed, 24 Apr 2024 18:53:39 +0200 Subject: [PATCH 4/4] Add changelog snippet for test setup update --- changelog.d/pr-7585.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 changelog.d/pr-7585.md diff --git a/changelog.d/pr-7585.md b/changelog.d/pr-7585.md new file mode 100644 index 0000000000..10a37e0d41 --- /dev/null +++ b/changelog.d/pr-7585.md @@ -0,0 +1,7 @@ +### 🧪 Tests + +- Stop testing on Python 3.7. Switch MacOS tests to 3.11, include 3.11 + in Appveyor, and use 3.8 for other tests. + Fixes [#7584](https://github.com/datalad/datalad/issues/7584) + via [PR #7585](https://github.com/datalad/datalad/pull/7585) + (by [@mslw](https://github.com/mslw))