Skip to content
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

Improve UsePython to allow installation versions on-flight #13319

Open
maxim-lobanov opened this issue Jul 20, 2020 · 15 comments
Open

Improve UsePython to allow installation versions on-flight #13319

maxim-lobanov opened this issue Jul 20, 2020 · 15 comments
Assignees
Labels
Area: ABTT Akvelon Build Tasks Team area of work enhancement

Comments

@maxim-lobanov
Copy link

Problem

Currently, UsePython task just switches versions that are pre-cached on image (example).

It works for the most of the use-cases, because image always contains latest patch version for every major.minor pair.
However, some customers prefer to specify exact version of Python and would like to control it by themselves / freeze specific version. Current implementation of UsePython doesn't allow it.

Proposal

Versions of Python can be installed on-flight from https://github.com/actions/python-versions. This repo distributes versions of Python via GH releases. Also it contains versions-manifest.json as an index of versions.

Installation on-flight is pretty quick and should cover those use-cases. Also it is not a breaking change because task will try to download version only in case if it is not found locally.

The same changes were already done for GitHub Actions task setup-python.
Related PRs:

  1. Use GitHub releases to download python versions actions/setup-python#85
  2. Tool cache install from a manifest file actions/toolkit#382
@mattip
Copy link

mattip commented Aug 6, 2020

This would be very useful for trying out versions of python without waiting for deployment of a new image.

@remyjette
Copy link
Member

remyjette commented Oct 8, 2020

This would also be really nice for self-hosted agents

For example NuGetToolInstaller@1 will "find, download, and cache a specified version of NuGet." Very easy to use. But UsePythonVersion@0 instead has a whole section in the documentation "How can I configure a self-hosted agent to use this task?" which describes a manual process for setting up a very specific folder structure inside _work/_tool, which then needs to be performed again for each new version.

@github-actions
Copy link

This issue is stale because it has been open for 180 days with no activity. Remove the stale label or comment on the issue otherwise this will be closed in 5 days

@github-actions github-actions bot added the stale label May 27, 2021
@hugovk
Copy link

hugovk commented May 28, 2021

Still valid. Would be nice to have this in place for the Python 3.10 release in October.

@github-actions github-actions bot removed the stale label May 28, 2021
@hugovk
Copy link

hugovk commented Oct 7, 2021

Would be nice to have this in place for the Python 3.11 release in October 2022 :)

@DaniilShmelev
Copy link
Contributor

This feature will be released in the next few weeks in UsePythonVersion@0.202.0

@DaniilShmelev
Copy link
Contributor

@maxim-lobanov has noticed an error in the current implementation: #15820 (comment)
We've prepared proposals to fix it, but I'll reopen this ticket for now

@DaniilShmelev DaniilShmelev reopened this Mar 10, 2022
@DaniilShmelev DaniilShmelev removed the awaiting deployment Related changes are waiting for deployment to be completed label Mar 10, 2022
@github-actions
Copy link

github-actions bot commented Sep 6, 2022

This issue is stale because it has been open for 180 days with no activity. Remove the stale label or comment on the issue otherwise this will be closed in 5 days

@github-actions github-actions bot added the stale label Sep 6, 2022
@hugovk
Copy link

hugovk commented Sep 6, 2022

@maxim-lobanov has noticed an error in the current implementation: #15820 (comment) We've prepared proposals to fix it, but I'll reopen this ticket for now

@maxim-lobanov / @DaniilShmelev Did #16217 fix the aforementioned error?

@github-actions github-actions bot removed the stale label Sep 6, 2022
@github-actions
Copy link

github-actions bot commented Mar 5, 2023

This issue is stale because it has been open for 180 days with no activity. Remove the stale label or comment on the issue otherwise this will be closed in 5 days

@github-actions github-actions bot added the stale label Mar 5, 2023
@hugovk
Copy link

hugovk commented Mar 5, 2023

Awaiting confirmation.

@github-actions github-actions bot removed the stale label Mar 5, 2023
@github-actions
Copy link

github-actions bot commented Sep 1, 2023

This issue is stale because it has been open for 180 days with no activity. Remove the stale label or comment on the issue otherwise this will be closed in 5 days

@github-actions github-actions bot added the stale label Sep 1, 2023
@hugovk
Copy link

hugovk commented Sep 1, 2023

Would be nice for confirmation for the Python 3.12 release in October 2023.

@github-actions github-actions bot removed the stale label Sep 1, 2023
Copy link

This issue is stale because it has been open for 180 days with no activity. Remove the stale label or comment on the issue otherwise this will be closed in 5 days

@github-actions github-actions bot added the stale label Feb 28, 2024
@hugovk
Copy link

hugovk commented Feb 28, 2024

Would be nice for confirmation for the Python 3.13 release in October 2024.

@github-actions github-actions bot removed the stale label Feb 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: ABTT Akvelon Build Tasks Team area of work enhancement
Projects
None yet
Development

No branches or pull requests

8 participants