Drop Python 3.7 support and fix test workflows#339
Conversation
flongford
left a comment
There was a problem hiding this comment.
LGTM! Just some minor questions for additional context
| if: matrix.os != 'macos-latest' | ||
| - name: Install dependencies and local packages (macOS) | ||
| run: python -m pip install .[preferences] | ||
| # tables currently won't build on Apple Silicon |
There was a problem hiding this comment.
Just for context, I presume our CI tests don't require tables to run, or are the ones that do segregated into a h5-only set?
There was a problem hiding this comment.
Ah, it's the latter I see, based on the test traceback in the macos-latest CI job runs: skipped 'PyTables not available'
There was a problem hiding this comment.
Is it worth making an issue to track this incompatibility, or are we not promising support for cross-platform builds anyway?
There was a problem hiding this comment.
I'm not sure whether it's really worth an issue here - I don't see that there's anything actionable for apptools other than wait until PyTables figures out how to support Apple Silicon. The apptools code should all work the moment that that happens.
The most relevant upstream issue is here: PyTables/PyTables#1165
I should probably at least link to that in the workflow.
There was a problem hiding this comment.
Ah, it's the latter I see
Right: PyTables is in effect an optional dependency. Many of our uses of apptools only care about some other part (e.g., preferences) and don't care about the persistence pieces.
There was a problem hiding this comment.
I'm not sure whether it's really worth an issue here
Okay, I take that back - there is an action to be taken, which is to remove the workaround from our workflows. I'll open issues both for this and for the NumPy 2.0 incompatibility.
| "enthought_sphinx_theme", | ||
| "flake8", | ||
| "flake8_ets", | ||
| "sphinx", |
There was a problem hiding this comment.
Again, just for context, I see that we don't have any CI jobs that build documentation, so are we using Sphinx anywhere?
There was a problem hiding this comment.
We use Sphinx to build docs after making a release, and the current workflow for that is to do it manually via etstool.
There was a problem hiding this comment.
Agreed that we should ideally have a workflow for that.
This PR brings our CI jobs back to working state, and extends them to cover more recent Python versions:
etstool.pyhas been updated to support Python 3.11test-with-pip.ymlworkflow has dropped 3.7 and added 3.12test-with-edm.ymlworkflow has dropped 3.6 and added 3.11dependabot.ymlconfig has been added, just for GitHub ActionsChecklist