-
Notifications
You must be signed in to change notification settings - Fork 617
Allow pypy3, pypy3.6 or pypy3.7 syntax #161
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
Conversation
CI is passing |
ping |
Hello @mattip , sorry for delay with reviewing it. We are thinking about more complex solution to provide better PyPy support in this action, like installing versions on-flight if they are not available in cache and etc. I will post some details to https://foss.heptapod.net/pypy/pypy/-/issues/3354. Thank you for your help |
@maxim-lobanov Thanks for responding to this PR. It would be great to see support for pypy3.7 soonish. Recently several of the foundational projects in the scientific Python ecosystem have adopted "Recommend Python and Numpy version support as a community policy standard": https://numpy.org/neps/nep-0029-deprecation_policy.html In particular, we have decided to drop support for Python 3.6. numpy, scipy, matplotlib, scikit-image, networkx, and others have either already dropped support for 3.6 or are in the process. Many of the projects have also started using GH actions for pypy ci testing. Most of the foundational projects provide some level of pypy support (even if we don't advertise it heavily) and we would like to stop testing on 3.6, but continue testing on pypy. If there is anything we can do to help make this happen ASAP, please let us know. |
@jarrodmillman , thank you for feedback.
|
JSON is available at https://downloads.python.org/pypy/versions.json. It includes the latest release. |
That is on purpose. People who want a specific version should specify it. Better to make this clear from now on, when only a few CI users have pypy running than later when it becomes more popular. The other option is to deprecate using only |
@mattip , On the one hand, I agree. I think if we introduce additional field:
it will be clear that 3.x will resolve latest version and customers won't be impacted in future when 3.8, 3.9 are available. We would like to keep input |
Let me publish the full our proposal to be clear: Select CPython (without PyPy)
Select exact PyPy version
Select PyPy version by partial inputs
Select latest version of PyPy
Select latest nightly build of PyPy
Backward compatibility with old inputs
|
How would introducing a second field work with the job matrix? Wouldn't it be simpler to follow the same format PyPy uses for relase numbers, e.g. jobs:
build:
strategy:
fail-fast: false
matrix:
os: [
"ubuntu-latest",
"macOS-latest",
]
python-version: [
"pypy3.x-nightly",
"pypy3.7-v7.3.x",
"pypy3.6-v7.3.x",
"3.10-dev",
"3.9",
"3.8",
"3.7",
"3.6",
]
steps:
- uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }} I'm not even sure what would be an easy way to achieve the same result using the proposed two field approach. |
@nulano , thank you for your proposal.
Extra @mattip , @jarrodmillman , @konradpabjan what do you think about such input format? |
looks good to me |
I like the idea! 🚀 My only minor concern is regarding back-compat with our existing @brcrista any thoughts? |
We've added support for different distributions of PyPy with the latest For available PyPy versions and the new syntax, see: https://github.com/actions/setup-python#specifying-a-pypy-version |
fixes gh-136
This is my first PR so it is probably wrong. For instance, it seems the code in
dist/*
is generated fromsrc/*
?Also: will the versions be "automatically" downloaded into the image if this is accepted or is more work needed in another repo?