mirror of
https://github.com/actions/setup-python.git
synced 2026-09-17 10:01:28 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ece7cb06ca | ||
|
|
1d18d7af5f | ||
|
|
d2b357a6a3 | ||
|
|
8f639b1e75 | ||
|
|
6731c2ba87 | ||
|
|
0cb1a84326 | ||
|
|
dc6eab6194 | ||
|
|
6f4b74bfa2 | ||
|
|
fa8bde1a9c | ||
|
|
c8813ba1bc | ||
|
|
28f2168f4d | ||
|
|
a309ff8b42 | ||
|
|
bfe8cc55a7 | ||
|
|
4f41a90a1f | ||
|
|
83679a892e | ||
|
|
bfc4944b43 | ||
|
|
97aeb3efb8 | ||
|
|
443da59188 | ||
|
|
cfd55ca824 | ||
|
|
bba65e51ff | ||
|
|
18566f86b3 | ||
|
|
2e3e4b15a8 | ||
|
|
4267e283df | ||
|
|
e797f83bcb | ||
|
|
3d1e2d2ca0 | ||
|
|
65b071217a | ||
|
|
5b668cf765 | ||
|
|
f62a0e252f | ||
|
|
9322b3ca74 | ||
|
|
fbeb884f69 | ||
|
|
03bb6152f4 | ||
|
|
36da51d563 | ||
|
|
3c6f142cc0 | ||
|
|
88ffd4d597 | ||
|
|
532b046aaf | ||
|
|
1264885983 | ||
|
|
e9c40fbc2b | ||
|
|
5fa0ee6f38 | ||
|
|
5db1cf9a59 | ||
|
|
a26af69be9 | ||
|
|
30eafe9548 | ||
|
|
5d95bc16d4 | ||
|
|
6ed2c67c8a | ||
|
|
e348410e00 | ||
|
|
8d9ed9ac5c | ||
|
|
19e4675e06 | ||
|
|
6fd11e170a | ||
|
|
9e62be81b2 | ||
|
|
6ca8e8598f | ||
|
|
8039c45ed9 |
@@ -14,4 +14,4 @@ jobs:
|
|||||||
name: Basic validation
|
name: Basic validation
|
||||||
uses: actions/reusable-workflows/.github/workflows/basic-validation.yml@main
|
uses: actions/reusable-workflows/.github/workflows/basic-validation.yml@main
|
||||||
with:
|
with:
|
||||||
node-version: '20.x'
|
node-version: '24.x'
|
||||||
|
|||||||
@@ -16,4 +16,4 @@ jobs:
|
|||||||
name: Check dist/
|
name: Check dist/
|
||||||
uses: actions/reusable-workflows/.github/workflows/check-dist.yml@main
|
uses: actions/reusable-workflows/.github/workflows/check-dist.yml@main
|
||||||
with:
|
with:
|
||||||
node-version: '20.x'
|
node-version: '24.x'
|
||||||
|
|||||||
@@ -0,0 +1,294 @@
|
|||||||
|
name: e2e-cache freethread
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- releases/*
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
jobs:
|
||||||
|
python-pip-dependencies-caching:
|
||||||
|
name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }})
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
|
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- name: Setup Python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pip'
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pip install numpy pandas requests
|
||||||
|
|
||||||
|
python-pipenv-dependencies-caching:
|
||||||
|
name: Test pipenv (Python ${{ matrix.python-version}}, ${{ matrix.os }})
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
|
python-version: [3.13.1t, 3.13.2t, 3.13.5t]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- name: Setup Python
|
||||||
|
id: cache-pipenv
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pipenv'
|
||||||
|
- name: Install pipenv
|
||||||
|
run: python -m pip install --upgrade pip pipenv
|
||||||
|
- name: Install dependencies on Linux/macOS
|
||||||
|
if: runner.os != 'Windows'
|
||||||
|
run: |
|
||||||
|
export PIPENV_PYTHON=$(which python)
|
||||||
|
pipenv install requests
|
||||||
|
- name: Install dependencies on Windows
|
||||||
|
if: runner.os == 'Windows'
|
||||||
|
run: |
|
||||||
|
# Remove existing virtualenv if any
|
||||||
|
python -m pipenv --rm || echo "No existing env"
|
||||||
|
# Create fresh env using current Python
|
||||||
|
python -m pipenv install --python $(python -c "import sys; print(sys.executable)") requests
|
||||||
|
|
||||||
|
python-poetry-dependencies-caching:
|
||||||
|
name: Test poetry (Python ${{ matrix.python-version}}, ${{ matrix.os }})
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
|
python-version: [3.13.0, 3.13.1, 3.13.2]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- name: Install poetry
|
||||||
|
run: pipx install poetry
|
||||||
|
- name: Init pyproject.toml
|
||||||
|
run: mv ./__tests__/data/pyproject.toml .
|
||||||
|
- name: Setup Python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
freethreaded: true
|
||||||
|
cache: 'poetry'
|
||||||
|
- name: Install dependencies
|
||||||
|
run: poetry install --no-root
|
||||||
|
|
||||||
|
python-pip-dependencies-caching-path:
|
||||||
|
name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }}, caching path)
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
|
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- name: Setup Python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pip'
|
||||||
|
cache-dependency-path: __tests__/data/requirements.txt
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pip install numpy pandas requests
|
||||||
|
|
||||||
|
python-pipenv-dependencies-caching-path:
|
||||||
|
name: Test pipenv (Python ${{ matrix.python-version}}, ${{ matrix.os }}, caching path)
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
|
python-version: [3.13.1t, 3.13.2t, 3.13.5t]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- name: Setup Python
|
||||||
|
id: cache-pipenv
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pipenv'
|
||||||
|
cache-dependency-path: '**/pipenv-requirements.txt'
|
||||||
|
- name: Install pipenv
|
||||||
|
run: python -m pip install --upgrade pip pipenv
|
||||||
|
- name: Install dependencies on Linux/macOS
|
||||||
|
if: runner.os != 'Windows'
|
||||||
|
run: |
|
||||||
|
export PIPENV_PYTHON=$(which python)
|
||||||
|
pipenv install requests
|
||||||
|
- name: Install dependencies on Windows
|
||||||
|
if: runner.os == 'Windows'
|
||||||
|
run: |
|
||||||
|
# Remove existing virtualenv if any
|
||||||
|
python -m pipenv --rm || echo "No existing env"
|
||||||
|
# Create fresh env using current Python
|
||||||
|
python -m pipenv install --python $(python -c "import sys; print(sys.executable)") requests
|
||||||
|
|
||||||
|
python-pip-dependencies-caching-with-pip-version:
|
||||||
|
name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }})
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
|
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- name: Setup Python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pip'
|
||||||
|
pip-version: '25.0.1'
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pip install numpy pandas requests
|
||||||
|
|
||||||
|
python-pip-dependencies-caching-path-with-pip-version:
|
||||||
|
name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }}, caching path)
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
|
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- name: Setup Python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pip'
|
||||||
|
cache-dependency-path: __tests__/data/requirements.txt
|
||||||
|
pip-version: '25.0.1'
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pip install numpy pandas requests
|
||||||
|
|
||||||
|
python-pip-dependencies-caching-with-pip-install:
|
||||||
|
name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }})
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
|
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- name: Setup Python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pip'
|
||||||
|
pip-install: numpy pandas requests
|
||||||
|
|
||||||
|
python-pip-dependencies-caching-path-with-pip-install:
|
||||||
|
name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }}, caching path)
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
|
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- name: Setup Python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pip'
|
||||||
|
cache-dependency-path: __tests__/data/requirements.txt
|
||||||
|
pip-install: numpy pandas requests
|
||||||
+239
-16
@@ -21,10 +21,35 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
|
os:
|
||||||
python-version: ['3.9', 'pypy-3.9-v7.x', '3.10', 'pypy-3.10-v7.x']
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
|
python-version:
|
||||||
|
[
|
||||||
|
'3.9',
|
||||||
|
'pypy-3.9-v7.x',
|
||||||
|
'3.10',
|
||||||
|
'pypy-3.10-v7.x',
|
||||||
|
'3.11',
|
||||||
|
'pypy-3.11-v7.x',
|
||||||
|
'3.12',
|
||||||
|
'3.13'
|
||||||
|
]
|
||||||
|
exclude:
|
||||||
|
- os: windows-latest
|
||||||
|
python-version: pypy-3.11-v7.x
|
||||||
|
- os: macos-latest
|
||||||
|
python-version: pypy-3.9-v7.x
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
@@ -39,10 +64,31 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
|
os:
|
||||||
python-version: ['3.9', 'pypy-3.9-v7.x', '3.10', 'pypy-3.10-v7.x']
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
|
python-version:
|
||||||
|
['3.10', 'pypy-3.10-v7.x', '3.11', 'pypy-3.11-v7.x', '3.12', '3.13']
|
||||||
|
exclude:
|
||||||
|
- os: windows-latest
|
||||||
|
python-version: pypy-3.11-v7.x
|
||||||
|
- os: ubuntu-22.04
|
||||||
|
python-version: pypy-3.11-v7.x
|
||||||
|
- os: ubuntu-22.04-arm
|
||||||
|
python-version: pypy-3.10-v7.x
|
||||||
|
- os: ubuntu-22.04-arm
|
||||||
|
python-version: pypy-3.11-v7.x
|
||||||
|
- os: ubuntu-22.04-arm
|
||||||
|
python-version: pypy-3.10-v7.x
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
id: cache-pipenv
|
id: cache-pipenv
|
||||||
uses: ./
|
uses: ./
|
||||||
@@ -75,12 +121,32 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
|
os:
|
||||||
python-version: ['3.9', 'pypy-3.9-v7.x', '3.10', 'pypy-3.10-v7.x']
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
|
python-version:
|
||||||
|
[
|
||||||
|
'3.9',
|
||||||
|
'pypy-3.9-v7.x',
|
||||||
|
'3.10',
|
||||||
|
'pypy-3.10-v7.x',
|
||||||
|
'3.11',
|
||||||
|
'pypy-3.11-v7.x',
|
||||||
|
'3.12',
|
||||||
|
'3.13'
|
||||||
|
]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
- name: Install poetry
|
- name: Install poetry
|
||||||
run: pipx install poetry
|
run: |
|
||||||
|
pipx install poetry
|
||||||
- name: Init pyproject.toml
|
- name: Init pyproject.toml
|
||||||
run: mv ./__tests__/data/pyproject.toml .
|
run: mv ./__tests__/data/pyproject.toml .
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
@@ -88,6 +154,10 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
python-version: ${{ matrix.python-version }}
|
python-version: ${{ matrix.python-version }}
|
||||||
cache: 'poetry'
|
cache: 'poetry'
|
||||||
|
- name: Bootstrap packaging
|
||||||
|
run: |
|
||||||
|
python -m ensurepip --upgrade
|
||||||
|
python -m pip install --upgrade pip setuptools wheel packaging
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: poetry install --no-root
|
run: poetry install --no-root
|
||||||
|
|
||||||
@@ -97,10 +167,34 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
|
os:
|
||||||
python-version: ['3.9', 'pypy-3.9-v7.x', '3.10', 'pypy-3.10-v7.x']
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
|
python-version:
|
||||||
|
[
|
||||||
|
'3.9',
|
||||||
|
'pypy-3.9-v7.x',
|
||||||
|
'3.10',
|
||||||
|
'pypy-3.10-v7.x',
|
||||||
|
'3.11',
|
||||||
|
'pypy-3.11-v7.x',
|
||||||
|
'3.12',
|
||||||
|
'3.13'
|
||||||
|
]
|
||||||
|
exclude:
|
||||||
|
- os: windows-latest
|
||||||
|
python-version: pypy-3.11-v7.x
|
||||||
|
- os: macos-latest
|
||||||
|
python-version: pypy-3.9-v7.x
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
@@ -116,10 +210,29 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
|
os:
|
||||||
python-version: ['3.9', 'pypy-3.9-v7.x', '3.10', 'pypy-3.10-v7.x']
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
|
python-version:
|
||||||
|
['3.10', 'pypy-3.10-v7.x', '3.11', 'pypy-3.11-v7.x', '3.12', '3.13']
|
||||||
|
exclude:
|
||||||
|
- os: windows-latest
|
||||||
|
python-version: pypy-3.11-v7.x
|
||||||
|
- os: ubuntu-22.04
|
||||||
|
python-version: pypy-3.11-v7.x
|
||||||
|
- os: ubuntu-22.04-arm
|
||||||
|
python-version: pypy-3.10-v7.x
|
||||||
|
- os: ubuntu-22.04-arm
|
||||||
|
python-version: pypy-3.11-v7.x
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
id: cache-pipenv
|
id: cache-pipenv
|
||||||
uses: ./
|
uses: ./
|
||||||
@@ -146,3 +259,113 @@ jobs:
|
|||||||
}
|
}
|
||||||
- name: Run Python Script
|
- name: Run Python Script
|
||||||
run: pipenv run python test-pipenv.py
|
run: pipenv run python test-pipenv.py
|
||||||
|
|
||||||
|
python-pip-dependencies-caching-with-pip-version:
|
||||||
|
name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }})
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
|
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- name: Setup Python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pip'
|
||||||
|
pip-version: '25.0.1'
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pip install numpy pandas requests
|
||||||
|
|
||||||
|
python-pip-dependencies-caching-path-with-pip-version:
|
||||||
|
name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }}, caching path)
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
|
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- name: Setup Python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pip'
|
||||||
|
cache-dependency-path: __tests__/data/requirements.txt
|
||||||
|
pip-version: '25.0.1'
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pip install numpy pandas requests
|
||||||
|
|
||||||
|
python-pip-dependencies-caching-with-pip-install:
|
||||||
|
name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }})
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
|
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- name: Setup Python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pip'
|
||||||
|
pip-install: numpy pandas requests
|
||||||
|
|
||||||
|
python-pip-dependencies-caching-path-with-pip-install:
|
||||||
|
name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }}, caching path)
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
|
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- name: Setup Python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pip'
|
||||||
|
cache-dependency-path: __tests__/data/requirements.txt
|
||||||
|
pip-install: numpy pandas requests
|
||||||
|
|||||||
@@ -19,16 +19,17 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
operating-system:
|
operating-system:
|
||||||
[
|
[
|
||||||
ubuntu-20.04,
|
|
||||||
windows-latest,
|
windows-latest,
|
||||||
ubuntu-22.04,
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
ubuntu-latest,
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
macos-latest,
|
macos-latest,
|
||||||
macos-13
|
macos-15-intel
|
||||||
]
|
]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Run with setup-python 3.9.13
|
- name: Run with setup-python 3.9.13
|
||||||
uses: ./
|
uses: ./
|
||||||
@@ -37,7 +38,7 @@ jobs:
|
|||||||
- name: Verify 3.9.13
|
- name: Verify 3.9.13
|
||||||
run: python __tests__/verify-python.py 3.9.13
|
run: python __tests__/verify-python.py 3.9.13
|
||||||
|
|
||||||
- name: Run with setup-python 3.9.13
|
- name: Run with setup-python 3.10.11
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
python-version: 3.10.11
|
python-version: 3.10.11
|
||||||
@@ -72,8 +73,16 @@ jobs:
|
|||||||
python-version: '3.13'
|
python-version: '3.13'
|
||||||
- name: Verify 3.13
|
- name: Verify 3.13
|
||||||
run: python __tests__/verify-python.py 3.13
|
run: python __tests__/verify-python.py 3.13
|
||||||
|
|
||||||
|
- name: Install pipx (Windows)
|
||||||
|
if: runner. os == 'Windows'
|
||||||
|
run: python -m pip install pipx
|
||||||
|
|
||||||
- name: Run python-path sample 3.13
|
- name: Run python-path sample 3.13
|
||||||
run: pipx run --python '${{ steps.cp313.outputs.python-path }}' nox --version
|
run: pipx run --python '${{ steps.cp313.outputs.python-path }}' nox --version
|
||||||
|
env:
|
||||||
|
PIPX_HOME: '${{ runner.temp }}/pipx'
|
||||||
|
PIPX_BIN_DIR: '${{ runner.temp }}/pipx/bin'
|
||||||
|
|
||||||
- name: Run with setup-python ==3.13
|
- name: Run with setup-python ==3.13
|
||||||
uses: ./
|
uses: ./
|
||||||
@@ -88,6 +97,7 @@ jobs:
|
|||||||
python-version: '<3.13'
|
python-version: '<3.13'
|
||||||
- name: Verify <3.13
|
- name: Verify <3.13
|
||||||
run: python __tests__/verify-python.py 3.12
|
run: python __tests__/verify-python.py 3.12
|
||||||
|
|
||||||
- name: Test Raw Endpoint Access
|
- name: Test Raw Endpoint Access
|
||||||
run: |
|
run: |
|
||||||
curl -L https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json | jq empty
|
curl -L https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json | jq empty
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checking out
|
- name: Checking out
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
- name: Publish
|
- name: Publish
|
||||||
id: publish
|
id: publish
|
||||||
uses: actions/publish-immutable-action@v0.0.4
|
uses: actions/publish-immutable-action@v0.0.4
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Update the ${{ env.TAG_NAME }} tag
|
- name: Update the ${{ env.TAG_NAME }} tag
|
||||||
uses: actions/publish-action@v0.3.0
|
uses: actions/publish-action@v0.4.0
|
||||||
with:
|
with:
|
||||||
source-tag: ${{ env.TAG_NAME }}
|
source-tag: ${{ env.TAG_NAME }}
|
||||||
slack-webhook: ${{ secrets.SLACK_WEBHOOK }}
|
slack-webhook: ${{ secrets.SLACK_WEBHOOK }}
|
||||||
|
|||||||
@@ -18,7 +18,15 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [macos-latest, ubuntu-20.04, ubuntu-latest, macos-13]
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
graalpy:
|
graalpy:
|
||||||
- 'graalpy-22.3'
|
- 'graalpy-22.3'
|
||||||
- 'graalpy-23.0'
|
- 'graalpy-23.0'
|
||||||
@@ -27,7 +35,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python ${{ matrix.graalpy }}
|
- name: setup-python ${{ matrix.graalpy }}
|
||||||
id: setup-python
|
id: setup-python
|
||||||
@@ -65,12 +73,20 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [macos-latest, ubuntu-20.04, ubuntu-latest, macos-13]
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
graalpy: ['graalpy22.3', 'graalpy23.0', 'graalpy23.1', 'graalpy24.1']
|
graalpy: ['graalpy22.3', 'graalpy23.0', 'graalpy23.1', 'graalpy24.1']
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python ${{ matrix.graalpy }}
|
- name: setup-python ${{ matrix.graalpy }}
|
||||||
id: setup-python
|
id: setup-python
|
||||||
@@ -90,9 +106,9 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, macos-latest, macos-13]
|
os: [ubuntu-latest, windows-latest, macos-latest, macos-15-intel]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
- name: Setup GraalPy and check latest
|
- name: Setup GraalPy and check latest
|
||||||
uses: ./
|
uses: ./
|
||||||
id: graalpy
|
id: graalpy
|
||||||
|
|||||||
+101
-13
@@ -21,7 +21,15 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os:
|
os:
|
||||||
[macos-latest, windows-latest, ubuntu-20.04, ubuntu-latest, macos-13]
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
pypy:
|
pypy:
|
||||||
- 'pypy-2.7'
|
- 'pypy-2.7'
|
||||||
- 'pypy-3.10'
|
- 'pypy-3.10'
|
||||||
@@ -32,12 +40,65 @@ jobs:
|
|||||||
- 'pypy-3.10-v7.3.x'
|
- 'pypy-3.10-v7.3.x'
|
||||||
- 'pypy-3.10-v7.x'
|
- 'pypy-3.10-v7.x'
|
||||||
- 'pypy-2.7-v7.3.12rc1'
|
- 'pypy-2.7-v7.3.12rc1'
|
||||||
- 'pypy-3.10-nightly'
|
- 'pypy-3.11-nightly'
|
||||||
- 'pypy3.10-v7.3.17'
|
- 'pypy3.10-v7.3.17'
|
||||||
|
- 'pypy3.11-v7.3.19'
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.pypy }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.pypy }}
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: PyPy and Python version
|
||||||
|
run: python --version
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
- name: Assert PyPy is running
|
||||||
|
run: |
|
||||||
|
import platform
|
||||||
|
assert platform.python_implementation().lower() == "pypy"
|
||||||
|
shell: python
|
||||||
|
|
||||||
|
- name: Assert expected binaries (or symlinks) are present
|
||||||
|
run: |
|
||||||
|
EXECUTABLE=${{ matrix.pypy }}
|
||||||
|
EXECUTABLE=${EXECUTABLE/pypy-/pypy} # remove the first '-' in "pypy-X.Y" -> "pypyX.Y" to match executable name
|
||||||
|
EXECUTABLE=${EXECUTABLE%%-*} # remove any -* suffixe
|
||||||
|
${EXECUTABLE} --version
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
check-non-eol:
|
||||||
|
name: Check non-eol ${{ matrix.pypy }} on ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
- macos-15-intel
|
||||||
|
- macos-14
|
||||||
|
- macos-15
|
||||||
|
- windows-2022
|
||||||
|
- windows-2025
|
||||||
|
- ubuntu-22.04
|
||||||
|
- ubuntu-24.04
|
||||||
|
- ubuntu-22.04-arm
|
||||||
|
- ubuntu-24.04-arm
|
||||||
|
pypy: ['pypy-2.7', 'pypy-3.10', 'pypy-3.11']
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python ${{ matrix.pypy }}
|
- name: setup-python ${{ matrix.pypy }}
|
||||||
id: setup-python
|
id: setup-python
|
||||||
@@ -76,12 +137,20 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os:
|
os:
|
||||||
[macos-latest, windows-latest, ubuntu-20.04, ubuntu-latest, macos-13]
|
[
|
||||||
pypy: ['pypy2.7', 'pypy3.9', 'pypy3.10-nightly']
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
|
pypy: ['pypy2.7', 'pypy3.9', 'pypy3.11-nightly', 'pypy3.11']
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python ${{ matrix.pypy }}
|
- name: setup-python ${{ matrix.pypy }}
|
||||||
id: setup-python
|
id: setup-python
|
||||||
@@ -101,13 +170,22 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
- name: Setup PyPy and check latest
|
- name: Setup PyPy and check latest
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
python-version: 'pypy-3.10-v7.3.x'
|
python-version: 'pypy-3.11-v7.3.x'
|
||||||
check-latest: true
|
check-latest: true
|
||||||
- name: PyPy and Python version
|
- name: PyPy and Python version
|
||||||
run: python --version
|
run: python --version
|
||||||
@@ -123,7 +201,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Assert expected binaries (or symlinks) are present
|
- name: Assert expected binaries (or symlinks) are present
|
||||||
run: |
|
run: |
|
||||||
EXECUTABLE="pypy-3.10-v7.3.x"
|
EXECUTABLE="pypy-3.11-v7.3.x"
|
||||||
EXECUTABLE=${EXECUTABLE/-/} # remove the first '-' in "pypy-X.Y" -> "pypyX.Y" to match executable name
|
EXECUTABLE=${EXECUTABLE/-/} # remove the first '-' in "pypy-X.Y" -> "pypyX.Y" to match executable name
|
||||||
EXECUTABLE=${EXECUTABLE%%-*} # remove any -* suffixe
|
EXECUTABLE=${EXECUTABLE%%-*} # remove any -* suffixe
|
||||||
${EXECUTABLE} --version
|
${EXECUTABLE} --version
|
||||||
@@ -134,13 +212,23 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
- name: Setup PyPy and check latest
|
- name: Setup PyPy and check latest
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
python-version: |
|
python-version: |
|
||||||
|
pypy-3.11-v7.3.x
|
||||||
pypy-3.10-v7.3.x
|
pypy-3.10-v7.3.x
|
||||||
pypy3.9
|
pypy3.9
|
||||||
check-latest: true
|
check-latest: true
|
||||||
@@ -158,7 +246,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Assert expected binaries (or symlinks) are present
|
- name: Assert expected binaries (or symlinks) are present
|
||||||
run: |
|
run: |
|
||||||
EXECUTABLE="pypy-3.10-v7.3.x"
|
EXECUTABLE="pypy-3.11-v7.3.x"
|
||||||
EXECUTABLE=${EXECUTABLE/-/} # remove the first '-' in "pypy-X.Y" -> "pypyX.Y" to match executable name
|
EXECUTABLE=${EXECUTABLE/-/} # remove the first '-' in "pypy-X.Y" -> "pypyX.Y" to match executable name
|
||||||
EXECUTABLE=${EXECUTABLE%%-*} # remove any -* suffixe
|
EXECUTABLE=${EXECUTABLE%%-*} # remove any -* suffixe
|
||||||
${EXECUTABLE} --version
|
${EXECUTABLE} --version
|
||||||
|
|||||||
@@ -0,0 +1,557 @@
|
|||||||
|
name: Validate Python e2e freethread
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
schedule:
|
||||||
|
- cron: 30 3 * * *
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
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-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-15-intel,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python }}
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Verify Python version
|
||||||
|
run: ${{ steps.setup-python.outputs.python-path }} -VVV
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-versions-from-file:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} version file
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-15-intel,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: build-version-file ${{ matrix.python }}
|
||||||
|
run: echo ${{ matrix.python }} > .python-version
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version-file: .python-version
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Verify Python version
|
||||||
|
run: ${{ steps.setup-python.outputs.python-path }} -VVV
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-versions-from-file-without-parameter:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} version file without parameter
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-15-intel,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: build-version-file ${{ matrix.python }}
|
||||||
|
run: echo ${{ matrix.python }} > .python-version
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Verify Python version
|
||||||
|
run: ${{ steps.setup-python.outputs.python-path }} -VVV
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-versions-from-standard-pyproject-file:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} standard pyproject file
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-15-intel,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.13.0, 3.13.1, 3.13.2]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: build-version-file ${{ matrix.python }}
|
||||||
|
run: |
|
||||||
|
echo '[project]
|
||||||
|
requires-python = "${{ matrix.python }}"
|
||||||
|
' > pyproject.toml
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version-file: pyproject.toml
|
||||||
|
freethreaded: true
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-versions-from-poetry-pyproject-file:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} poetry pyproject file
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-15-intel,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.13.0, 3.13.1, 3.13.2]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: build-version-file ${{ matrix.python }}
|
||||||
|
run: |
|
||||||
|
echo '[tool.poetry.dependencies]
|
||||||
|
python = "${{ matrix.python }}"
|
||||||
|
' > pyproject.toml
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version-file: pyproject.toml
|
||||||
|
freethreaded: true
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-versions-from-tool-versions-file:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} .tool-versions file
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-15-intel,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.13.0t, 3.13.1t, 3.13.2t, 3.14t-dev]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: build-tool-versions-file ${{ matrix.python }}
|
||||||
|
run: |
|
||||||
|
echo "python ${{ matrix.python }}" > .tool-versions
|
||||||
|
|
||||||
|
- name: setup-python using .tool-versions ${{ matrix.python }}
|
||||||
|
id: setup-python-tool-versions
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version-file: .tool-versions
|
||||||
|
|
||||||
|
setup-versions-from-pipfile-with-python_version:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} Pipfile
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-15-intel,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.13t, 3.14t-dev]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: build-version-file ${{ matrix.python }}
|
||||||
|
run: |
|
||||||
|
echo '[requires]
|
||||||
|
python_version = "${{ matrix.python }}"
|
||||||
|
' > Pipfile
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version-file: Pipfile
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-versions-from-pipfile-with-python_full_version:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} .tool-versions file
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-15-intel,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.13.0t, 3.13.1t, 3.13.2t, 3.14t-dev]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: build-version-file ${{ matrix.python }}
|
||||||
|
run: |
|
||||||
|
echo '[requires]
|
||||||
|
python_full_version = "${{ matrix.python }}"
|
||||||
|
' > Pipfile
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version-file: Pipfile
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-pre-release-version-from-manifest:
|
||||||
|
name: Setup 3.14.0-alpha.6 ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-15-intel,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: setup-python 3.14.0-alpha.6
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: '3.14.0-alpha.6'
|
||||||
|
freethreaded: true
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Verify Python version
|
||||||
|
run: ${{ steps.setup-python.outputs.python-path }} -VVV
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-dev-version:
|
||||||
|
name: Setup 3.14t-dev ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: setup-python 3.14t-dev
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: '3.14t-dev'
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Validate version
|
||||||
|
run: ${{ startsWith(steps.setup-python.outputs.python-version, '3.14.') }}
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-prerelease-version:
|
||||||
|
name: Setup 3.14t ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: setup-python 3.14t
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: '3.14t'
|
||||||
|
allow-prereleases: true
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Validate version
|
||||||
|
run: ${{ startsWith(steps.setup-python.outputs.python-version, '3.14.') }}
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-versions-noenv:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} (noenv)
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-15-intel,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python }}
|
||||||
|
update-environment: false
|
||||||
|
|
||||||
|
- name: Verify Python version
|
||||||
|
run: ${{ steps.setup-python.outputs.python-path }} -VVV
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: ${{ steps.setup-python.outputs.python-path }} -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
check-latest:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
|
python-version: [3.13t, 3.14t-dev]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- name: Setup Python and check latest
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
check-latest: true
|
||||||
|
- name: Verify Python version
|
||||||
|
run: ${{ steps.setup-python.outputs.python-path }} -VVV
|
||||||
|
|
||||||
|
setup-python-multiple-python-versions:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- name: Setup Python and check latest
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: |
|
||||||
|
3.13.1t
|
||||||
|
3.13.2t
|
||||||
|
3.14t-dev
|
||||||
|
- name: Verify Python version
|
||||||
|
run: ${{ steps.setup-python.outputs.python-path }} -VVV
|
||||||
|
|
||||||
|
setup-versions-with-freethread-input:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} using freethread input parameter
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-15-intel,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.13.1, 3.13.2, 3.14-dev, 3.14.0-alpha.6]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python }}
|
||||||
|
freethreaded: true
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
- name: Validate GIL
|
||||||
|
run: python ./__tests__/verify-freethreaded.py
|
||||||
@@ -24,15 +24,16 @@ jobs:
|
|||||||
[
|
[
|
||||||
macos-latest,
|
macos-latest,
|
||||||
windows-latest,
|
windows-latest,
|
||||||
ubuntu-20.04,
|
|
||||||
ubuntu-22.04,
|
ubuntu-22.04,
|
||||||
macos-13,
|
ubuntu-22.04-arm,
|
||||||
ubuntu-latest
|
macos-15-intel,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
]
|
]
|
||||||
python: [3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.0]
|
python: [3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.2]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python ${{ matrix.python }}
|
- name: setup-python ${{ matrix.python }}
|
||||||
id: setup-python
|
id: setup-python
|
||||||
@@ -67,15 +68,16 @@ jobs:
|
|||||||
[
|
[
|
||||||
macos-latest,
|
macos-latest,
|
||||||
windows-latest,
|
windows-latest,
|
||||||
ubuntu-20.04,
|
|
||||||
ubuntu-22.04,
|
ubuntu-22.04,
|
||||||
macos-13,
|
ubuntu-22.04-arm,
|
||||||
ubuntu-latest
|
macos-15-intel,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
]
|
]
|
||||||
python: [3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.0]
|
python: [3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.2]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: build-version-file ${{ matrix.python }}
|
- name: build-version-file ${{ matrix.python }}
|
||||||
run: echo ${{ matrix.python }} > .python-version
|
run: echo ${{ matrix.python }} > .python-version
|
||||||
@@ -113,15 +115,16 @@ jobs:
|
|||||||
[
|
[
|
||||||
macos-latest,
|
macos-latest,
|
||||||
windows-latest,
|
windows-latest,
|
||||||
ubuntu-20.04,
|
|
||||||
ubuntu-22.04,
|
ubuntu-22.04,
|
||||||
macos-13,
|
ubuntu-22.04-arm,
|
||||||
ubuntu-latest
|
macos-15-intel,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
]
|
]
|
||||||
python: [3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.0]
|
python: [3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.2]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: build-version-file ${{ matrix.python }}
|
- name: build-version-file ${{ matrix.python }}
|
||||||
run: echo ${{ matrix.python }} > .python-version
|
run: echo ${{ matrix.python }} > .python-version
|
||||||
@@ -157,15 +160,16 @@ jobs:
|
|||||||
[
|
[
|
||||||
macos-latest,
|
macos-latest,
|
||||||
windows-latest,
|
windows-latest,
|
||||||
ubuntu-20.04,
|
|
||||||
ubuntu-22.04,
|
ubuntu-22.04,
|
||||||
macos-13,
|
ubuntu-22.04-arm,
|
||||||
ubuntu-latest
|
macos-15-intel,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
]
|
]
|
||||||
python: [3.9.13, 3.10.11, 3.11.9, '==3.12.3', 3.13.0]
|
python: [3.9.13, 3.10.11, 3.11.9, '==3.12.3', 3.13.2]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: build-version-file ${{ matrix.python }}
|
- name: build-version-file ${{ matrix.python }}
|
||||||
run: |
|
run: |
|
||||||
@@ -206,15 +210,16 @@ jobs:
|
|||||||
[
|
[
|
||||||
macos-latest,
|
macos-latest,
|
||||||
windows-latest,
|
windows-latest,
|
||||||
ubuntu-20.04,
|
|
||||||
ubuntu-22.04,
|
ubuntu-22.04,
|
||||||
macos-13,
|
ubuntu-22.04-arm,
|
||||||
ubuntu-latest
|
macos-15-intel,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
]
|
]
|
||||||
python: [3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.0]
|
python: [3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.2]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: build-version-file ${{ matrix.python }}
|
- name: build-version-file ${{ matrix.python }}
|
||||||
run: |
|
run: |
|
||||||
@@ -245,8 +250,8 @@ jobs:
|
|||||||
- name: Run simple code
|
- name: Run simple code
|
||||||
run: python -c 'import math; print(math.factorial(5))'
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
setup-pre-release-version-from-manifest:
|
setup-versions-from-tool-versions-file:
|
||||||
name: Setup 3.14.0-alpha.1 ${{ matrix.os }}
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} .tool-versions file
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
@@ -255,20 +260,62 @@ jobs:
|
|||||||
[
|
[
|
||||||
macos-latest,
|
macos-latest,
|
||||||
windows-latest,
|
windows-latest,
|
||||||
ubuntu-20.04,
|
|
||||||
ubuntu-22.04,
|
ubuntu-22.04,
|
||||||
macos-13,
|
ubuntu-22.04-arm,
|
||||||
ubuntu-latest
|
macos-15-intel,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
]
|
]
|
||||||
|
python: [pypy3.11-7.3.18, graalpy-24.1.2, 3.13.2, 3.14-dev]
|
||||||
|
exclude:
|
||||||
|
- os: windows-latest
|
||||||
|
python: graalpy-24.1.2
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python 3.14.0-alpha.1
|
- name: build-tool-versions-file ${{ matrix.python }}
|
||||||
|
run: |
|
||||||
|
echo "python ${{ matrix.python }}" > .tool-versions
|
||||||
|
|
||||||
|
- name: setup-python using .tool-versions ${{ matrix.python }}
|
||||||
|
id: setup-python-tool-versions
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version-file: .tool-versions
|
||||||
|
|
||||||
|
setup-versions-from-pipfile-with-python_version:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} Pipfile with python_version
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-15-intel,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.9.13, 3.10.11, 3.11.9, 3.13.2]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: build-version-file ${{ matrix.python }}
|
||||||
|
run: |
|
||||||
|
echo '[requires]
|
||||||
|
python_version = "${{ matrix.python }}"
|
||||||
|
' > Pipfile
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
id: setup-python
|
id: setup-python
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
python-version: '3.14.0-alpha.1'
|
python-version-file: Pipfile
|
||||||
|
|
||||||
- name: Check python-path
|
- name: Check python-path
|
||||||
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
@@ -277,8 +324,101 @@ jobs:
|
|||||||
- name: Validate version
|
- name: Validate version
|
||||||
run: |
|
run: |
|
||||||
$pythonVersion = (python --version)
|
$pythonVersion = (python --version)
|
||||||
if ("Python 3.14.0a1" -ne "$pythonVersion"){
|
if ("Python ${{ matrix.python }}".replace("==", "") -ne "$pythonVersion"){
|
||||||
Write-Host "The current version is $pythonVersion; expected version is 3.14.0a1"
|
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))'
|
||||||
|
|
||||||
|
setup-versions-from-pipfile-with-python_full_version:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} Pipfile with python_full_version
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-15-intel,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.9.13, 3.10.11, 3.11.9, 3.13.2]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: build-version-file ${{ matrix.python }}
|
||||||
|
run: |
|
||||||
|
echo '[requires]
|
||||||
|
python_full_version = "${{ matrix.python }}"
|
||||||
|
' > Pipfile
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version-file: Pipfile
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Validate version
|
||||||
|
run: |
|
||||||
|
$pythonVersion = (python --version)
|
||||||
|
if ("Python ${{ matrix.python }}".replace("==", "") -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))'
|
||||||
|
|
||||||
|
setup-pre-release-version-from-manifest:
|
||||||
|
name: Setup 3.14.0-alpha.6 ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-15-intel,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: setup-python 3.14.0-alpha.6
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: '3.14.0-alpha.6'
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Validate version
|
||||||
|
run: |
|
||||||
|
$pythonVersion = (python --version)
|
||||||
|
if ("Python 3.14.0a6" -ne "$pythonVersion"){
|
||||||
|
Write-Host "The current version is $pythonVersion; expected version is 3.14.0a6"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
$pythonVersion
|
$pythonVersion
|
||||||
@@ -293,10 +433,19 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [macos-latest, windows-latest, ubuntu-latest, macos-13]
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python 3.14-dev
|
- name: setup-python 3.14-dev
|
||||||
id: setup-python
|
id: setup-python
|
||||||
@@ -321,10 +470,19 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [macos-latest, windows-latest, ubuntu-latest, macos-13]
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python 3.14
|
- name: setup-python 3.14
|
||||||
id: setup-python
|
id: setup-python
|
||||||
@@ -354,15 +512,16 @@ jobs:
|
|||||||
[
|
[
|
||||||
macos-latest,
|
macos-latest,
|
||||||
windows-latest,
|
windows-latest,
|
||||||
ubuntu-20.04,
|
|
||||||
ubuntu-22.04,
|
ubuntu-22.04,
|
||||||
macos-13,
|
ubuntu-22.04-arm,
|
||||||
ubuntu-latest
|
macos-15-intel,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
]
|
]
|
||||||
python: ['3.9', '3.10', '3.11', '3.12', '3.13']
|
python: ['3.9', '3.10', '3.11', '3.12', '3.13']
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python ${{ matrix.python }}
|
- name: setup-python ${{ matrix.python }}
|
||||||
id: setup-python
|
id: setup-python
|
||||||
@@ -382,10 +541,19 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
|
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python and check latest
|
- name: Setup Python and check latest
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
@@ -406,9 +574,18 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python and check latest
|
- name: Setup Python and check latest
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
|
|||||||
+3
-1
@@ -10,6 +10,8 @@ allowed:
|
|||||||
- cc0-1.0
|
- cc0-1.0
|
||||||
- unlicense
|
- unlicense
|
||||||
- 0bsd
|
- 0bsd
|
||||||
|
- blueoak-1.0.0
|
||||||
|
|
||||||
reviewed:
|
reviewed:
|
||||||
npm:
|
npm:
|
||||||
|
- "@actions/http-client"
|
||||||
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
@@ -11,6 +11,13 @@ This action provides the following functionality for GitHub Actions users:
|
|||||||
- Optionally caching dependencies for pip, pipenv and poetry
|
- Optionally caching dependencies for pip, pipenv and poetry
|
||||||
- Registering problem matchers for error output
|
- Registering problem matchers for error output
|
||||||
|
|
||||||
|
## Breaking changes in V6
|
||||||
|
|
||||||
|
- Upgraded action from node20 to node24
|
||||||
|
> Make sure your runner is on version v2.327.1 or later to ensure compatibility with this release. See [Release Notes](https://github.com/actions/runner/releases/tag/v2.327.1)
|
||||||
|
|
||||||
|
For more details, see the full release notes on the [releases page](https://github.com/actions/setup-python/releases/tag/v6.0.0)
|
||||||
|
|
||||||
## Basic usage
|
## Basic usage
|
||||||
|
|
||||||
See [action.yml](action.yml)
|
See [action.yml](action.yml)
|
||||||
@@ -18,8 +25,8 @@ See [action.yml](action.yml)
|
|||||||
**Python**
|
**Python**
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v5
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: '3.13'
|
python-version: '3.13'
|
||||||
- run: python my_script.py
|
- run: python my_script.py
|
||||||
@@ -28,8 +35,8 @@ steps:
|
|||||||
**PyPy**
|
**PyPy**
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v5
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: 'pypy3.10'
|
python-version: 'pypy3.10'
|
||||||
- run: python my_script.py
|
- run: python my_script.py
|
||||||
@@ -38,13 +45,23 @@ steps:
|
|||||||
**GraalPy**
|
**GraalPy**
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v5
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: 'graalpy-24.0'
|
python-version: 'graalpy-24.0'
|
||||||
- run: python my_script.py
|
- run: python my_script.py
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Free threaded Python**
|
||||||
|
```yaml
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- uses: actions/setup-python@v6
|
||||||
|
with:
|
||||||
|
python-version: '3.13t'
|
||||||
|
- run: python my_script.py
|
||||||
|
```
|
||||||
|
|
||||||
The `python-version` input is optional. If not supplied, the action will try to resolve the version from the default `.python-version` file. If the `.python-version` file doesn't exist Python or PyPy version from the PATH will be used. The default version of Python or PyPy in PATH varies between runners and can be changed unexpectedly so we recommend always setting Python version explicitly using the `python-version` or `python-version-file` inputs.
|
The `python-version` input is optional. If not supplied, the action will try to resolve the version from the default `.python-version` file. If the `.python-version` file doesn't exist Python or PyPy version from the PATH will be used. The default version of Python or PyPy in PATH varies between runners and can be changed unexpectedly so we recommend always setting Python version explicitly using the `python-version` or `python-version-file` inputs.
|
||||||
|
|
||||||
The action will first check the local [tool cache](docs/advanced-usage.md#hosted-tool-cache) for a [semver](https://github.com/npm/node-semver#versions) match. If unable to find a specific version in the tool cache, the action will attempt to download a version of Python from [GitHub Releases](https://github.com/actions/python-versions/releases) and for PyPy from the official [PyPy's dist](https://downloads.python.org/pypy/).
|
The action will first check the local [tool cache](docs/advanced-usage.md#hosted-tool-cache) for a [semver](https://github.com/npm/node-semver#versions) match. If unable to find a specific version in the tool cache, the action will attempt to download a version of Python from [GitHub Releases](https://github.com/actions/python-versions/releases) and for PyPy from the official [PyPy's dist](https://downloads.python.org/pypy/).
|
||||||
@@ -73,8 +90,8 @@ The action defaults to searching for a dependency file (`requirements.txt` or `p
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v5
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: '3.13'
|
python-version: '3.13'
|
||||||
cache: 'pip' # caching pip dependencies
|
cache: 'pip' # caching pip dependencies
|
||||||
@@ -84,6 +101,8 @@ steps:
|
|||||||
|
|
||||||
>The requirements file format allows for specifying dependency versions using logical operators (for example chardet>=3.0.4) or specifying dependencies without any versions. In this case the pip install -r requirements.txt command will always try to install the latest available package version. To be sure that the cache will be used, please stick to a specific dependency version and update it manually if necessary.
|
>The requirements file format allows for specifying dependency versions using logical operators (for example chardet>=3.0.4) or specifying dependencies without any versions. In this case the pip install -r requirements.txt command will always try to install the latest available package version. To be sure that the cache will be used, please stick to a specific dependency version and update it manually if necessary.
|
||||||
|
|
||||||
|
>The `setup-python` action does not handle authentication for pip when installing packages from private repositories. For help, refer [pip’s VCS support documentation](https://pip.pypa.io/en/stable/topics/vcs-support/) or visit the [pip repository](https://github.com/pypa/pip).
|
||||||
|
|
||||||
See examples of using `cache` and `cache-dependency-path` for `pipenv` and `poetry` in the section: [Caching packages](docs/advanced-usage.md#caching-packages) of the [Advanced usage](docs/advanced-usage.md) guide.
|
See examples of using `cache` and `cache-dependency-path` for `pipenv` and `poetry` in the section: [Caching packages](docs/advanced-usage.md#caching-packages) of the [Advanced usage](docs/advanced-usage.md) guide.
|
||||||
|
|
||||||
## Advanced usage
|
## Advanced usage
|
||||||
@@ -98,6 +117,8 @@ See examples of using `cache` and `cache-dependency-path` for `pipenv` and `poet
|
|||||||
- [Using `setup-python` with a self-hosted runner](docs/advanced-usage.md#using-setup-python-with-a-self-hosted-runner)
|
- [Using `setup-python` with a self-hosted runner](docs/advanced-usage.md#using-setup-python-with-a-self-hosted-runner)
|
||||||
- [Using `setup-python` on GHES](docs/advanced-usage.md#using-setup-python-on-ghes)
|
- [Using `setup-python` on GHES](docs/advanced-usage.md#using-setup-python-on-ghes)
|
||||||
- [Allow pre-releases](docs/advanced-usage.md#allow-pre-releases)
|
- [Allow pre-releases](docs/advanced-usage.md#allow-pre-releases)
|
||||||
|
- [Using the pip-version input](docs/advanced-usage.md#using-the-pip-version-input)
|
||||||
|
- [Using the pip-install input](docs/advanced-usage.md#using-the-pip-install-input)
|
||||||
|
|
||||||
## Recommended permissions
|
## Recommended permissions
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user