mirror of
https://github.com/actions/setup-python.git
synced 2024-11-25 10:26:54 +01:00
e5af64b2df
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](https://github.com/actions/python-versions/releases)) in case the version is not found in the local cache. All versions of Python available for installation are published in [actions/python-versions](https://github.com/actions/python-versions) repository. All available versions are listed in the [version-manifest.json](https://github.com/actions/python-versions/blob/master/versions-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) Co-authored-by: MaksimZhukov <v-mazhuk@microsoft.com> Co-authored-by: Konrad Pabjan <konradpabjan@github.com> Co-authored-by: Brian Cristante <33549821+brcrista@users.noreply.github.com>
57 lines
1.4 KiB
YAML
57 lines
1.4 KiB
YAML
name: Validate 'setup-python'
|
|
on:
|
|
push:
|
|
pull_request:
|
|
schedule:
|
|
- cron: 0 0 * * *
|
|
|
|
jobs:
|
|
default-version:
|
|
name: Setup default version
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [macos-latest, windows-latest, ubuntu-16.04, ubuntu-18.04]
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
|
|
- name: setup default python
|
|
uses: ./
|
|
|
|
- name: Validate version
|
|
run: python --version
|
|
|
|
- name: Run simple python code
|
|
run: python -c 'import math; print(math.factorial(5))'
|
|
|
|
setup-versions-from-manifest:
|
|
name: Setup ${{ matrix.python }} ${{ matrix.os }}
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [macos-latest, windows-latest, ubuntu-16.04, ubuntu-18.04]
|
|
python: [3.5.4, 3.6.7, 3.7.5, 3.8.1]
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
|
|
- name: setup-python ${{ matrix.python }}
|
|
uses: ./
|
|
with:
|
|
python-version: ${{ matrix.python }}
|
|
|
|
- name: Validate version
|
|
run: |
|
|
$pythonVersion = (python --version)
|
|
if ("Python ${{ matrix.python }}" -ne "$pythonVersion"){
|
|
Write-Host "The current version is $pythonVersion; expected version is ${{ matrix.python }}"
|
|
exit 1
|
|
}
|
|
$pythonVersion
|
|
shell: pwsh
|
|
|
|
- name: Run simple code
|
|
run: python -c 'import math; print(math.factorial(5))'
|