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

Use GitHub releases to download python versions #85

Merged

Conversation

@MaksimZhukov
Copy link
Collaborator

@MaksimZhukov MaksimZhukov commented Apr 24, 2020

This pull-request improves setup-python action to add ability to download specific version of Python on flight if it is not available by default.

Details:
setup-python action will download and install specific Python version from GitHub releases (actions/python-versions) in case the version is not found in the local cache. All versions of Python available for installation are published in actions/python-versions repository.
All available versions are listed in the version-manifest.json file.

Installation time:

  • Ubuntu / macOS: 10-20 seconds
  • Windows: ~ 1 minute (mostly related to fact that we use MSI installer for Python on Windows)
@MaksimZhukov MaksimZhukov marked this pull request as ready for review Apr 24, 2020
action.yml Outdated Show resolved Hide resolved
src/install-python.ts Outdated Show resolved Hide resolved
src/install-python.ts Outdated Show resolved Hide resolved
src/find-python.ts Outdated Show resolved Hide resolved
action.yml Outdated Show resolved Hide resolved
@brcrista brcrista requested a review from konradpabjan Apr 24, 2020
@konradpabjan
Copy link
Collaborator

@konradpabjan konradpabjan commented Apr 27, 2020

Edit I can work on updating the README in a follow up PR. I'll add a few people as reviewers to double check everything


Original comment

The README could use an update with regards to some of the new changes introduced here. A few things off the top of my head:

  • An example with the new token input parameter
  • An update to the available-versions-of-python section and hosted-tool-cache section with some clarifications around what is cached and what can be downloaded
  • Some mention of our new fancy actions/python-versions repo 😀 (when should users file issues there vs here)

I also think some it would be good to have some information about what happens when a new version of Python is released (for example if 3.8.3 is released and replaces version 3.8.2). What can users expect to happen if they have 3.8 specified and what should they do if they need a specific version.

MaksimZhukov added 2 commits Apr 27, 2020
MaksimZhukov
MaksimZhukov
@bryanmacfarlane
Copy link
Member

@bryanmacfarlane bryanmacfarlane commented Apr 27, 2020

Note that concerning new releases, until the cache is update it will match against that first and we will have to be good about staying on top of it - ideally automated. In node tool in azure pipelines, we had an input which was always check source first (read through to dist). Can't do that with python since we build. Also note that an option like that says I must have the very latest at the cost of the instability

Copy link
Collaborator

@konradpabjan konradpabjan left a comment

Looks good to me! 👍

I've created an issue for some of the extra testing and updates that I'll take care of: github/c2c-actions-service#1025

MaksimZhukov
MaksimZhukov
@konradpabjan konradpabjan mentioned this pull request Apr 29, 2020
src/find-python.ts Outdated Show resolved Hide resolved
MaksimZhukov and others added 2 commits Apr 29, 2020
Co-Authored-By: Konrad Pabjan <konradpabjan@github.com>
MaksimZhukov
MaksimZhukov and others added 2 commits Apr 29, 2020
MaksimZhukov
* Update README

* Update README.md

* Update README.md

* Apply suggestions from code review

Co-Authored-By: Brian Cristante <33549821+brcrista@users.noreply.github.com>

* Update README.md

Co-Authored-By: Brian Cristante <33549821+brcrista@users.noreply.github.com>

* Update self hosted instructions

* Clarifications around the Python version

* Minor Fix

* Apply suggestions from code review

Co-Authored-By: Brian Cristante <33549821+brcrista@users.noreply.github.com>

* PR Feedback

Co-authored-by: Brian Cristante <33549821+brcrista@users.noreply.github.com>
@maxim-lobanov maxim-lobanov merged commit e5af64b into master Apr 29, 2020
44 of 45 checks passed
44 of 45 checks passed
lint
Details
Run (ubuntu-latest)
Details
Run (ubuntu-latest)
Details
Setup default version (macos-latest)
Details
Setup default version (macos-latest)
Details
Run (windows-latest)
Details
Run (windows-latest)
Details
Setup default version (windows-latest)
Details
Setup default version (windows-latest)
Details
Setup default version (ubuntu-16.04)
Details
Setup default version (ubuntu-16.04)
Details
Setup default version (ubuntu-18.04)
Details
Setup default version (ubuntu-18.04) Setup default version (ubuntu-18.04)
Details
Setup 3.5.4 macos-latest Setup 3.5.4 macos-latest
Details
Setup 3.5.4 macos-latest
Details
Setup 3.6.7 macos-latest
Details
Setup 3.6.7 macos-latest
Details
Setup 3.7.5 macos-latest Setup 3.7.5 macos-latest
Details
Setup 3.7.5 macos-latest
Details
Setup 3.8.1 macos-latest
Details
Setup 3.8.1 macos-latest
Details
Setup 3.5.4 windows-latest
Details
Setup 3.5.4 windows-latest
Details
Setup 3.6.7 windows-latest
Details
Setup 3.6.7 windows-latest
Details
Setup 3.7.5 windows-latest
Details
Setup 3.7.5 windows-latest
Details
Setup 3.8.1 windows-latest
Details
Setup 3.8.1 windows-latest
Details
Setup 3.5.4 ubuntu-16.04
Details
Setup 3.5.4 ubuntu-16.04
Details
Setup 3.6.7 ubuntu-16.04
Details
Setup 3.6.7 ubuntu-16.04 Setup 3.6.7 ubuntu-16.04
Details
Setup 3.7.5 ubuntu-16.04
Details
Setup 3.7.5 ubuntu-16.04
Details
Setup 3.8.1 ubuntu-16.04
Details
Setup 3.8.1 ubuntu-16.04
Details
Setup 3.5.4 ubuntu-18.04
Details
Setup 3.5.4 ubuntu-18.04
Details
Setup 3.6.7 ubuntu-18.04
Details
Setup 3.6.7 ubuntu-18.04
Details
Setup 3.7.5 ubuntu-18.04
Details
Setup 3.7.5 ubuntu-18.04
Details
Setup 3.8.1 ubuntu-18.04
Details
Setup 3.8.1 ubuntu-18.04
Details
@konradpabjan
Copy link
Collaborator

@konradpabjan konradpabjan commented Apr 29, 2020

I'll create a new tag and release tomorrow (v1.3.0). I'll also update the v1 tag at the same time.
Edit: We're going with a v2, expect a new tag, and a changelog as well. Our public docs should also get an update with v1 everywhere being bumped up to v2

There are a significant number of users pinned to @master so if there are any issues overnight we should hear about it. I don't expect anything to break or any compat issues since we've done a lot of testing.

peaceiris added a commit to peaceiris/mkdocs-material-boilerplate that referenced this pull request Apr 30, 2020
peaceiris added a commit to peaceiris/mkdocs-material-boilerplate that referenced this pull request Apr 30, 2020
* ci: bump actions/setup-python from v1 to v2

actions/setup-python#87
actions/setup-python#85

* ci: Add the comment about upgrading pip
peaceiris added a commit to peaceiris/actions-gh-pages that referenced this pull request Apr 30, 2020
peaceiris added a commit to peaceiris/actions-gh-pages that referenced this pull request Apr 30, 2020
@konradpabjan konradpabjan deleted the v-mazhuk/use-github-releases-to-download-python-versions branch May 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

7 participants
You can’t perform that action at this time.