From 46913ef94f190ae626ea44cd4bbb0a86ca9de468 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Mon, 3 Mar 2025 12:58:00 +0100 Subject: [PATCH 1/5] CI: drop python 3.9, numpy 1.21 --- .github/workflows/array-api-tests-numpy-1-21.yml | 11 ----------- .github/workflows/array-api-tests.yml | 3 ++- 2 files changed, 2 insertions(+), 12 deletions(-) delete mode 100644 .github/workflows/array-api-tests-numpy-1-21.yml diff --git a/.github/workflows/array-api-tests-numpy-1-21.yml b/.github/workflows/array-api-tests-numpy-1-21.yml deleted file mode 100644 index 2d81c3cd..00000000 --- a/.github/workflows/array-api-tests-numpy-1-21.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: Array API Tests (NumPy 1.21) - -on: [push, pull_request] - -jobs: - array-api-tests-numpy-1-21: - uses: ./.github/workflows/array-api-tests.yml - with: - package-name: numpy - package-version: '== 1.21.*' - xfails-file-extra: '-1-21' diff --git a/.github/workflows/array-api-tests.yml b/.github/workflows/array-api-tests.yml index 6ace193a..4873e23c 100644 --- a/.github/workflows/array-api-tests.yml +++ b/.github/workflows/array-api-tests.yml @@ -42,7 +42,8 @@ jobs: matrix: # Min version of dask we need dropped support for Python 3.9 # There is no numpy git tip for Python 3.9 or 3.10 - python-version: ${{ (inputs.package-name == 'dask' && fromJson('[''3.10'', ''3.11'', ''3.12'']')) || (inputs.package-name == 'numpy' && inputs.xfails-file-extra == '-dev' && fromJson('[''3.11'', ''3.12'']')) || fromJson('[''3.9'', ''3.10'', ''3.11'', ''3.12'']') }} +# python-version: ${{ (inputs.package-name == 'dask' && fromJson('[''3.10'', ''3.11'', ''3.12'']')) || (inputs.package-name == 'numpy' && inputs.xfails-file-extra == '-dev' && fromJson('[''3.11'', ''3.12'']')) || fromJson('[''3.9'', ''3.10'', ''3.11'', ''3.12'']') }} + python-version: ['3.10', '3.11', '3.12'] steps: - name: Checkout array-api-compat From 6e1502c00f60b0064005c3e34cb4bc23745f77cb Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Mon, 3 Mar 2025 13:10:59 +0100 Subject: [PATCH 2/5] CI: drop python 3.10, add python 3.13 --- .github/workflows/array-api-tests.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/array-api-tests.yml b/.github/workflows/array-api-tests.yml index 4873e23c..0b704d56 100644 --- a/.github/workflows/array-api-tests.yml +++ b/.github/workflows/array-api-tests.yml @@ -43,7 +43,7 @@ jobs: # Min version of dask we need dropped support for Python 3.9 # There is no numpy git tip for Python 3.9 or 3.10 # python-version: ${{ (inputs.package-name == 'dask' && fromJson('[''3.10'', ''3.11'', ''3.12'']')) || (inputs.package-name == 'numpy' && inputs.xfails-file-extra == '-dev' && fromJson('[''3.11'', ''3.12'']')) || fromJson('[''3.9'', ''3.10'', ''3.11'', ''3.12'']') }} - python-version: ['3.10', '3.11', '3.12'] + python-version: ['3.11', '3.12', '3.13'] steps: - name: Checkout array-api-compat @@ -66,15 +66,15 @@ jobs: run: | echo "${{ inputs.extra-env-vars }}" >> $GITHUB_ENV - name: Install dependencies - # NumPy 1.21 doesn't support Python 3.11. There doesn't seem to be a way - # to put this in the numpy 1.21 config file. - if: "! ((matrix.python-version == '3.11' || matrix.python-version == '3.12') && inputs.package-name == 'numpy' && contains(inputs.package-version, '1.21'))" + # NumPy 1.26 doesn't support Python 3.13. There doesn't seem to be a way + # to put this in the numpy 1.26 config file. + if: "! (matrix.python-version == '3.13' && inputs.package-name == 'numpy' && contains(inputs.package-version, '1.26'))" run: | python -m pip install --upgrade pip python -m pip install '${{ inputs.package-name }} ${{ inputs.package-version }}' ${{ inputs.extra-requires }} python -m pip install -r ${GITHUB_WORKSPACE}/array-api-tests/requirements.txt - name: Run the array API testsuite (${{ inputs.package-name }}) - if: "! ((matrix.python-version == '3.11' || matrix.python-version == '3.12') && inputs.package-name == 'numpy' && contains(inputs.package-version, '1.21'))" + if: "! (matrix.python-version == '3.13' && inputs.package-name == 'numpy' && contains(inputs.package-version, '1.26'))" env: ARRAY_API_TESTS_MODULE: array_api_compat.${{ inputs.module-name || inputs.package-name }} ARRAY_API_TESTS_VERSION: 2024.12 From d0ef320c6f4b28b986001d58fd6bf96539f2f171 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Mon, 3 Mar 2025 13:19:56 +0100 Subject: [PATCH 3/5] CI: trim self-tests Drop python 3.9 and 3.10, drop numpy 1.21 Not adding python 3.13 because ndonnx only supports 3.12 at the moment. --- .github/workflows/array-api-tests.yml | 3 --- .github/workflows/tests.yml | 20 ++++++-------------- 2 files changed, 6 insertions(+), 17 deletions(-) diff --git a/.github/workflows/array-api-tests.yml b/.github/workflows/array-api-tests.yml index 0b704d56..75fea1f1 100644 --- a/.github/workflows/array-api-tests.yml +++ b/.github/workflows/array-api-tests.yml @@ -40,9 +40,6 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - # Min version of dask we need dropped support for Python 3.9 - # There is no numpy git tip for Python 3.9 or 3.10 -# python-version: ${{ (inputs.package-name == 'dask' && fromJson('[''3.10'', ''3.11'', ''3.12'']')) || (inputs.package-name == 'numpy' && inputs.xfails-file-extra == '-dev' && fromJson('[''3.11'', ''3.12'']')) || fromJson('[''3.9'', ''3.10'', ''3.11'', ''3.12'']') }} python-version: ['3.11', '3.12', '3.13'] steps: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index fcd43367..5df741d6 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -5,13 +5,11 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.9', '3.10', '3.11', '3.12'] - numpy-version: ['1.21', '1.26', '2.0', 'dev'] + python-version: ['3.11', '3.12'] + numpy-version: ['1.26', 'latest', 'dev'] exclude: - - python-version: '3.11' - numpy-version: '1.21' - - python-version: '3.12' - numpy-version: '1.21' + - python-version: '3.13' + numpy-version: '1.26' fail-fast: true steps: - uses: actions/checkout@v4 @@ -23,21 +21,15 @@ jobs: python -m pip install --upgrade pip if [ "${{ matrix.numpy-version }}" == "dev" ]; then PIP_EXTRA='numpy --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple' - elif [ "${{ matrix.numpy-version }}" == "1.21" ]; then - PIP_EXTRA='numpy==1.21.*' - else + elif [ "${{ matrix.numpy-version }}" == "1.26" ]; then PIP_EXTRA='numpy==1.26.*' fi - if [ "${{ matrix.python-version }}" == "3.9" ]; then - sed -i '/^ndonnx/d' requirements-dev.txt - fi - python -m pip install -r requirements-dev.txt $PIP_EXTRA - name: Run Tests run: | - if [[ "${{ matrix.numpy-version }}" == "1.21" || "${{ matrix.numpy-version }}" == "dev" ]]; then + if [[ "${{ matrix.numpy-version }}" == "dev" ]]; then PYTEST_EXTRA=(-k "numpy and not jax and not torch and not dask and not sparse") fi pytest -v "${PYTEST_EXTRA[@]}" From e5da2ca0a7e935f1f80b5796f3242de98f63192a Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sun, 23 Mar 2025 10:28:26 +0100 Subject: [PATCH 4/5] CI: test with python 3.10 --- .github/workflows/array-api-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/array-api-tests.yml b/.github/workflows/array-api-tests.yml index 75fea1f1..88c5961b 100644 --- a/.github/workflows/array-api-tests.yml +++ b/.github/workflows/array-api-tests.yml @@ -40,7 +40,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.11', '3.12', '3.13'] + python-version: ['3.10', '3.12', '3.13'] steps: - name: Checkout array-api-compat From 3587115099516da92566bbf9cb3d47b951cad6a8 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski Date: Sun, 23 Mar 2025 10:39:17 +0100 Subject: [PATCH 5/5] CI: Use python 3.10 in self-tests, too --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 5df741d6..c007075a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -5,7 +5,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.11', '3.12'] + python-version: ['3.10', '3.12'] numpy-version: ['1.26', 'latest', 'dev'] exclude: - python-version: '3.13'