ci: bump CI to Python 3.11 and refresh deprecated GitHub Actions#788
ci: bump CI to Python 3.11 and refresh deprecated GitHub Actions#788SarthakB11 wants to merge 3 commits into
Conversation
Python 3.8 reached EOL on 2024-10-07. actions/checkout@v3, actions/setup-python@v4, and actions/setup-node@v3 still pull the deprecated Node 16 runner that GitHub started flagging across all repos. - .github/workflows/lint-check.yml: checkout@v3 -> @v4, setup-python@v4 -> @v5 with python-version 3.11, setup-node@v3 -> @v4. - .github/workflows/integration-tests.yml: checkout@v3 -> @v4. - src/api-engine/tox.ini: envlist and [gh-actions] map updated from py38 to py311. Django 4.2 LTS supports 3.10/3.11/3.12; 3.11 sits in the middle of the supported range. Existing requirements.txt deps (Django 4.2.16, DRF 3.15.2, cryptography 45.0.6) all support 3.11. Closes hyperledger-cello#787 Signed-off-by: SarthakB11 <sarthak.bhardwaj21b@iiitg.ac.in>
There was a problem hiding this comment.
Pull request overview
Updates the repository CI configuration to run linting/tox under Python 3.11 and to use current major versions of commonly used GitHub Actions, avoiding deprecated Node 16-based action runtimes.
Changes:
- Bumped
actions/checkouttov4in lint and integration test workflows. - Bumped
actions/setup-pythontov5and updated the lint job to use Python3.11. - Updated
src/api-engine/tox.inito runpy311(and map GitHub Actions’ Python3.11topy311viatox-gh-actions).
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
.github/workflows/lint-check.yml |
Updates checkout/setup actions and moves lint CI to Python 3.11. |
.github/workflows/integration-tests.yml |
Updates checkout action to the current major version. |
src/api-engine/tox.ini |
Switches tox envlist and GH Actions mapping from py38 to py311. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
YoungHypo
left a comment
There was a problem hiding this comment.
LGTM. One follow-up: the runtime image is still pinned to Python 3.8 in the api-engine Dockerfile. We should upgrade that as well
Follow-up to @YoungHypo review on hyperledger-cello#788: align the api-engine runtime image with the lint/test workflow now running on Python 3.11. The Dockerfile is the only remaining 3.8 pin in src/api-engine after the CI bump. Signed-off-by: SarthakB11 <sarthak.bhardwaj21b@iiitg.ac.in>
|
Done in |
This reverts commit 5bd34b8. Signed-off-by: SarthakB11 <sarthak.bhardwaj21b@iiitg.ac.in>
|
Reverted the Dockerfile bump in f6bfc34. Moving the api-engine runtime to That is a larger dependency-upgrade change than this PR should carry, so I have scoped this PR back to the CI workflow + tox bump (which is what your approval covered). The lint job runs flake8 under 3.11 and does not build the project, so it stays green. Happy to open a separate PR upgrading the api-engine runtime image once the psycopg2/pygraphviz pins are moved forward and tested. |
|
@YoungHypo when you have a moment, this is ready for another look. The Dockerfile bump is reverted (the runtime image needs psycopg2 and pygraphviz pin upgrades before 3.11 can build cleanly, so that's better as a separate PR). The CI workflow + tox bump is what remains. CI runs are pending workflow approval on the revert commit. |
Filing in parallel with the new issue #787. Happy to adjust scope after maintainer review.
Python 3.8 reached EOL on 2024-10-07.
actions/checkout@v3,actions/setup-python@v4, andactions/setup-node@v3still pull the deprecated Node 16 runner that GitHub started flagging across all repos.Changes:
.github/workflows/lint-check.yml:actions/checkout@v3->@v4,actions/setup-python@v4->@v5withpython-version: "3.11",actions/setup-node@v3->@v4..github/workflows/integration-tests.yml:actions/checkout@v3->@v4.src/api-engine/tox.ini:envlistand[gh-actions]map updated frompy38topy311.3.11 is the safest middle of Django 4.2 LTS's supported range (3.10/3.11/3.12).
requirements.txtdependencies (Django 4.2.16, djangorestframework 3.15.2, cryptography 45.0.6) all support 3.11.pygraphviz==1.5in requirements is unrelated here; the lint job only installsflake8, not the project, so it does not affect this workflow.Closes #787.