From e36373743d01c005d4879e87d4158a24bb979c5a Mon Sep 17 00:00:00 2001 From: Jon Duckworth Date: Tue, 25 Jan 2022 20:31:03 -0500 Subject: [PATCH 1/6] Add Python 3.11 to CI test matrix --- .github/workflows/continuous-integration.yml | 8 +++++--- setup.py | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index e8242c54d..4effa9a0d 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -23,6 +23,7 @@ jobs: - "3.8" - "3.9" - "3.10" + - "3.11.0-alpha.4" os: - ubuntu-latest - windows-latest @@ -37,9 +38,9 @@ jobs: python-version: ${{ matrix.python-version }} - uses: actions-rs/toolchain@v1 - # Wheels for orjson on Python 3.10 are still spotty on MacOS or Windows. This sets up the Rust - # toolchain so we can build the orjson wheel. - if: ${{ startsWith(matrix.python-version, '3.10')}} + # Wheels for orjson are not available for Python 3.11. This sets up the Rust + # toolchain so we can build orjson wheel from source. + if: ${{ startsWith(matrix.python-version, '3.11')}} with: toolchain: stable override: true @@ -140,6 +141,7 @@ jobs: - "3.8" - "3.9" - "3.10" + - "3.11.0-alpha.4" steps: - uses: actions/checkout@v2 diff --git a/setup.py b/setup.py index 55ee618c5..8da28352d 100644 --- a/setup.py +++ b/setup.py @@ -42,6 +42,7 @@ "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11" ], project_urls={ "Tracker": "https://github.com/stac-utils/pystac/issues", From cb9217a0d14b982107efc7eb467411b485ce6032 Mon Sep 17 00:00:00 2001 From: Jon Duckworth Date: Tue, 25 Jan 2022 20:31:29 -0500 Subject: [PATCH 2/6] Add not on Python 3.11 support to README --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 64141dc13..66e5929a3 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,8 @@ Note that while we support Python 3.10.\*, wheels for the `orjson` library are n platforms. If you install PySTAC with the `orjson` extra, you may need to have the Rust toolchain installed (e.g. via [rustup](https://rustup.rs/)) in order to build the package from source. +Support for Python 3.11 should be considered experimental until further notice. + PySTAC has a single required dependency (`python-dateutil`). PySTAC can be installed from pip or the source repository. From 064122ea630c7c7658d62f8eee4930d809710cf6 Mon Sep 17 00:00:00 2001 From: Jon Duckworth Date: Tue, 25 Jan 2022 20:35:50 -0500 Subject: [PATCH 3/6] Add CHANGELOG entry for #731 --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d05ce5dff..87a21c370 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ ### Added +- Experimental support for Python 3.11 ([#731](https://github.com/stac-utils/pystac/pull/731)) + ### Removed ### Changed From fe8c8a57e2e5325158ec95922923801303006c49 Mon Sep 17 00:00:00 2001 From: Jon Duckworth Date: Tue, 25 Jan 2022 20:37:38 -0500 Subject: [PATCH 4/6] Test on Python 3.11.0-alpha.3 for Windows support --- .github/workflows/continuous-integration.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 4effa9a0d..d81759016 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -23,7 +23,7 @@ jobs: - "3.8" - "3.9" - "3.10" - - "3.11.0-alpha.4" + - "3.11.0-alpha.3" os: - ubuntu-latest - windows-latest @@ -141,7 +141,7 @@ jobs: - "3.8" - "3.9" - "3.10" - - "3.11.0-alpha.4" + - "3.11.0-alpha.3" steps: - uses: actions/checkout@v2 From 165cda80baad9007c92046dcd2b4af4e1efcf9ad Mon Sep 17 00:00:00 2001 From: Jon Duckworth Date: Tue, 25 Jan 2022 20:39:24 -0500 Subject: [PATCH 5/6] Fix lint error --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 8da28352d..1bc077b2e 100644 --- a/setup.py +++ b/setup.py @@ -42,7 +42,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.11", ], project_urls={ "Tracker": "https://github.com/stac-utils/pystac/issues", From ded1e80108ac3442c1ee030edfc43de5597b3d78 Mon Sep 17 00:00:00 2001 From: Jon Duckworth Date: Wed, 26 Jan 2022 09:33:33 -0500 Subject: [PATCH 6/6] Allow CI to pass for experimental failures --- .github/workflows/continuous-integration.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index d81759016..31ceb6e30 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -14,6 +14,7 @@ jobs: test: name: test runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.experimental }} strategy: # Allow other matrix jobs to complete if 1 fails fail-fast: false @@ -23,11 +24,20 @@ jobs: - "3.8" - "3.9" - "3.10" - - "3.11.0-alpha.3" os: - ubuntu-latest - windows-latest - macos-latest + include: + - python-version: "3.11.0-alpha.3" + os: ubuntu-latest + experimental: true + - python-version: "3.11.0-alpha.3" + os: windows-latest + experimental: true + - python-version: "3.11.0-alpha.3" + os: macos-latest + experimental: true steps: - uses: actions/checkout@v2