8000 [devel] Add `python_requires = >= 3.8` by hswong3i · Pull Request #1206 · ansible/ansible-runner · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

[devel] Add python_requires = >= 3.8 #1206

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

Merged
merged 1 commit into from
Mar 2, 2023

Conversation

hswong3i
Copy link
Contributor
@hswong3i hswong3i commented Mar 2, 2023

Fixes #1205

@hswong3i hswong3i requested a review from a team as a code owner March 2, 2023 14:14
@github-actions github-actions bot added the needs_triage New item that needs to be triaged label Mar 2, 2023
hswong3i added a commit to alvistack/ansible-ansible-runner that referenced this pull request Mar 2, 2023
    git clean -xdf
    tar zcvf ../python-ansible-runner_2.3.2.orig.tar.gz --exclude=.git .
    debuild -uc -us
    cp python-ansible-runner.spec ../python-ansible-runner_2.3.2-1.spec
    mv ../python*-ansible-runner*2.3.2*.{gz,xz,spec,dsc} /osc/home\:alvistack/ansible-ansible-runner-2.3.2/
    rm -rf ../python*-ansible-runner*2.3.2*.*

See ansible#1206

Signed-off-by: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>
hswong3i added a commit to alvistack/ansible-ansible-runner that referenced this pull request Mar 2, 2023
    git clean -xdf
    tar zcvf ../python-ansible-runner_2.3.0.orig.tar.gz --exclude=.git .
    debuild -uc -us
    cp python-ansible-runner.spec ../python-ansible-runner_2.3.0-1.spec
    mv ../python*-ansible-runner*2.3.0*.{gz,xz,spec,dsc} /osc/home\:alvistack/ansible-ansible-runner-2.3.0/
    rm -rf ../python*-ansible-runner*2.3.0*.*

See ansible#1206

Signed-off-by: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>
hswong3i added a commit to alvistack/ansible-ansible-runner that referenced this pull request Mar 2, 2023
    git clean -xdf
    tar zcvf ../python-ansible-runner_2.3.1.orig.tar.gz --exclude=.git .
    debuild -uc -us
    cp python-ansible-runner.spec ../python-ansible-runner_2.3.1-1.spec
    mv ../python*-ansible-runner*2.3.1*.{gz,xz,spec,dsc} /osc/home\:alvistack/ansible-ansible-runner-2.3.1/
    rm -rf ../python*-ansible-runner*2.3.1*.*

See ansible#1206

Signed-off-by: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>
@Shrews
Copy link
Contributor
Shrews commented Mar 2, 2023

Thanks for the contribution.

@Shrews Shrews merged commit 69e8c1a into ansible:devel Mar 2, 2023
Shrews pushed a commit to Shrews/ansible-runner that referenced this pull request Mar 2, 2023
Shrews pushed a commit to Shrews/ansible-runner that referenced this pull request Mar 2, 2023
@Shrews Shrews removed the needs_triage New item that needs to be triaged label Mar 2, 2023
Shrews added a commit that referenced this pull request Mar 2, 2023
(cherry picked from commit 69e8c1a)

Co-authored-by: Wong Hoi Sing Edison <hswong3i@gmail.com>
Shrews added a commit that referenced this pull request Mar 2, 2023
(cherry picked from commit 69e8c1a)

Co-authored-by: Wong Hoi Sing Edison <hswong3i@gmail.com>
@hswong3i
Copy link
Contributor Author
hswong3i commented Mar 2, 2023

Could we have the corresponding new release(s) which also yarn the legacy version from pypi.org?

Else CentOS 7/8, openSUSE Leap 15.4, Debian 10 and Ubuntu 18.04 will still receive incorrect 2.y.z version though pip install...

@nitzmahone
Copy link
Member
nitzmahone commented Mar 2, 2023

Unfortunately just re-releasing the other versions doesn't help for the unpinned pip install ansible-runner case without yanking every incorrect release (which we can't reasonably do at this point). You'd still have to explicitly constrain to an older x.y version anyway to avoid getting the (incorrect) newer x.y+1 that will appear to be viable for Python 3.6, and if you're going to use a < constraint anyway, there's no additional benefit to updating and re-releasing old packages.

@nitzmahone
Copy link
Member

Oh actually, I forgot they added support for yanking-without-deletion awhile back... So yeah, actually, maybe we can do that.

@nitzmahone
Copy link
Member

... the one caveat to this is that you have to have a new-enough pip that understands yanked releases. I can't remember when they added that, but almost certainly the OS-packaged version of pip included in any OS that shipped with Python 3.6 will not understand yanked releases and happily install the wrong one. But I'm happy to try and clean it up within reason for folks that have a decent pip anyway, since it was definitely "our bad" on that one.

@hswong3i
Copy link
Contributor Author
hswong3i commented Mar 2, 2023

Yes please do so, my OBS repo have latest possible pip for legacy OS, see https://build.opensuse.org/package/show/home:alvistack/pypa-pip-21.3.1

I had also package ansible-runner 1.4.9 for those Python 3.6 legacy OS, and manually patching 2.3.2 with python_requires = >= 3.8, see https://build.opensuse.org/package/show/home:alvistack/ansible-ansible-runner-2.3.2

