From f0a52dcc8a68ae552e1bc0d96ed56ca159f67844 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Kundr=C3=A1t?= Date: Wed, 15 Nov 2023 19:37:20 +0100 Subject: [PATCH 1/5] tests: upgrade pandas There are no binary wheels for Python 3.12 prior to pandas v2.1.1. Our previous pin requested the 1.x branch, and that resulted in building Pandas from source, which takes time. We cannot pin to 2.1.1 because they removed support of Python 3.8 in 2.1, so 2.0.3 it is. Change-Id: Ia9a567e54f4dda19a0a6b67d0c295a9a079892de --- tests/requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/requirements.txt b/tests/requirements.txt index 40ada4177..86b021aeb 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1,6 +1,7 @@ build>=0.10.0,<1 pytest>=6.2.5,<7 -pandas>=1.3.5,<2 +# pandas 2.1 removed support for Python 3.8 +pandas>=2.0.3,<3 # flake v6 killed the --diff option flake8>=5.0.4,<6 From 7e0b95bcfde4133027b1e558321af7140df291d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Kundr=C3=A1t?= Date: Wed, 15 Nov 2023 19:33:46 +0100 Subject: [PATCH 2/5] Bump all dependencies Change-Id: Id08b7722880b992b1bb70f53ad243d4f40ffe387 --- requirements.txt | 15 ++++++++++----- tests/requirements.txt | 4 ++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/requirements.txt b/requirements.txt index d1a509f9a..1c7a0043e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,11 @@ -matplotlib>=3.5.1,<4 -networkx>=2.6,<3 -numpy>=1.22.0,<2 -pbr>=5.7.0,<6 -scipy>=1.7.3,<2 +# matplotlib 3.8 removed support for Python 3.8 +matplotlib>=3.7.3,<4 +# networkx 3.2 removed support for Python 3.8 +networkx>=3.1,<4 +# numpy 1.25 removed support for Python 3.8 +numpy>=1.24.4,<2 +pbr>=6.0.0,<7 +# scipy 1.11 removed support for Python 3.8 +scipy>=1.10.1,<2 +# xlrd 2.x removed support for .xlsx, it's only .xls now xlrd>=1.2.0,<2 diff --git a/tests/requirements.txt b/tests/requirements.txt index 86b021aeb..72676e39d 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1,5 +1,5 @@ -build>=0.10.0,<1 -pytest>=6.2.5,<7 +build>=1.0.3,<2 +pytest>=7.4.3,<8 # pandas 2.1 removed support for Python 3.8 pandas>=2.0.3,<3 From 2b25609255bbead016b821e127800b71a9a9deec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Kundr=C3=A1t?= Date: Wed, 15 Nov 2023 17:43:38 +0100 Subject: [PATCH 3/5] CI: test on Python 3.12 and some new platforms Change-Id: Ice5c3ca21245c4ac87cb2bf4f0fd062596615a2e --- .github/workflows/main.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 12baa5560..48cb44383 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -29,7 +29,8 @@ jobs: - py38 - py39 - py310 - - py311-cover + - py311 + - py312-cover include: - tox_env: docs dnf_install: graphviz @@ -46,7 +47,7 @@ jobs: - uses: actions/setup-python@v4 name: Install Python with: - python-version: '3.11' + python-version: '3.12' - uses: casperdcl/deploy-pypi@bb869aafd89f657ceaafe9561d3b5584766c0f95 with: password: ${{ secrets.PYPI_API_TOKEN }} @@ -116,5 +117,9 @@ jobs: python_version: "3.10" - os: windows-2022 python_version: "3.11" + - os: windows-2022 + python_version: "3.12" - os: macos-12 python_version: "3.11" + - os: macos-13 + python_version: "3.12" From 86a39f4b5e86fc5d49f1b2991bb97a51933e6ca5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Kundr=C3=A1t?= Date: Wed, 15 Nov 2023 17:43:42 +0100 Subject: [PATCH 4/5] packaging: mark Python 3.12 as supported Change-Id: If3c8ea7d5a7651b71379a71e5dfde6b464aa5b4a --- setup.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.cfg b/setup.cfg index 86cb51cc5..029ddf53d 100644 --- a/setup.cfg +++ b/setup.cfg @@ -23,6 +23,7 @@ classifier = Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 + Programming Language :: Python :: 3.12 Programming Language :: Python :: Implementation :: CPython Topic :: Scientific/Engineering Topic :: Scientific/Engineering :: Physics From 05500c7047fda358132e20937b52374c7a022ebd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Kundr=C3=A1t?= Date: Wed, 15 Nov 2023 20:28:29 +0100 Subject: [PATCH 5/5] CI: run tests on Apple M1 CPUs as well (64bit ARM) Note that on GitHub, this currently targets a "runner" that's behind a paywall. TIP does have a payment setup in place AFAICT, so we make sure that this job does not run on forks. Change-Id: I50c556424d86a1ce47e59911b9e39f336df34ce5 --- .github/workflows/main.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 48cb44383..4081d0420 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -123,3 +123,25 @@ jobs: python_version: "3.11" - os: macos-13 python_version: "3.12" + + paywalled-platforms: + name: Tests on paywalled platforms + if: github.repository_owner == 'Telecominfraproject' + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python_version }} + - run: | + pip install -r tests/requirements.txt + pip install --editable . + pytest -vv + strategy: + fail-fast: false + matrix: + include: + - os: macos-13-xlarge # Apple M1 CPU + python_version: "3.12"