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 |
@@ -33,7 +33,7 @@ jobs:
|
|||||||
]
|
]
|
||||||
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
|
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
@@ -60,7 +60,7 @@ jobs:
|
|||||||
]
|
]
|
||||||
python-version: [3.13.1t, 3.13.2t, 3.13.5t]
|
python-version: [3.13.1t, 3.13.2t, 3.13.5t]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
id: cache-pipenv
|
id: cache-pipenv
|
||||||
uses: ./
|
uses: ./
|
||||||
@@ -68,9 +68,19 @@ jobs:
|
|||||||
python-version: ${{ matrix.python-version }}
|
python-version: ${{ matrix.python-version }}
|
||||||
cache: 'pipenv'
|
cache: 'pipenv'
|
||||||
- name: Install pipenv
|
- name: Install pipenv
|
||||||
run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python
|
run: python -m pip install --upgrade pip pipenv
|
||||||
- name: Install dependencies
|
- name: Install dependencies on Linux/macOS
|
||||||
run: pipenv install requests
|
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:
|
python-poetry-dependencies-caching:
|
||||||
name: Test poetry (Python ${{ matrix.python-version}}, ${{ matrix.os }})
|
name: Test poetry (Python ${{ matrix.python-version}}, ${{ matrix.os }})
|
||||||
@@ -90,7 +100,7 @@ jobs:
|
|||||||
]
|
]
|
||||||
python-version: [3.13.0, 3.13.1, 3.13.2]
|
python-version: [3.13.0, 3.13.1, 3.13.2]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- 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
|
||||||
@@ -122,7 +132,7 @@ jobs:
|
|||||||
]
|
]
|
||||||
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
|
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
@@ -150,7 +160,7 @@ jobs:
|
|||||||
]
|
]
|
||||||
python-version: [3.13.1t, 3.13.2t, 3.13.5t]
|
python-version: [3.13.1t, 3.13.2t, 3.13.5t]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
id: cache-pipenv
|
id: cache-pipenv
|
||||||
uses: ./
|
uses: ./
|
||||||
@@ -159,9 +169,19 @@ jobs:
|
|||||||
cache: 'pipenv'
|
cache: 'pipenv'
|
||||||
cache-dependency-path: '**/pipenv-requirements.txt'
|
cache-dependency-path: '**/pipenv-requirements.txt'
|
||||||
- name: Install pipenv
|
- name: Install pipenv
|
||||||
run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python
|
run: python -m pip install --upgrade pip pipenv
|
||||||
- name: Install dependencies
|
- name: Install dependencies on Linux/macOS
|
||||||
run: pipenv install requests
|
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:
|
python-pip-dependencies-caching-with-pip-version:
|
||||||
name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }})
|
name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }})
|
||||||
@@ -181,7 +201,7 @@ jobs:
|
|||||||
]
|
]
|
||||||
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
|
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
@@ -209,7 +229,7 @@ jobs:
|
|||||||
]
|
]
|
||||||
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
|
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
@@ -238,7 +258,7 @@ jobs:
|
|||||||
]
|
]
|
||||||
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
|
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
@@ -264,7 +284,7 @@ jobs:
|
|||||||
]
|
]
|
||||||
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
|
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ jobs:
|
|||||||
python-version: pypy-3.9-v7.x
|
python-version: pypy-3.9-v7.x
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
@@ -88,7 +88,7 @@ jobs:
|
|||||||
- os: ubuntu-22.04-arm
|
- os: ubuntu-22.04-arm
|
||||||
python-version: pypy-3.10-v7.x
|
python-version: pypy-3.10-v7.x
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
id: cache-pipenv
|
id: cache-pipenv
|
||||||
uses: ./
|
uses: ./
|
||||||
@@ -143,9 +143,10 @@ jobs:
|
|||||||
'3.13'
|
'3.13'
|
||||||
]
|
]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- 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
|
||||||
@@ -153,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
|
||||||
|
|
||||||
@@ -189,7 +194,7 @@ jobs:
|
|||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
python-version: pypy-3.9-v7.x
|
python-version: pypy-3.9-v7.x
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
@@ -227,7 +232,7 @@ jobs:
|
|||||||
- os: ubuntu-22.04-arm
|
- os: ubuntu-22.04-arm
|
||||||
python-version: pypy-3.11-v7.x
|
python-version: pypy-3.11-v7.x
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
id: cache-pipenv
|
id: cache-pipenv
|
||||||
uses: ./
|
uses: ./
|
||||||
@@ -273,7 +278,7 @@ jobs:
|
|||||||
]
|
]
|
||||||
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@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
@@ -301,7 +306,7 @@ jobs:
|
|||||||
]
|
]
|
||||||
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@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
@@ -330,7 +335,7 @@ jobs:
|
|||||||
]
|
]
|
||||||
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@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
@@ -356,7 +361,7 @@ jobs:
|
|||||||
]
|
]
|
||||||
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@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ jobs:
|
|||||||
]
|
]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Run with setup-python 3.9.13
|
- name: Run with setup-python 3.9.13
|
||||||
uses: ./
|
uses: ./
|
||||||
@@ -73,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: ./
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checking out
|
- name: Checking out
|
||||||
uses: actions/checkout@v5
|
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
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python ${{ matrix.graalpy }}
|
- name: setup-python ${{ matrix.graalpy }}
|
||||||
id: setup-python
|
id: setup-python
|
||||||
@@ -86,7 +86,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python ${{ matrix.graalpy }}
|
- name: setup-python ${{ matrix.graalpy }}
|
||||||
id: setup-python
|
id: setup-python
|
||||||
@@ -108,7 +108,7 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, windows-latest, macos-latest, macos-15-intel]
|
os: [ubuntu-latest, windows-latest, macos-latest, macos-15-intel]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup GraalPy and check latest
|
- name: Setup GraalPy and check latest
|
||||||
uses: ./
|
uses: ./
|
||||||
id: graalpy
|
id: graalpy
|
||||||
|
|||||||
@@ -40,13 +40,13 @@ 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'
|
- 'pypy3.11-v7.3.19'
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python ${{ matrix.pypy }}
|
- name: setup-python ${{ matrix.pypy }}
|
||||||
id: setup-python
|
id: setup-python
|
||||||
@@ -98,7 +98,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python ${{ matrix.pypy }}
|
- name: setup-python ${{ matrix.pypy }}
|
||||||
id: setup-python
|
id: setup-python
|
||||||
@@ -146,11 +146,11 @@ jobs:
|
|||||||
ubuntu-latest,
|
ubuntu-latest,
|
||||||
macos-15-intel
|
macos-15-intel
|
||||||
]
|
]
|
||||||
pypy: ['pypy2.7', 'pypy3.9', 'pypy3.10-nightly', 'pypy3.11']
|
pypy: ['pypy2.7', 'pypy3.9', 'pypy3.11-nightly', 'pypy3.11']
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python ${{ matrix.pypy }}
|
- name: setup-python ${{ matrix.pypy }}
|
||||||
id: setup-python
|
id: setup-python
|
||||||
@@ -181,7 +181,7 @@ jobs:
|
|||||||
macos-15-intel
|
macos-15-intel
|
||||||
]
|
]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup PyPy and check latest
|
- name: Setup PyPy and check latest
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
@@ -223,7 +223,7 @@ jobs:
|
|||||||
macos-15-intel
|
macos-15-intel
|
||||||
]
|
]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup PyPy and check latest
|
- name: Setup PyPy and check latest
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ jobs:
|
|||||||
python: [3.13.0t, 3.13.1t, 3.13.2t]
|
python: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python ${{ matrix.python }}
|
- name: setup-python ${{ matrix.python }}
|
||||||
id: setup-python
|
id: setup-python
|
||||||
@@ -70,7 +70,7 @@ jobs:
|
|||||||
python: [3.13.0t, 3.13.1t, 3.13.2t]
|
python: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
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
|
||||||
@@ -110,7 +110,7 @@ jobs:
|
|||||||
python: [3.13.0t, 3.13.1t, 3.13.2t]
|
python: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
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
|
||||||
@@ -148,7 +148,7 @@ jobs:
|
|||||||
python: [3.13.0, 3.13.1, 3.13.2]
|
python: [3.13.0, 3.13.1, 3.13.2]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: build-version-file ${{ matrix.python }}
|
- name: build-version-file ${{ matrix.python }}
|
||||||
run: |
|
run: |
|
||||||
@@ -189,7 +189,7 @@ jobs:
|
|||||||
python: [3.13.0, 3.13.1, 3.13.2]
|
python: [3.13.0, 3.13.1, 3.13.2]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: build-version-file ${{ matrix.python }}
|
- name: build-version-file ${{ matrix.python }}
|
||||||
run: |
|
run: |
|
||||||
@@ -230,7 +230,7 @@ jobs:
|
|||||||
python: [3.13.0t, 3.13.1t, 3.13.2t, 3.14t-dev]
|
python: [3.13.0t, 3.13.1t, 3.13.2t, 3.14t-dev]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: build-tool-versions-file ${{ matrix.python }}
|
- name: build-tool-versions-file ${{ matrix.python }}
|
||||||
run: |
|
run: |
|
||||||
@@ -261,7 +261,7 @@ jobs:
|
|||||||
python: [3.13t, 3.14t-dev]
|
python: [3.13t, 3.14t-dev]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: build-version-file ${{ matrix.python }}
|
- name: build-version-file ${{ matrix.python }}
|
||||||
run: |
|
run: |
|
||||||
@@ -301,7 +301,7 @@ jobs:
|
|||||||
python: [3.13.0t, 3.13.1t, 3.13.2t, 3.14t-dev]
|
python: [3.13.0t, 3.13.1t, 3.13.2t, 3.14t-dev]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: build-version-file ${{ matrix.python }}
|
- name: build-version-file ${{ matrix.python }}
|
||||||
run: |
|
run: |
|
||||||
@@ -340,7 +340,7 @@ jobs:
|
|||||||
]
|
]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python 3.14.0-alpha.6
|
- name: setup-python 3.14.0-alpha.6
|
||||||
id: setup-python
|
id: setup-python
|
||||||
@@ -377,7 +377,7 @@ jobs:
|
|||||||
]
|
]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python 3.14t-dev
|
- name: setup-python 3.14t-dev
|
||||||
id: setup-python
|
id: setup-python
|
||||||
@@ -414,7 +414,7 @@ jobs:
|
|||||||
]
|
]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python 3.14t
|
- name: setup-python 3.14t
|
||||||
id: setup-python
|
id: setup-python
|
||||||
@@ -453,7 +453,7 @@ jobs:
|
|||||||
python: [3.13.0t, 3.13.1t, 3.13.2t]
|
python: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python ${{ matrix.python }}
|
- name: setup-python ${{ matrix.python }}
|
||||||
id: setup-python
|
id: setup-python
|
||||||
@@ -485,7 +485,7 @@ jobs:
|
|||||||
]
|
]
|
||||||
python-version: [3.13t, 3.14t-dev]
|
python-version: [3.13t, 3.14t-dev]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python and check latest
|
- name: Setup Python and check latest
|
||||||
id: setup-python
|
id: setup-python
|
||||||
uses: ./
|
uses: ./
|
||||||
@@ -511,7 +511,7 @@ jobs:
|
|||||||
macos-15-intel
|
macos-15-intel
|
||||||
]
|
]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python and check latest
|
- name: Setup Python and check latest
|
||||||
id: setup-python
|
id: setup-python
|
||||||
uses: ./
|
uses: ./
|
||||||
@@ -542,7 +542,7 @@ jobs:
|
|||||||
python: [3.13.1, 3.13.2, 3.14-dev, 3.14.0-alpha.6]
|
python: [3.13.1, 3.13.2, 3.14-dev, 3.14.0-alpha.6]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
- name: setup-python ${{ matrix.python }}
|
- name: setup-python ${{ matrix.python }}
|
||||||
id: setup-python
|
id: setup-python
|
||||||
uses: ./
|
uses: ./
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ jobs:
|
|||||||
python: [3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.2]
|
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@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python ${{ matrix.python }}
|
- name: setup-python ${{ matrix.python }}
|
||||||
id: setup-python
|
id: setup-python
|
||||||
@@ -77,7 +77,7 @@ jobs:
|
|||||||
python: [3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.2]
|
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@v5
|
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
|
||||||
@@ -124,7 +124,7 @@ jobs:
|
|||||||
python: [3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.2]
|
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@v5
|
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
|
||||||
@@ -169,7 +169,7 @@ jobs:
|
|||||||
python: [3.9.13, 3.10.11, 3.11.9, '==3.12.3', 3.13.2]
|
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@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: build-version-file ${{ matrix.python }}
|
- name: build-version-file ${{ matrix.python }}
|
||||||
run: |
|
run: |
|
||||||
@@ -219,7 +219,7 @@ jobs:
|
|||||||
python: [3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.2]
|
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@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: build-version-file ${{ matrix.python }}
|
- name: build-version-file ${{ matrix.python }}
|
||||||
run: |
|
run: |
|
||||||
@@ -272,7 +272,7 @@ jobs:
|
|||||||
python: graalpy-24.1.2
|
python: graalpy-24.1.2
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: build-tool-versions-file ${{ matrix.python }}
|
- name: build-tool-versions-file ${{ matrix.python }}
|
||||||
run: |
|
run: |
|
||||||
@@ -303,7 +303,7 @@ jobs:
|
|||||||
python: [3.9.13, 3.10.11, 3.11.9, 3.13.2]
|
python: [3.9.13, 3.10.11, 3.11.9, 3.13.2]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: build-version-file ${{ matrix.python }}
|
- name: build-version-file ${{ matrix.python }}
|
||||||
run: |
|
run: |
|
||||||
@@ -353,7 +353,7 @@ jobs:
|
|||||||
python: [3.9.13, 3.10.11, 3.11.9, 3.13.2]
|
python: [3.9.13, 3.10.11, 3.11.9, 3.13.2]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: build-version-file ${{ matrix.python }}
|
- name: build-version-file ${{ matrix.python }}
|
||||||
run: |
|
run: |
|
||||||
@@ -402,7 +402,7 @@ jobs:
|
|||||||
]
|
]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python 3.14.0-alpha.6
|
- name: setup-python 3.14.0-alpha.6
|
||||||
id: setup-python
|
id: setup-python
|
||||||
@@ -445,7 +445,7 @@ jobs:
|
|||||||
]
|
]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python 3.14-dev
|
- name: setup-python 3.14-dev
|
||||||
id: setup-python
|
id: setup-python
|
||||||
@@ -482,7 +482,7 @@ jobs:
|
|||||||
]
|
]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python 3.14
|
- name: setup-python 3.14
|
||||||
id: setup-python
|
id: setup-python
|
||||||
@@ -521,7 +521,7 @@ jobs:
|
|||||||
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@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: setup-python ${{ matrix.python }}
|
- name: setup-python ${{ matrix.python }}
|
||||||
id: setup-python
|
id: setup-python
|
||||||
@@ -553,7 +553,7 @@ jobs:
|
|||||||
]
|
]
|
||||||
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@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python and check latest
|
- name: Setup Python and check latest
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
@@ -585,7 +585,7 @@ jobs:
|
|||||||
macos-15-intel
|
macos-15-intel
|
||||||
]
|
]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup Python and check latest
|
- name: Setup Python and check latest
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -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
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.
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.
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.
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.
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.
Binary file not shown.
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.
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.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
@@ -25,7 +25,7 @@ See [action.yml](action.yml)
|
|||||||
**Python**
|
**Python**
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: '3.13'
|
python-version: '3.13'
|
||||||
@@ -35,7 +35,7 @@ steps:
|
|||||||
**PyPy**
|
**PyPy**
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: 'pypy3.10'
|
python-version: 'pypy3.10'
|
||||||
@@ -45,7 +45,7 @@ steps:
|
|||||||
**GraalPy**
|
**GraalPy**
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: 'graalpy-24.0'
|
python-version: 'graalpy-24.0'
|
||||||
@@ -55,7 +55,7 @@ steps:
|
|||||||
**Free threaded Python**
|
**Free threaded Python**
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: '3.13t'
|
python-version: '3.13t'
|
||||||
@@ -90,7 +90,7 @@ The action defaults to searching for a dependency file (`requirements.txt` or `p
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: '3.13'
|
python-version: '3.13'
|
||||||
|
|||||||
@@ -190,19 +190,12 @@ virtualenvs.path = "{cache-dir}/virtualenvs" # /Users/patrick/Library/Caches/py
|
|||||||
|
|
||||||
restoredKeys.forEach(restoredKey => {
|
restoredKeys.forEach(restoredKey => {
|
||||||
if (restoredKey) {
|
if (restoredKey) {
|
||||||
if (process.platform === 'linux' && packageManager === 'pip') {
|
const osSegment =
|
||||||
expect(infoSpy).toHaveBeenCalledWith(
|
process.platform === 'linux' ? '-20.04-Ubuntu' : '';
|
||||||
`Cache restored from key: setup-python-${process.env['RUNNER_OS']}-${process.arch}-20.04-Ubuntu-python-${pythonVersion}-${packageManager}-${fileHash}`
|
const versionSuffix = packageManager === 'poetry' ? '-v2' : '';
|
||||||
);
|
expect(infoSpy).toHaveBeenCalledWith(
|
||||||
} else if (packageManager === 'poetry') {
|
`Cache restored from key: setup-python-${process.env['RUNNER_OS']}-${process.arch}${osSegment}-python-${pythonVersion}-${packageManager}${versionSuffix}-${fileHash}`
|
||||||
expect(infoSpy).toHaveBeenCalledWith(
|
);
|
||||||
`Cache restored from key: setup-python-${process.env['RUNNER_OS']}-${process.arch}-python-${pythonVersion}-${packageManager}-v2-${fileHash}`
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
expect(infoSpy).toHaveBeenCalledWith(
|
|
||||||
`Cache restored from key: setup-python-${process.env['RUNNER_OS']}-${process.arch}-python-${pythonVersion}-${packageManager}-${fileHash}`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
expect(infoSpy).toHaveBeenCalledWith(
|
expect(infoSpy).toHaveBeenCalledWith(
|
||||||
`${packageManager} cache is not found`
|
`${packageManager} cache is not found`
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ python = ">=3.9,<3.14"
|
|||||||
flake8 = "^4.0.1"
|
flake8 = "^4.0.1"
|
||||||
pyinstaller = "6.10.0"
|
pyinstaller = "6.10.0"
|
||||||
setuptools = ">=78.1.1"
|
setuptools = ">=78.1.1"
|
||||||
|
packaging = ">=22.0,<26"
|
||||||
|
|
||||||
[tool.poetry.dev-dependencies]
|
[tool.poetry.dev-dependencies]
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
certifi==2020.6.20
|
certifi==2020.6.20
|
||||||
chardet==3.0.4
|
chardet==3.0.4
|
||||||
docutils==0.16
|
docutils==0.16
|
||||||
idna==3.7
|
idna==3.15
|
||||||
Kivy==2.0.0rc3
|
Kivy==2.0.0rc3
|
||||||
Kivy-Garden==0.1.4
|
Kivy-Garden==0.1.4
|
||||||
packaging==20.7
|
packaging==20.7
|
||||||
pdf2image==1.12.1
|
pdf2image==1.12.1
|
||||||
Pygments==2.6.1
|
Pygments==2.20.0
|
||||||
requests==2.32.4
|
requests==2.33.0
|
||||||
urllib3==2.5.0
|
urllib3==2.7.0
|
||||||
xlrd==1.2.0
|
xlrd==1.2.0
|
||||||
@@ -8,7 +8,7 @@ docutils==0.16
|
|||||||
|
|
||||||
future==0.18.2; python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2'
|
future==0.18.2; python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2'
|
||||||
|
|
||||||
idna==3.7
|
idna==3.15
|
||||||
|
|
||||||
itsdangerous==1.1.0
|
itsdangerous==1.1.0
|
||||||
|
|
||||||
@@ -32,7 +32,7 @@ pefile==2021.9.3; python_full_version >= '3.6.0'
|
|||||||
|
|
||||||
pillow>=10.2.0
|
pillow>=10.2.0
|
||||||
|
|
||||||
pygments==2.6.1
|
pygments==2.20.0
|
||||||
|
|
||||||
pyinstaller==6.10.0
|
pyinstaller==6.10.0
|
||||||
|
|
||||||
@@ -40,8 +40,8 @@ pyparsing==2.4.7; python_version >= '2.6' and python_version not in '3.0, 3.1, 3
|
|||||||
|
|
||||||
pywin32-ctypes==0.2.0
|
pywin32-ctypes==0.2.0
|
||||||
|
|
||||||
requests==2.32.4
|
requests==2.33.0
|
||||||
|
|
||||||
urllib3==2.5.0
|
urllib3==2.7.0
|
||||||
|
|
||||||
xlrd==1.2.0
|
xlrd==1.2.0
|
||||||
Vendored
+82866
-79074
File diff suppressed because one or more lines are too long
Vendored
+60476
-62979
File diff suppressed because one or more lines are too long
+35
-35
@@ -33,7 +33,7 @@ If there is a specific version of Python that you need and you don't want to wor
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: '3.12.6'
|
python-version: '3.12.6'
|
||||||
@@ -47,7 +47,7 @@ You can specify **only a major and minor version** if you are okay with the most
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: '3.13'
|
python-version: '3.13'
|
||||||
@@ -61,7 +61,7 @@ You can specify the version with **prerelease tag** to download and set up an ac
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: '3.14.0-alpha.1'
|
python-version: '3.14.0-alpha.1'
|
||||||
@@ -72,7 +72,7 @@ It's also possible to use **x.y-dev syntax** to download and set up the latest p
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: '3.14-dev'
|
python-version: '3.14-dev'
|
||||||
@@ -85,7 +85,7 @@ Free threaded Python is only available starting with the 3.13 release.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: '3.13t'
|
python-version: '3.13t'
|
||||||
@@ -96,7 +96,7 @@ Note that the **t** suffix is not `semver` syntax. If you wish to specify a rang
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: '>=3.13'
|
python-version: '>=3.13'
|
||||||
@@ -110,7 +110,7 @@ You can also use several types of ranges that are specified in [semver](https://
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: '>=3.9 <3.14'
|
python-version: '>=3.9 <3.14'
|
||||||
@@ -121,7 +121,7 @@ steps:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: '3.13.0-alpha - 3.13.0'
|
python-version: '3.13.0-alpha - 3.13.0'
|
||||||
@@ -132,7 +132,7 @@ steps:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: '3.x'
|
python-version: '3.x'
|
||||||
@@ -165,7 +165,7 @@ jobs:
|
|||||||
- 'pypy3.10' # the latest available version of PyPy that supports Python 3.10
|
- 'pypy3.10' # the latest available version of PyPy that supports Python 3.10
|
||||||
- 'pypy3.10-v7.3.17' # Python 3.10 and PyPy 7.3.17
|
- 'pypy3.10-v7.3.17' # Python 3.10 and PyPy 7.3.17
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: ${{ matrix.python-version }}
|
python-version: ${{ matrix.python-version }}
|
||||||
@@ -183,7 +183,7 @@ jobs:
|
|||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: |
|
python-version: |
|
||||||
@@ -200,7 +200,7 @@ jobs:
|
|||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: |
|
python-version: |
|
||||||
@@ -217,7 +217,7 @@ jobs:
|
|||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: |
|
python-version: |
|
||||||
@@ -242,7 +242,7 @@ jobs:
|
|||||||
python-version: ['3.x', 'pypy3.8', 'pypy3.9' ]
|
python-version: ['3.x', 'pypy3.8', 'pypy3.9' ]
|
||||||
name: Python ${{ matrix.python-version }} sample
|
name: Python ${{ matrix.python-version }} sample
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v6
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
@@ -268,7 +268,7 @@ jobs:
|
|||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
python-version: '3.9'
|
python-version: '3.9'
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v6
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
@@ -286,7 +286,7 @@ jobs:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version-file: '.python-version' # Read python version from a file .python-version
|
python-version-file: '.python-version' # Read python version from a file .python-version
|
||||||
@@ -295,7 +295,7 @@ steps:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version-file: 'pyproject.toml' # Read python version from a file pyproject.toml
|
python-version-file: 'pyproject.toml' # Read python version from a file pyproject.toml
|
||||||
@@ -304,7 +304,7 @@ steps:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version-file: '.tool-versions' # Read python version from a file .tool-versions
|
python-version-file: '.tool-versions' # Read python version from a file .tool-versions
|
||||||
@@ -313,7 +313,7 @@ steps:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version-file: 'Pipfile' # Read python version from a file Pipfile
|
python-version-file: 'Pipfile' # Read python version from a file Pipfile
|
||||||
@@ -328,7 +328,7 @@ If `check-latest` is set to `true`, the action first checks if the cached versio
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: '3.13'
|
python-version: '3.13'
|
||||||
@@ -343,7 +343,7 @@ steps:
|
|||||||
**Caching pipenv dependencies:**
|
**Caching pipenv dependencies:**
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: '3.13'
|
python-version: '3.13'
|
||||||
@@ -356,7 +356,7 @@ steps:
|
|||||||
**Caching poetry dependencies:**
|
**Caching poetry dependencies:**
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Install poetry
|
- name: Install poetry
|
||||||
run: pipx install poetry
|
run: pipx install poetry
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
@@ -371,7 +371,7 @@ steps:
|
|||||||
**Using a list of file paths to cache dependencies**
|
**Using a list of file paths to cache dependencies**
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: '3.13'
|
python-version: '3.13'
|
||||||
@@ -386,7 +386,7 @@ steps:
|
|||||||
**Using wildcard patterns to cache dependencies**
|
**Using wildcard patterns to cache dependencies**
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: '3.13'
|
python-version: '3.13'
|
||||||
@@ -398,7 +398,7 @@ steps:
|
|||||||
**Using a list of wildcard patterns to cache dependencies**
|
**Using a list of wildcard patterns to cache dependencies**
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: '3.13'
|
python-version: '3.13'
|
||||||
@@ -413,7 +413,7 @@ steps:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: '3.13'
|
python-version: '3.13'
|
||||||
@@ -436,7 +436,7 @@ jobs:
|
|||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
id: cp312
|
id: cp312
|
||||||
with:
|
with:
|
||||||
@@ -453,7 +453,7 @@ jobs:
|
|||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
id: cp313
|
id: cp313
|
||||||
with:
|
with:
|
||||||
@@ -469,7 +469,7 @@ jobs:
|
|||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
id: cp313
|
id: cp313
|
||||||
with:
|
with:
|
||||||
@@ -500,7 +500,7 @@ Such a requirement on side-effect could be because you don't want your composite
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
id: cp313
|
id: cp313
|
||||||
with:
|
with:
|
||||||
@@ -555,8 +555,8 @@ GitHub hosted runners have a tool cache that comes with a few versions of Python
|
|||||||
|**PyPy tool cache**|`RUNNER_TOOL_CACHE/PyPy/*`|
|
|**PyPy tool cache**|`RUNNER_TOOL_CACHE/PyPy/*`|
|
||||||
|
|
||||||
GitHub runner images are set up in [actions/runner-images](https://github.com/actions/runner-images). During the setup, the available versions of Python and PyPy are automatically downloaded, set up and documented.
|
GitHub runner images are set up in [actions/runner-images](https://github.com/actions/runner-images). During the setup, the available versions of Python and PyPy are automatically downloaded, set up and documented.
|
||||||
- Tool cache setup for Ubuntu: [Install-Toolset.ps1](https://github.com/actions/runner-images/blob/main/images/linux/scripts/installers/Install-Toolset.ps1) [Configure-Toolset.ps1](https://github.com/actions/runner-images/blob/main/images/linux/scripts/installers/Configure-Toolset.ps1)
|
- Tool cache setup for Ubuntu: [Install-Toolset.ps1](https://github.com/actions/runner-images/blob/main/images/ubuntu/scripts/build/Install-Toolset.ps1) [Configure-Toolset.ps1](https://github.com/actions/runner-images/blob/main/images/ubuntu/scripts/build/Configure-Toolset.ps1)
|
||||||
- Tool cache setup for Windows: [Install-Toolset.ps1](https://github.com/actions/runner-images/blob/main/images/win/scripts/Installers/Install-Toolset.ps1) [Configure-Toolset.ps1](https://github.com/actions/runner-images/blob/main/images/win/scripts/Installers/Configure-Toolset.ps1)
|
- Tool cache setup for Windows: [Install-Toolset.ps1](https://github.com/actions/runner-images/blob/main/images/windows/scripts/build/Install-Toolset.ps1) [Configure-Toolset.ps1](https://github.com/actions/runner-images/blob/main/images/windows/scripts/build/Configure-Toolset.ps1)
|
||||||
|
|
||||||
|
|
||||||
## Using `setup-python` with a self-hosted runner
|
## Using `setup-python` with a self-hosted runner
|
||||||
@@ -646,7 +646,7 @@ jobs:
|
|||||||
python_version: ["3.14"]
|
python_version: ["3.14"]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: "${{ matrix.python_version }}"
|
python-version: "${{ matrix.python_version }}"
|
||||||
@@ -661,7 +661,7 @@ The version of Pip should be specified in the format `major`, `major.minor`, or
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v6
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
@@ -681,7 +681,7 @@ The `pip-install` input allows you to install dependencies as part of the Python
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v6
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
|
|||||||
Generated
+1408
-1187
File diff suppressed because it is too large
Load Diff
+11
-8
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "setup-python",
|
"name": "setup-python",
|
||||||
"version": "6.0.0",
|
"version": "6.3.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "Setup python action",
|
"description": "Setup python action",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
@@ -28,13 +28,13 @@
|
|||||||
"author": "GitHub",
|
"author": "GitHub",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/cache": "^4.0.3",
|
"@actions/cache": "^5.1.0",
|
||||||
"@actions/core": "^1.10.0",
|
"@actions/core": "^2.0.3",
|
||||||
"@actions/exec": "^1.1.0",
|
"@actions/exec": "^2.0.0",
|
||||||
"@actions/glob": "^0.5.0",
|
"@actions/glob": "^0.5.1",
|
||||||
"@actions/http-client": "^2.2.3",
|
"@actions/http-client": "^3.0.2",
|
||||||
"@actions/io": "^1.0.2",
|
"@actions/io": "^2.0.0",
|
||||||
"@actions/tool-cache": "^2.0.2",
|
"@actions/tool-cache": "^3.0.1",
|
||||||
"@iarna/toml": "^3.0.0",
|
"@iarna/toml": "^3.0.0",
|
||||||
"semver": "^7.7.1"
|
"semver": "^7.7.1"
|
||||||
},
|
},
|
||||||
@@ -54,5 +54,8 @@
|
|||||||
"prettier": "^3.6.2",
|
"prettier": "^3.6.2",
|
||||||
"ts-jest": "^29.3.2",
|
"ts-jest": "^29.3.2",
|
||||||
"typescript": "^5.9.3"
|
"typescript": "^5.9.3"
|
||||||
|
},
|
||||||
|
"overrides": {
|
||||||
|
"fast-xml-parser": "^5.9.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import * as cache from '@actions/cache';
|
import * as cache from '@actions/cache';
|
||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
|
import {getOSInfo, IS_LINUX} from '../utils';
|
||||||
import {CACHE_DEPENDENCY_BACKUP_PATH} from './constants';
|
import {CACHE_DEPENDENCY_BACKUP_PATH} from './constants';
|
||||||
|
|
||||||
export enum State {
|
export enum State {
|
||||||
@@ -22,6 +23,33 @@ abstract class CacheDistributor {
|
|||||||
}>;
|
}>;
|
||||||
protected async handleLoadedCache() {}
|
protected async handleLoadedCache() {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Builds the Linux distro portion of a cache key (e.g. `-26.04-Ubuntu`, `-9-rhel`).
|
||||||
|
* RHEL is keyed by major version since it ships one ABI-stable artifact per major.
|
||||||
|
*/
|
||||||
|
protected async getLinuxInfoKeySegment(): Promise<string> {
|
||||||
|
if (!IS_LINUX) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
const osInfo = await getOSInfo();
|
||||||
|
if (!osInfo) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
// lsb_release reports RHEL as "RedHatEnterpriseLinux" while /etc/os-release
|
||||||
|
// reports it as "rhel"; normalize both to "rhel" so the key is consistent.
|
||||||
|
const normalizedName = osInfo.osName.toLowerCase();
|
||||||
|
const isRhel =
|
||||||
|
normalizedName === 'rhel' || normalizedName.includes('redhat');
|
||||||
|
const osName = isRhel ? 'rhel' : osInfo.osName;
|
||||||
|
const osVersion = isRhel
|
||||||
|
? osInfo.osVersion.split('.')[0]
|
||||||
|
: osInfo.osVersion;
|
||||||
|
|
||||||
|
return `-${osVersion}-${osName}`;
|
||||||
|
}
|
||||||
|
|
||||||
public async restoreCache() {
|
public async restoreCache() {
|
||||||
const {primaryKey, restoreKey} = await this.computeKeys();
|
const {primaryKey, restoreKey} = await this.computeKeys();
|
||||||
if (primaryKey.endsWith('-')) {
|
if (primaryKey.endsWith('-')) {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import * as path from 'path';
|
|||||||
import os from 'os';
|
import os from 'os';
|
||||||
|
|
||||||
import CacheDistributor from './cache-distributor';
|
import CacheDistributor from './cache-distributor';
|
||||||
import {getLinuxInfo, IS_LINUX, IS_WINDOWS} from '../utils';
|
import {IS_WINDOWS} from '../utils';
|
||||||
import {CACHE_DEPENDENCY_BACKUP_PATH} from './constants';
|
import {CACHE_DEPENDENCY_BACKUP_PATH} from './constants';
|
||||||
|
|
||||||
class PipCache extends CacheDistributor {
|
class PipCache extends CacheDistributor {
|
||||||
@@ -21,24 +21,28 @@ class PipCache extends CacheDistributor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected async getCacheGlobalDirectories() {
|
protected async getCacheGlobalDirectories() {
|
||||||
let exitCode = 1;
|
let exitCode = 0;
|
||||||
let stdout = '';
|
let stdout = '';
|
||||||
let stderr = '';
|
let stderr = '';
|
||||||
|
|
||||||
// Add temporary fix for Windows
|
// Add temporary fix for Windows
|
||||||
// On windows it is necessary to execute through an exec
|
// On Windows, it is necessary to execute through an exec
|
||||||
// because the getExecOutput gives a non zero code or writes to stderr for pip 22.0.2,
|
// because the getExecOutput gives a non-zero code or writes to stderr for pip 22.0.2,
|
||||||
// or spawn must be started with the shell option enabled for getExecOutput
|
// or spawn must be started with the shell option enabled for getExecOutput
|
||||||
// Related issue: https://github.com/actions/setup-python/issues/328
|
// Related issue: https://github.com/actions/setup-python/issues/328
|
||||||
if (IS_WINDOWS) {
|
if (IS_WINDOWS) {
|
||||||
const execPromisify = utils.promisify(child_process.exec);
|
const execPromisify = utils.promisify(child_process.exec);
|
||||||
({stdout: stdout, stderr: stderr} = await execPromisify('pip cache dir'));
|
try {
|
||||||
|
({stdout, stderr} = await execPromisify('pip cache dir'));
|
||||||
|
} catch (err) {
|
||||||
|
// Pip outputs warnings to stderr (e.g., --no-python-version-warning flag deprecation warning), causing false failure detection
|
||||||
|
// Related issue: https://github.com/actions/setup-python/issues/1034
|
||||||
|
// If an error occurs, capture stderr and set exitCode to 1 to indicate failure
|
||||||
|
stderr = (err as any).stderr ?? (err as Error).message;
|
||||||
|
exitCode = 1;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
({
|
({stdout, stderr, exitCode} = await exec.getExecOutput('pip cache dir'));
|
||||||
stdout: stdout,
|
|
||||||
stderr: stderr,
|
|
||||||
exitCode: exitCode
|
|
||||||
} = await exec.getExecOutput('pip cache dir'));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (exitCode && stderr) {
|
if (exitCode && stderr) {
|
||||||
@@ -62,17 +66,9 @@ class PipCache extends CacheDistributor {
|
|||||||
const hash =
|
const hash =
|
||||||
(await glob.hashFiles(this.cacheDependencyPath)) ||
|
(await glob.hashFiles(this.cacheDependencyPath)) ||
|
||||||
(await glob.hashFiles(this.cacheDependencyBackupPath));
|
(await glob.hashFiles(this.cacheDependencyBackupPath));
|
||||||
let primaryKey = '';
|
const osSegment = await this.getLinuxInfoKeySegment();
|
||||||
let restoreKey = '';
|
const primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}${osSegment}-python-${this.pythonVersion}-${this.packageManager}-${hash}`;
|
||||||
|
const restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}${osSegment}-python-${this.pythonVersion}-${this.packageManager}`;
|
||||||
if (IS_LINUX) {
|
|
||||||
const osInfo = await getLinuxInfo();
|
|
||||||
primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}-${hash}`;
|
|
||||||
restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}`;
|
|
||||||
} else {
|
|
||||||
primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-python-${this.pythonVersion}-${this.packageManager}-${hash}`;
|
|
||||||
restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-python-${this.pythonVersion}-${this.packageManager}`;
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
primaryKey,
|
primaryKey,
|
||||||
|
|||||||
@@ -32,7 +32,8 @@ class PipenvCache extends CacheDistributor {
|
|||||||
|
|
||||||
protected async computeKeys() {
|
protected async computeKeys() {
|
||||||
const hash = await glob.hashFiles(this.patterns);
|
const hash = await glob.hashFiles(this.patterns);
|
||||||
const primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-python-${this.pythonVersion}-${this.packageManager}-${hash}`;
|
const osSegment = await this.getLinuxInfoKeySegment();
|
||||||
|
const primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}${osSegment}-python-${this.pythonVersion}-${this.packageManager}-${hash}`;
|
||||||
const restoreKey = undefined;
|
const restoreKey = undefined;
|
||||||
return {
|
return {
|
||||||
primaryKey,
|
primaryKey,
|
||||||
|
|||||||
@@ -46,8 +46,9 @@ class PoetryCache extends CacheDistributor {
|
|||||||
|
|
||||||
protected async computeKeys() {
|
protected async computeKeys() {
|
||||||
const hash = await glob.hashFiles(this.patterns);
|
const hash = await glob.hashFiles(this.patterns);
|
||||||
|
const osSegment = await this.getLinuxInfoKeySegment();
|
||||||
// "v2" is here to invalidate old caches of this cache distributor, which were created broken:
|
// "v2" is here to invalidate old caches of this cache distributor, which were created broken:
|
||||||
const primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-python-${this.pythonVersion}-${this.packageManager}-v2-${hash}`;
|
const primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}${osSegment}-python-${this.pythonVersion}-${this.packageManager}-v2-${hash}`;
|
||||||
const restoreKey = undefined;
|
const restoreKey = undefined;
|
||||||
return {
|
return {
|
||||||
primaryKey,
|
primaryKey,
|
||||||
|
|||||||
+5
-1
@@ -70,7 +70,11 @@ async function saveCache(packageManager: string) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cacheId == -1) {
|
if (cacheId === -1) {
|
||||||
|
// saveCache returns -1 without throwing when the cache was not saved, e.g.
|
||||||
|
// a reserve collision or a read-only token (fork PR). @actions/cache has
|
||||||
|
// already logged the reason at the appropriate severity, so just trace it.
|
||||||
|
core.debug(`Cache was not saved for the key: ${primaryKey}`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
core.info(`Cache saved with the key: ${primaryKey}`);
|
core.info(`Cache saved with the key: ${primaryKey}`);
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user