-
Notifications
You must be signed in to change notification settings - Fork 99
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
MAINT: add 3.11 test #861
MAINT: add 3.11 test #861
Conversation
An error happened when running on python 3.6 which is similar to what happened in SciMath (enthought/scimath#170) Problem description: Reproduction steps: Expected behavior: OS: Ubuntu 22.04 Python version: 3.6 The tests with other python versions are past though |
matrix: | ||
os: ['ubuntu-latest'] | ||
toolkit: ['pyside6'] | ||
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] |
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.
@mdickinson any preference on which versions to test? Do really want all or should we use 3.8 and 3.11 only?
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 think I'd keep all of them here; this is only testing on Ubuntu with a single toolkit, so we don't have a combinatorial explosion of jobs in the matrix.
We definitely want the extremes (3.7 and 3.11), along with the versions that we care about for EDM (so 3.8). At that point, we could drop 3.9 and 3.10, but I think we should have at least one workflow that exercises the test suite on 3.9 and 3.10, and this one doesn't look like a bad target for that.
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.
Dropping 3.7 from the workflow would be reasonable if we're also dropping 3.7 support for Chaco in general. If that's what we want to do then that seems fine to me - 3.7 EOL is June this year.
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.
@dpinte Ah, sorry; I did miss that there was a second job below that also goes through all combinations. As a compromise, I'd suggest testing on all 5 versions on Ubuntu, but limiting ourselves to 3.8 and 3.11 on Windows and macOS.
.github/workflows/test-with-pypi.yml
Outdated
matrix: | ||
os: ['macos-latest', 'windows-latest'] | ||
toolkit: ['pyside6'] | ||
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] |
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.
Suggest dropping down to just 3.8
and 3.11
for this job.
|
||
jobs: | ||
|
||
# Test against PyPI packages |
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.
What's the rationale for splitting this into two separate jobs?
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.
Do you mean why separate into ubuntu and others? I think the installation command is different (sudo apt-get install), also we might want to test with different python versions on different platforms.
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.
Yes, that's what I meant. There are trade-offs here; on one hand, having two separate jobs that do the same thing is a bit of a violation of DRY. On the other hand, it may make sense if there are sufficient differences. I leave it to you.
For the apt-get instructions, it's easy to make that step conditional so that it only runs on Ubuntu systems.
testing procedure: chaco/examples/demo/: chaco/examples/tutorials/: chaco/examples/user_guide/: |
You probably should be doing |
Hi Corran: thanks for the advice. Could you give an example of what should be in the ".[examples]"? This repositery for instance |
Full results updated in https://docs.google.com/spreadsheets/d/1R_HF86YJybiSqOLplDsk7-UiTmNJvdX4z3OjzW8Q6hQ/edit#gid=381404102 (add 120ish more tests) |
sudo apt-get install libxcb-randr0 | ||
sudo apt-get install libxcb-render-util0 | ||
sudo apt-get install libxcb-xinerama0 | ||
sudo apt-get install libxcb-shape0 |
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.
With the release of PySide 6.5, this will need this as well:
sudo apt-get install libxcb-cursor0
Closing in favour of #891 |
With new python tests, we also want to test and make sure all examples can work in 3.11. Since 3.11 is not available in EDM, pypi is tested. closes #860