-
Notifications
You must be signed in to change notification settings - Fork 85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update CI and workflows for Python 3.12 support #1757
Conversation
@@ -5,7 +5,7 @@ on: | |||
- workflow_dispatch | |||
|
|||
env: | |||
# Temporary workaround prior to release of Traits 8.0 | |||
# Temporary workaround prior to release of TraitsUI 8.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Drive-by fix while we're touching this file, unrelated to the rest of the PR.
This is now ready for review. |
@@ -21,6 +21,7 @@ jobs: | |||
uses: actions/setup-python@v4 | |||
with: | |||
python-version: ${{ matrix.python-version }} | |||
allow-prereleases: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This allows setup-python to install a Python 3.12 pre-release, and avoids the need to change these workflows again once Python 3.12.0 is released.
@@ -1,5 +1,5 @@ | |||
[build-system] | |||
requires = ['setuptools<65.2', 'wheel'] | |||
requires = ['setuptools', 'wheel'] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Older versions of setuptools break with Python 3.12, so it was necessary to remove this restriction.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with one minor question/clarification
@@ -1,5 +1,5 @@ | |||
[build-system] | |||
requires = ['setuptools<65.2', 'wheel'] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I should be able to verify that the original issue (#1722) got resolved by simply creating an edm environment and pip installing traits locally?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, I missed this. Yes, that should work.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And FWIW, it works for me locally:
mdickinson@mirzakhani traits % edm shell -e bob
Starting new shell in EDM environment 'bob'.
Type 'exit' or 'Ctrl+D' to return.
mdickinson@mirzakhani traits % pip install .
Processing /Users/mdickinson/Enthought/ETS/traits
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: traits
Building wheel for traits (pyproject.toml) ... done
Created wheel for traits: filename=traits-7.0.0.dev1851-cp38-cp38-macosx_10_14_x86_64.whl size=5035351 sha256=cbd45aee56f93007374dcb2c7330d9f1707f852c1a1add1b90cfbda84db196e4
Stored in directory: /private/var/folders/07/jbbjv8b53bs5y9xyjdyn1zgw0000gn/T/pip-ephem-wheel-cache-1i0m0er8/wheels/80/64/db/3f6e4e87e7ce87ed7ce15857cd598e38271c06a101e37b45bb
Successfully built traits
Installing collected packages: traits
Successfully installed traits-7.0.0.dev1851
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yep yep it worked for me locally on python 3.11.4 edm
Python 3.12 is imminent. This is an experimental PR to add Python 3.12 support:
Making this as a draft PR for now, since the possible failure modes are many and varied.