@nitzmahone
Copy link
Member

I didn't realize how long this had been broken- technically since the origin of the project, but materially since 2.0 bumped the implied minimum Python from 2.7 to 3.8 without adding the packaging metadata. By my count, that's 15 releases as of right now (not including alpha/beta) that would need to be yanked and either 3 or 15 releases that need to be re-packaged with the additional metadata to fix EOL or near-EOL Pythons (that also have a newer pip) finding the right ansible-runner automatically.

I'm committed to making sure this works going forward (including yanking releases in case we forget again), but given that we went 18 months this way without anyone apparently noticing, and the potential (wasted) churn that a bunch of new tags and releases on dead 2.x branches and PyPI could cause, I'm thinking we just have to say "sorry, our bad, we'll do better next time", and that runner 1.x users on dead/dying Pythons will need to do pip install 'ansible-runner<2.0' on their installations.

@hswong3i
Copy link
Contributor Author
hswong3i commented Mar 4, 2023

Python 3.6 is EOL for sure, but CentOS 7/8 are still support release... And people with such OS have no choice to install with pip and now will fail if we don't yark those legacy 2.y.x release.

Technically we could do something better than just a sorry message from document: yark those legacy 2.y.z release, publish new 2.0/2.1/2.2/2.3 release (i.e. 4 releases) to pipy.org, and problem will get fixed for those with new enough pip user.

hswong3i added a commit to alvistack/ansible-ansible-runner that referenced this pull request May 31, 2023
    git clean -xdf
    tar zcvf ../python-ansible-runner_2.3.1.orig.tar.gz --exclude=.git .
    debuild -uc -us
    cp python-ansible-runner.spec ../python-ansible-runner_2.3.1-1.spec
    mv ../python*-ansible-runner*2.3.1*.{gz,xz,spec,dsc} /osc/home\:alvistack/ansible-ansible-runner-2.3.1/
    rm -rf ../python*-ansible-runner*2.3.1*.*

See ansible#1206

Signed-off-by: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>
hswong3i added a commit to alvistack/ansible-ansible-runner that referenced this pull request May 31, 2023
    git clean -xdf
    tar zcvf ../python-ansible-runner_2.3.2.orig.tar.gz --exclude=.git .
    debuild -uc -us
    cp python-ansible-runner.spec ../python-ansible-runner_2.3.2-1.spec
    mv ../python*-ansible-runner*2.3.2*.{gz,xz,spec,dsc} /osc/home\:alvistack/ansible-ansible-runner-2.3.2/
    rm -rf ../python*-ansible-runner*2.3.2*.*

See ansible#1206

Signed-off-by: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>
hswong3i added a commit to alvistack/ansible-ansible-runner that referenced this pull request May 31, 2023
    git clean -xdf
    tar zcvf ../python-ansible-runner_2.3.2.orig.tar.gz --exclude=.git .
    debuild -uc -us
    cp python-ansible-runner.spec ../python-ansible-runner_2.3.2-1.spec
    mv ../python*-ansible-runner*2.3.2*.{gz,xz,spec,dsc} /osc/home\:alvistack/ansible-ansible-runner-2.3.2/
    rm -rf ../python*-ansible-runner*2.3.2*.*

See ansible#1206

Signed-off-by: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>
hswong3i added a commit to alvistack/ansible-ansible-runner that referenced this pull request May 31, 2023
    git clean -xdf
    tar zcvf ../python-ansible-runner_2.3.1.orig.tar.gz --exclude=.git .
    debuild -uc -us
    cp python-ansible-runner.spec ../python-ansible-runner_2.3.1-1.spec
    mv ../python*-ansible-runner*2.3.1*.{gz,xz,spec,dsc} /osc/home\:alvistack/ansible-ansible-runner-2.3.1/
    rm -rf ../python*-ansible-runner*2.3.1*.*

See ansible#1206

Signed-off-by: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>
hswong3i added a commit to alvistack/ansible-ansible-runner that referenced this pull request Jan 23, 2024
    git clean -xdf
    tar zcvf ../python-ansible-runner_2.3.2.orig.tar.gz --exclude=.git .
    debuild -uc -us
    cp python-ansible-runner.spec ../python-ansible-runner_2.3.2-1.spec
    cp ../python*-ansible-runner*2.3.2*.{gz,xz,spec,dsc} /osc/home\:alvistack/ansible-ansible-runner-2.3.2/
    rm -rf ../python*-ansible-runner*2.3.2*.*

See ansible#1206

Signed-off-by: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>
hswong3i added a commit to alvistack/ansible-ansible-runner that referenced this pull request Feb 14, 2024
    git clean -xdf
    tar zcvf ../python-ansible-runner_2.3.2.orig.tar.gz --exclude=.git .
    debuild -uc -us
    cp python-ansible-runner.spec ../python-ansible-runner_2.3.2-1.spec
    cp ../python*-ansible-runner*2.3.2*.{gz,xz,spec,dsc} /osc/home\:alvistack/ansible-ansible-runner-2.3.2/
    rm -rf ../python*-ansible-runner*2.3.2*.*

See ansible#1206

Signed-off-by: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

v2.3.2 is not Compatible with Python <= 3.7
3 participants
0