Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
28f2168
Bump minimatch from 3.1.2 to 3.1.5 (#1281)
dependabot[bot] Mar 9, 2026
c8813ba
Upgrade @actions dependencies and update licenses (#1303)
Copilot Apr 15, 2026
fa8bde1
Bump @actions/cache to 5.1.0, log cache write denied
jasongin Jun 18, 2026
6f4b74b
Strict equality
jasongin Jun 18, 2026
dc6eab6
Update dist
jasongin Jun 18, 2026
0cb1a84
Add RHEL support and include Linux distro in cache keys (#1323)
v-priyagupta108 Jun 18, 2026
6731c2b
Resolve high-severity audit issues
jasongin Jun 19, 2026
8f639b1
Merge pull request #1324 from jasongin/update-actions-cache-5.1.0
Link- Jun 23, 2026
d2b357a
Update dependency versions and test workflow configuration (#1322)
v-HarithaVattikuti Jun 23, 2026
1d18d7a
Update advanced-usage.md (#811)
Dunky-Z Jun 23, 2026
ece7cb0
Fix pip cache error handling on Windows. (#1040)
v-priyagupta108 Jun 23, 2026
0903b46
Bump certifi from 2020.6.20 to 2024.7.4 in /__tests__/data (#1328)
dependabot[bot] Jul 10, 2026
6849080
remove EOL Python versions and Bumps numpy text fixture (#1333)
v-priya-kinthali Jul 13, 2026
c709277
Annotation code fix (#1335)
v-lmvysakh Jul 13, 2026
54baeea
Validate and retry manifest fetch to prevent silent failures (#1332)
v-priyagupta108 Jul 14, 2026
f8cf429
Migrate to ESM and upgrade dependencies (#1330)
v-priyagupta108 Jul 15, 2026
0f3a009
Remove the pip-install input (#1336)
v-gowridurgad Jul 16, 2026
4ab7e95
Merge pull request #1337 from actions/philip-gai/bump-actions-cache-6…
philip-gai Jul 16, 2026
5fda3b9
Pin SHA commits and update docs with latest versions (#1338)
v-HarithaVattikuti Jul 20, 2026
39c6069
Sync upstream v7 and move to @warpbuilds/cache 2.x
janakiram7755 Jul 30, 2026
a4ce695
Pin brace-expansion to clear the high-severity audit finding
janakiram7755 Jul 30, 2026
87ec11d
Move macOS CI to warp-macos-15 runners
janakiram7755 Aug 3, 2026
8f0c60b
Move to @warpbuilds/cache 2.0.0-1
janakiram7755 Aug 3, 2026
541f7ab
Regenerate license manifests for 2.0.0-1
janakiram7755 Aug 3, 2026
2f77716
Address zizmor findings and drop the redundant brace-expansion override
janakiram7755 Aug 3, 2026
69aad45
Move to @warpbuilds/cache 2.0.0
janakiram7755 Aug 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Remove the pip-install input (actions#1336)
* Remove the pip-install input

* Resloves merge conflicts

---------

Co-authored-by: gowridurgad <gowridurgad@gmail.com>
  • Loading branch information
v-gowridurgad and gowridurgad authored Jul 16, 2026
commit 0f3a009f475dbea83c0371cd85d099690fee8c5c
59 changes: 0 additions & 59 deletions .github/workflows/e2e-cache-freethreaded.yml
Original file line number Diff line number Diff line change
Expand Up @@ -257,62 +257,3 @@ jobs:
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-22.04,
ubuntu-latest,
ubuntu-24.04-arm,
windows-latest,
windows-11-arm,
macos-15-intel,
macos-latest
]
python-version: [3.13.14t, 3.14.6t]
exclude:
- os: windows-11-arm
python-version: 3.13.14t
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-22.04,
ubuntu-latest,
ubuntu-24.04-arm,
windows-latest,
windows-11-arm,
macos-15-intel,
macos-latest
]
python-version: [3.13.14t, 3.14.6t]
exclude:
- os: windows-11-arm
python-version: 3.13.14t
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
59 changes: 0 additions & 59 deletions .github/workflows/e2e-cache.yml
Original file line number Diff line number Diff line change
Expand Up @@ -300,62 +300,3 @@ jobs:
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-22.04,
ubuntu-latest,
ubuntu-24.04-arm,
windows-latest,
windows-11-arm,
macos-15-intel,
macos-latest
]
python-version: ['3.10', '3.11', '3.12', '3.13', '3.14']
exclude:
- os: windows-11-arm
python-version: '3.10'
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-22.04,
ubuntu-latest,
ubuntu-24.04-arm,
windows-latest,
windows-11-arm,
macos-15-intel,
macos-latest
]
python-version: ['3.10', '3.11', '3.12', '3.13', '3.14']
exclude:
- os: windows-11-arm
python-version: '3.10'
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
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,6 @@ See examples of using `cache` and `cache-dependency-path` for `pipenv` and `poet
- [Using `setup-python` on GHES](docs/advanced-usage.md#using-setup-python-on-ghes)
- [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

Expand Down
2 changes: 0 additions & 2 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@ inputs:
default: false
pip-version:
description: "Used to specify the version of pip to install with the Python. Supported format: major[.minor][.patch]."
pip-install:
description: "Used to specify the packages to install with pip after setting up Python. Can be a requirements file or package names."
outputs:
python-version:
description: "The installed Python or PyPy version. Useful when given a version range as input."
Expand Down
16 changes: 0 additions & 16 deletions dist/setup/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -102864,24 +102864,12 @@ function getCacheDistributor(packageManager, pythonVersion, cacheDependencyPath)




function isPyPyVersion(versionSpec) {
return versionSpec.startsWith('pypy');
}
function isGraalPyVersion(versionSpec) {
return versionSpec.startsWith('graalpy');
}
async function installPipPackages(pipInstall) {
info(`Installing pip packages: ${pipInstall}`);
try {
const installArgs = pipInstall.trim().split(/\s+/);
await exec_exec('python', ['-m', 'pip', 'install', ...installArgs]);
info('Successfully installed pip packages');
}
catch {
setFailed(`Failed to install pip packages from "${pipInstall}". Please verify that the package names, versions, or requirements files provided are correct and installable, that the specified packages and versions can be resolved from PyPI or the configured package index, and that your network connection is stable and allows access to the package index.`);
}
}
async function cacheDependencies(cache, pythonVersion) {
const cacheDependencyPath = getInput('cache-dependency-path') || undefined;
const cacheDistributor = getCacheDistributor(cache, pythonVersion, cacheDependencyPath);
Expand Down Expand Up @@ -102966,10 +102954,6 @@ async function run() {
if (cache && isCacheFeatureAvailable()) {
await cacheDependencies(cache, pythonVersion);
}
const pipInstall = getInput('pip-install');
if (pipInstall) {
await installPipPackages(pipInstall);
}
}
else {
warning('The `python-version` input is not set. The version of Python currently in `PATH` will be used.');
Expand Down
20 changes: 0 additions & 20 deletions docs/advanced-usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
- [Using `setup-python` on GHES](advanced-usage.md#using-setup-python-on-ghes)
- [Allow pre-releases](advanced-usage.md#allow-pre-releases)
- [Using the pip-version input](advanced-usage.md#using-the-pip-version-input)
- [Using the pip-install input](advanced-usage.md#using-the-pip-install-input)

## Using the `python-version` input

Expand Down Expand Up @@ -673,22 +672,3 @@ The version of Pip should be specified in the format `major`, `major.minor`, or
> The `pip-version` input is supported only with standard Python versions. It is not available when using PyPy or GraalPy.

> Using a specific or outdated version of pip may result in compatibility or security issues and can cause job failures. For best practices and guidance, refer to the official [pip documentation](https://pip.pypa.io/en/stable/).

## Using the pip-install input

The `pip-install` input allows you to install dependencies as part of the Python setup step.


```yaml
steps:
- uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.13'
pip-install: -r requirements.txt
```
> Note: This feature is intended for standard pip-based dependency installations.
For complex workflows, or alternative package managers (e.g., poetry, pipenv), we recommend using separate steps to maintain clarity and flexibility.

> The `pip-install` input mirrors the flexibility of a standard pip install command and supports most of its arguments.
18 changes: 0 additions & 18 deletions src/setup-python.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import {
getVersionInputFromFile,
getVersionsInputFromPlainFile
} from './utils.js';
import {exec} from '@actions/exec';

function isPyPyVersion(versionSpec: string) {
return versionSpec.startsWith('pypy');
Expand All @@ -24,19 +23,6 @@ function isGraalPyVersion(versionSpec: string) {
return versionSpec.startsWith('graalpy');
}

async function installPipPackages(pipInstall: string) {
core.info(`Installing pip packages: ${pipInstall}`);
try {
const installArgs = pipInstall.trim().split(/\s+/);
await exec('python', ['-m', 'pip', 'install', ...installArgs]);
core.info('Successfully installed pip packages');
} catch {
core.setFailed(
`Failed to install pip packages from "${pipInstall}". Please verify that the package names, versions, or requirements files provided are correct and installable, that the specified packages and versions can be resolved from PyPI or the configured package index, and that your network connection is stable and allows access to the package index.`
);
}
}

async function cacheDependencies(cache: string, pythonVersion: string) {
const cacheDependencyPath =
core.getInput('cache-dependency-path') || undefined;
Expand Down Expand Up @@ -160,10 +146,6 @@ async function run() {
if (cache && isCacheFeatureAvailable()) {
await cacheDependencies(cache, pythonVersion);
}
const pipInstall = core.getInput('pip-install');
if (pipInstall) {
await installPipPackages(pipInstall);
}
} else {
core.warning(
'The `python-version` input is not set. The version of Python currently in `PATH` will be used.'
Expand Down