GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Sync with upstream & set uvLockHash to a value removing TODO by dhvcc · Pull Request #1 · akx/setup-python

Conversation

@dhvcc

@dhvcc dhvcc commented Nov 19, 2025

Copy link
Copy Markdown

Hey, currently the PR actions#818 has conflicts and an unresolved TODO. I've synced it with upstream and fixed the TODO

No conflicts, was able to ff-only merge with current upstream main

┌ alexeyartishevsky in 📁 setup-python 🌿 HEAD  at 09:28:22 
└❯ gm - --ff-only
Updating bfc4944..dac737d
Fast-forward
 __tests__/cache-restore.test.ts          |    12 +
 __tests__/cache-save.test.ts             |    29 +
 dist/cache-save/index.js                 | 13237 ++++++++++++++++++++++++++++-------------------------------------------------------------------------------------
 dist/setup/index.js                      | 14623 +++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------
 src/cache-distributions/cache-factory.ts |     6 +-
 src/cache-distributions/uv-cache.ts      |    36 +
 6 files changed, 7584 insertions(+), 20359 deletions(-)
 create mode 100644 src/cache-distributions/uv-cache.ts

Tests also pass for both the branch, and ff-merged upstream main

┌ alexeyartishevsky in 📁 setup-python 🌿 HEAD  at 09:28:45 
└❯ npm run test 

> [email protected] test
> jest --runInBand --coverage

 PASS  __tests__/cache-restore.test.ts
  restore-cache
    Validate provided package manager
      ✓ Throw an error because npm is not supported (7 ms)
      ✓ Throw an error because pip2 is not supported (1 ms)
      ✓ Throw an error because pip21 is not supported (1 ms)
      ✓ Throw an error because pip21.3 is not supported
      ✓ Throw an error because pipenv32 is not supported
    Restore dependencies
      ✓ restored dependencies for pip by primaryKey (12 ms)
      ✓ restored dependencies for pip by primaryKey (2 ms)
      ✓ restored dependencies for pip by primaryKey (1 ms)
      ✓ restored dependencies for pip by primaryKey (1 ms)
      ✓ restored dependencies for pipenv by primaryKey (2 ms)
      ✓ restored dependencies for pipenv by primaryKey (1 ms)
      ✓ restored dependencies for poetry by primaryKey (3 ms)
      ✓ restored dependencies for uv by primaryKey (2 ms)
      ✓ Should throw an error because dependency file is not found (1 ms)
      ✓ Shouldn`t throw an error as there is a default file `pyproject.toml` to use when requirements.txt is not specified (302 ms)
      ✓ Shouldn`t throw an error as there is a default file `pyproject.toml` to use when requirements.txt is not specified (296 ms)
      ✓ Should throw an error as there is no default file `pyproject.toml` to use when requirements.txt is not specified (303 ms)
      ✓ Should throw an error as there is no default file `pyproject.toml` to use when requirements.txt is not specified (304 ms)
    Dependencies changed
      ✓ restored dependencies for pip by primaryKey (2 ms)
      ✓ restored dependencies for pip by primaryKey (1 ms)
      ✓ restored dependencies for pip by primaryKey
      ✓ restored dependencies for pip by primaryKey (1 ms)
      ✓ restored dependencies for pipenv by primaryKey (1 ms)
      ✓ restored dependencies for pipenv by primaryKey (1 ms)
      ✓ restored dependencies for poetry by primaryKey (2 ms)
    Check if handleMatchResult
      ✓ sets correct outputs
      ✓ sets correct outputs
      ✓ sets correct outputs (1 ms)
      ✓ sets correct outputs
      ✓ sets correct outputs
      ✓ sets correct outputs

 PASS  __tests__/find-pypy.test.ts
  parsePyPyVersion
    ✓ pypy-3.6-v7.3.3 -> { pythonVersion: '3.6', pypyVersion: 'v7.3.3' } (2 ms)
    ✓ pypy-3.6-v7.3.x -> { pythonVersion: '3.6', pypyVersion: 'v7.3.x' }
    ✓ pypy-3.6-v7.x -> { pythonVersion: '3.6', pypyVersion: 'v7.x' } (1 ms)
    ✓ pypy-3.6 -> { pythonVersion: '3.6', pypyVersion: 'x' }
    ✓ pypy-3.6-nightly -> { pythonVersion: '3.6', pypyVersion: 'nightly' }
    ✓ pypy-3.6-v7.3.3rc1 -> { pythonVersion: '3.6', pypyVersion: 'v7.3.3-rc.1' }
    ✓ pypy3.8-v7.3.7 -> { pythonVersion: '3.8', pypyVersion: 'v7.3.7' }
    ✓ pypy3.8-v7.3.x -> { pythonVersion: '3.8', pypyVersion: 'v7.3.x' }
    ✓ pypy3.8-v7.x -> { pythonVersion: '3.8', pypyVersion: 'v7.x' }
    ✓ pypy3.8 -> { pythonVersion: '3.8', pypyVersion: 'x' }
    ✓ pypy3.9-nightly -> { pythonVersion: '3.9', pypyVersion: 'nightly' }
    ✓ pypy3.9-v7.3.8rc1 -> { pythonVersion: '3.9', pypyVersion: 'v7.3.8-rc.1' }
    ✓ throw on invalid input "" (8 ms)
    ✓ throw on invalid input "pypy-" (1 ms)
    ✓ throw on invalid input "pypy"
    ✓ throw on invalid input "p"
    ✓ throw on invalid input "notpypy-"
    ✓ throw on invalid input "pypy-2" (1 ms)
    ✓ throw on invalid input "pypy-3"
    ✓ throw on invalid input "pypy2"
    ✓ throw on invalid input "pypy3"
    ✓ throw on invalid input "pypy3.x" (1 ms)
    ✓ throw on invalid input "pypy3.8.10"
  getPyPyVersionFromPath
    ✓ /fake/toolcache/PyPy/3.6.5/x64 -> 3.6.5
  findPyPyToolCache
    ✓ PyPy exists on the path and versions are satisfied
    ✓ PyPy exists on the path and versions are satisfied with semver
    ✓ PyPy exists on the path, but Python version doesn't match
    ✓ PyPy exists on the path, but PyPy version doesn't match
  findPyPyVersion
    ✓ found PyPy in toolcache (1 ms)
    ✓ throw on invalid input format (9 ms)
    ✓ throw on invalid input format pypy3.7-7.3.x (1 ms)
    ✓ found and install successfully (1 ms)
    ✓ found and install successfully without environment update (1 ms)
    ✓ throw if release is not found (2 ms)
    ✓ check-latest enabled version found and used from toolcache (1 ms)
    ✓ check-latest enabled version found and install successfully
    ✓ check-latest enabled version is not found and used from toolcache (1 ms)
    ✓ found and install successfully, pre-release fallback (1 ms)

 PASS  __tests__/finder.test.ts
  Finder tests
    ✓ Finds Python if it is installed (5 ms)
    ✓ Finds Python if it is installed without environment update (1 ms)
    ✓ Finds stable Python version if it is not installed, but exists in the manifest (1 ms)
    ✓ Finds pre-release Python version in the manifest (1 ms)
    ✓ Check-latest true, finds the latest version in the manifest (2 ms)
    ✓ Finds stable Python version if it is not installed, but exists in the manifest, skipping newer pre-release (1 ms)
    ✓ Finds Python version if it is not installed, but exists in the manifest, pre-release fallback (91 ms)
    ✓ Errors if Python is not installed (789 ms)

 PASS  __tests__/find-graalpy.test.ts
  parseGraalPyVersion
    ✓ graalpy-23 -> 23
    ✓ graalpy-23.0 -> 23.0
    ✓ graalpy23.0 -> 23.0
    ✓ throw on invalid input "" (7 ms)
    ✓ throw on invalid input "graalpy-"
    ✓ throw on invalid input "graalpy"
    ✓ throw on invalid input "p"
    ✓ throw on invalid input "notgraalpy-"
  findGraalPyToolCache
    ✓ GraalPy exists on the path and versions are satisfied (1 ms)
    ✓ GraalPy exists on the path and versions are satisfied with semver
    ✓ GraalPy exists on the path, but version doesn't match
  findGraalPyVersion
    ✓ found GraalPy in toolcache (1 ms)
    ✓ throw on invalid input format
    ✓ found and install successfully (1 ms)
    ✓ found and install successfully without environment update
    ✓ throw if release is not found (7 ms)
    ✓ check-latest enabled version found and used from toolcache (3 ms)
    ✓ check-latest enabled version found and install successfully (2 ms)
    ✓ check-latest enabled version is not found and used from toolcache (2 ms)
    ✓ found and install successfully, pre-release fallback (4 ms)

 PASS  __tests__/utils.test.ts
  validatePythonVersionFormatForPyPy
    ✓ 3.12 -> true
    ✓ 3.13 -> true
    ✓ 3.12.x -> false
    ✓ 3.13.x -> false
    ✓ 3.x -> false
    ✓ 3 -> false
  validateVersion
    ✓ v7.3.3 -> true (1 ms)
    ✓ v7.3.x -> true
    ✓ v7.x -> true
    ✓ x -> true
    ✓ v7.3.3-rc.1 -> true
    ✓ nightly -> true
    ✓ v7.3.b -> false (1 ms)
    ✓ 3.6 -> true
    ✓ 3.b -> false
    ✓ 3 -> true
  isCacheFeatureAvailable
    ✓ isCacheFeatureAvailable disabled on GHES
    ✓ isCacheFeatureAvailable disabled on dotcom (1 ms)
    ✓ isCacheFeatureAvailable is enabled
  Version from file test
    ✓ Version from plain file test (1 ms)
    ✓ Version from plain file test (1 ms)
    ✓ Versions from multiline plain file test
    ✓ Versions from multiline plain file test
    ✓ Version from complex plain file test
    ✓ Version from complex plain file test
    ✓ Version from standard pyproject.toml test (2 ms)
    ✓ Version from standard pyproject.toml test (2 ms)
    ✓ Version from poetry pyproject.toml test (1 ms)
    ✓ Version from poetry pyproject.toml test
    ✓ Version undefined
    ✓ Version undefined (1 ms)
    ✓ Version from .tool-versions
    ✓ Version from .tool-versions with comment
    ✓ Version from .tool-versions with whitespace (1 ms)
    ✓ Version from .tool-versions with v prefix
    ✓ Version from .tool-versions with pypy version
    ✓ Version from .tool-versions with alpha Releases
    ✓ Version from .tool-versions with dev suffix (1 ms)
    ✓ Version from python_version in Pipfile
    ✓ Version from python_version in Pipfile
    ✓ Version from python_full_version in Pipfile (1 ms)
    ✓ Version from python_full_version in Pipfile
    ✓ Pipfile undefined version
    ✓ Pipfile undefined version
  getNextPageUrl
    ✓ GitHub API pagination next page is parsed correctly
  getDownloadFileName
    ✓ should return the correct path on Windows
    ✓ should return undefined on non-Windows
  isGhes
    ✓ returns false when the GITHUB_SERVER_URL environment variable is not defined (1 ms)
    ✓ returns false when the GITHUB_SERVER_URL environment variable is set to github.com
    ✓ returns false when the GITHUB_SERVER_URL environment variable is set to a GitHub Enterprise Cloud-style URL
    ✓ returns false when the GITHUB_SERVER_URL environment variable has a .localhost suffix
    ✓ returns true when the GITHUB_SERVER_URL environment variable is set to some other URL

 PASS  __tests__/install-graalpy.test.ts
  graalpyVersionToSemantic
    ✓ graalpy-24.1.0-ea.09 -> 24.1.0-ea.9
    ✓ graal-23.0.0 -> 23.0.0
    ✓ vm-23.0.x -> 23.0.x
    ✓ graal-23.x -> 23.x (1 ms)
  findRelease
    ✓ GraalPy version doesn't match
    ✓ GraalPy version matches
    ✓ Preview version of GraalPy is found
    ✓ Latest GraalPy is found (1 ms)
    ✓ GraalPy version matches semver (pre-release)
  installGraalPy
    ✓ throw if release is not found (10 ms)
    ✓ found and install GraalPy (4 ms)
    ✓ found and install GraalPy, pre-release fallback (4 ms)

 PASS  __tests__/install-pypy.test.ts
  pypyVersionToSemantic
    ✓ 7.3.3rc1 -> 7.3.3-rc.1
    ✓ 7.3.3 -> 7.3.3
    ✓ 7.3.x -> 7.3.x
    ✓ 7.x -> 7.x
    ✓ nightly -> nightly
  findRelease
    ✓ Python version is found, but PyPy version doesn't match (1 ms)
    ✓ Python version is found and PyPy version matches
    ✓ Python version is found in toolcache and PyPy version matches semver
    ✓ Python and preview version of PyPy are found (1 ms)
    ✓ Python version with latest PyPy is found
    ✓ Python version and PyPy version matches semver (pre-release)
    ✓ Nightly release is found (1 ms)
  installPyPy
    ✓ throw if release is not found (8 ms)
    ✓ found and install PyPy (1 ms)
    ✓ found and install PyPy, pre-release fallback (3 ms)

  console.log
    cache-matched-key

      at Object.<anonymous> (__tests__/cache-save.test.ts:211:19)

 PASS  __tests__/cache-save.test.ts
  run
    Package manager validation
      ✓ Package manager is not provided, skip caching (1 ms)
    Validate unchanged cache is not saved
      ✓ should not save cache for pip
      ✓ should not save cache for pipenv
    action saves the cache
      ✓ saves cache from pip
      ✓ saves cache from pipenv
      ✓ saves cache from poetry (1 ms)
      ✓ saves cache from uv (9 ms)
      ✓ saves with -1 cacheId , should not fail workflow (1 ms)
      ✓ saves with error from toolkit, should not fail the workflow

 PASS  __tests__/find-python.test.ts
  desugarVersion
    ✓ 3.13 -> { version: '3.13', freethreaded: false }
    ✓ 3.13t -> { version: '3.13', freethreaded: true }
    ✓ 3.13.1 -> { version: '3.13.1', freethreaded: false }
    ✓ 3.13.1t -> { version: '3.13.1', freethreaded: true }
    ✓ 3.14-dev -> { version: '~3.14.0-0', freethreaded: false }
    ✓ 3.14t-dev -> { version: '~3.14.0-0', freethreaded: true } (1 ms)
  pythonVersions
    ✓ 3.13 -> { version: '3.13', freethreaded: false }
    ✓ 3.13t -> { version: '3.13', freethreaded: true }
    ✓ 3.13.1 -> { version: '3.13.1', freethreaded: false }
    ✓ 3.13.1t -> { version: '3.13.1', freethreaded: true }
    ✓ 3.14-dev -> { version: '~3.14.0-0', freethreaded: false }
    ✓ 3.14t-dev -> { version: '~3.14.0-0', freethreaded: true }
    ✓ 3.13 (allowPreReleases=true) -> { version: '~3.13.0-0', freethreaded: false }
    ✓ 3.13t (allowPreReleases=true) -> { version: '~3.13.0-0', freethreaded: true }
    ✓ 3.13.1 (allowPreReleases=true) -> { version: '3.13.1', freethreaded: false }
    ✓ 3.13.1t (allowPreReleases=true) -> { version: '3.13.1', freethreaded: true }
    ✓ 3.14-dev (allowPreReleases=true) -> { version: '~3.14.0-0', freethreaded: false }
    ✓ 3.14t-dev (allowPreReleases=true) -> { version: '~3.14.0-0', freethreaded: true }

::debug::Getting manifest from actions/python-versions@main
::debug::Getting manifest from actions/python-versions@main
::debug::Fetching the manifest via the API failed.
::debug::Fetch failed
::debug::Falling back to fetching the manifest using raw URL.
::debug::Getting manifest from actions/python-versions@main
::debug::Falling back to fetching the manifest using raw URL.
::debug::Falling back to fetching the manifest using raw URL.
 PASS  __tests__/install-python.test.ts
  getManifest
    ✓ should return manifest from repo (1 ms)
    ✓ should return manifest from URL if repo fetch fails
  getManifestFromRepo
    ✓ should return manifest from repo (1 ms)
  getManifestFromURL
    ✓ should return manifest from URL
    ✓ should throw error if unable to get manifest from URL (5 ms)

-------------------------|---------|----------|---------|---------|---------------------------------------------------------------------------
File                     | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                                                         
-------------------------|---------|----------|---------|---------|---------------------------------------------------------------------------
All files                |   83.45 |    61.93 |   87.61 |   83.36 |                                                                           
 src                     |   82.01 |    62.37 |   84.61 |   81.92 |                                                                           
  cache-save.ts          |   79.06 |       60 |     100 |   79.06 | 17-22,30-33,41-46,53-54                                                   
  find-graalpy.ts        |   96.66 |       85 |     100 |   96.61 | 101-102                                                                   
  find-pypy.ts           |   93.33 |    77.41 |   66.66 |   93.24 | 168,186-193                                                               
  find-python.ts         |   73.72 |    39.62 |     100 |    73.5 | 28,40,46-49,72,78-79,96,135,164-170,180-211,220                           
  install-graalpy.ts     |   86.44 |    60.86 |     100 |   86.32 | 35,67,93-109,118,131,148,254,258,266-268                                  
  install-pypy.ts        |    84.9 |    58.62 |   76.47 |    84.9 | 34,79,109-120,133,250-253,269-272,290,292                                 
  install-python.ts      |   55.71 |    51.42 |      60 |   55.71 | 61,69,99-119,124-162                                                      
  utils.ts               |   84.15 |    79.31 |   85.71 |   84.15 | 88-94,147-162,176-184,191,193,198-199,218,261,301-302,320-325,336-337,373 
 src/cache-distributions |      90 |    58.53 |     100 |   89.94 |                                                                           
  cache-distributor.ts   |   87.09 |      100 |     100 |   87.09 | 47-50                                                                     
  cache-factory.ts       |     100 |      100 |     100 |     100 |                                                                           
  constants.ts           |     100 |      100 |     100 |     100 |                                                                           
  pip-cache.ts           |   81.57 |    45.45 |     100 |   81.57 | 34-35,45,53,69-71                                                         
  pipenv-cache.ts        |   94.73 |    33.33 |     100 |   94.73 | 23                                                                        
  poetry-cache.ts        |      92 |    44.44 |     100 |   91.83 | 68-69,80,93                                                               
  uv-cache.ts            |   93.33 |        0 |     100 |   93.33 | 20                                                                        
-------------------------|---------|----------|---------|---------|---------------------------------------------------------------------------
Test Suites: 10 passed, 10 total
Tests:       208 passed, 208 total
Snapshots:   0 total
Time:        4.022 s, estimated 5 s
Ran all test suites.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
jww3 and others added 30 commits October 21, 2024 11:42
@jww3
Revise isGhes logic (actions#963)
f4c5a11
* Revise `isGhes` logic

* ran `npm run format`

* add unit test

* ran `npm run format`
@v-aparnajyothi-y
Bump pillow from 7.2 to 10.2.0 in /__tests__/data (actions#956)
9c76e71
* Update e2e-cache.yml

* Update basic-validation.yml

* Pyinstaller upgrade to 5.13.1

* pyinstaller-update

* Update basic-validation.yml

* Update e2e-cache.yml

* fix-db-alert-164-165-166

* upgrade pillow
@v-priya-kinthali
Enhance workflows: Add macOS 13 support, upgrade publish-action, and …
0b93645
…update documentation for arm64 and latest versions (actions#965)

* update ci workflows with latest versions and added macos-13

* updated document with latest versions
@v-aparnajyothi-y
Update error message for no dependencies to cache (actions#968)
55aad42
@v-priya-kinthali
Enhance Workflows: Add Ubuntu-24, Remove Python 3.8 (actions#985)
3fddbee
* included ubuntu24 testing

* Remove Python 3.8 testing from workflows due to end of life (EOL)
Ben Wells
Update README.md (actions#1009)
1928ae6
@v-priyagupta108
Use the new cache service: upgrade @actions/cache to ^4.0.0 (acti…
b8cf3eb
…ons#1007)

* Upgrade-actions/cache

* Review licenses & update types

* Fixed poetry install command in e2e-cache.yml

* Updated package-lock.json
@v-HarithaVattikuti
Configure Dependabot settings (actions#1008)
e3dfaac
* Create dependabot.yml

* Update e2e-cache.yml
@dependabot Aparna Jyothi
Bump undici from 5.28.4 to 5.28.5 (actions#1012)
d0b4fc4
* Bump undici from 5.28.4 to 5.28.5

Bumps [undici](https://github.com/nodejs/undici) from 5.28.4 to 5.28.5.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](nodejs/undici@v5.28.4...v5.28.5)

---
updated-dependencies:
- dependency-name: undici
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* fix for chec-dist and license check failures

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aparna Jyothi <[email protected]>
@dependabot
Bump urllib3 from 1.25.9 to 1.26.19 in /__tests__/data (actions#895)
feb9c6e
Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.25.9 to 1.26.19.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/1.26.19/CHANGES.rst)
- [Commits](urllib3/urllib3@1.25.9...1.26.19)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@dependabot
Bump actions/publish-immutable-action from 0.0.3 to 0.0.4 (actions#1014)
0dc2d2c
Bumps [actions/publish-immutable-action](https://github.com/actions/publish-immutable-action) from 0.0.3 to 0.0.4.
- [Release notes](https://github.com/actions/publish-immutable-action/releases)
- [Commits](actions/publish-immutable-action@0.0.3...v0.0.4)

---
updated-dependencies:
- dependency-name: actions/publish-immutable-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@dependabot Aparna Jyothi
Bump @actions/http-client from 2.2.1 to 2.2.3 (actions#1020)
ceb20b2
* Bump @actions/http-client from 2.2.1 to 2.2.3

Bumps [@actions/http-client](https://github.com/actions/toolkit/tree/HEAD/packages/http-client) from 2.2.1 to 2.2.3.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/http-client/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/http-client)

---
updated-dependencies:
- dependency-name: "@actions/http-client"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* fix for licensed and check-dist checks failures

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aparna Jyothi <[email protected]>
@dependabot
Bump requests from 2.24.0 to 2.32.2 in /__tests__/data (actions#1019)
709bfa5
Bumps [requests](https://github.com/psf/requests) from 2.24.0 to 2.32.2.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](psf/requests@v2.24.0...v2.32.2)

---
updated-dependencies:
- dependency-name: requests
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@lrq3000
Improve Advanced Usage examples (actions#645)
4237552
* docs: fix outputs python-version example and description

Description was lacking words, example was misleading (id was set to cp310 which clearly was a reference to CPython 3.10, but the id is referring to the setup-python action!

* docs: copy-editing in advanced-usage.md

Signed-off-by: Stephen L. <[email protected]>

* docs: add example if statement in advanced-usage.md

Signed-off-by: Stephen L. <[email protected]>

* docs: implement changes suggested by @mahabaleshwars (deprecate pypy2.7, 3.7, 3.8, tweak example, remove wildcard *)

Signed-off-by: Stephen L. <[email protected]>

---------

Signed-off-by: Stephen L. <[email protected]>
Signed-off-by: Stephen L. <[email protected]>
@mayeut
fix: install PyPy on Linux ARM64 (actions#1011)
8039c45
* ci: check non-eol versions of PyPy are available on all runners

* fix: install PyPy on Linux ARM64

* ci: remove eol ubuntu-20.04
@dependabot Aparna Jyothi
Bump @vercel/ncc from 0.38.1 to 0.38.3 (actions#1016)
6ca8e85
* Bump @vercel/ncc from 0.38.1 to 0.38.3

Bumps [@vercel/ncc](https://github.com/vercel/ncc) from 0.38.1 to 0.38.3.
- [Release notes](https://github.com/vercel/ncc/releases)
- [Commits](vercel/ncc@0.38.1...0.38.3)

---
updated-dependencies:
- dependency-name: "@vercel/ncc"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* check failure fix

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aparna Jyothi <[email protected]>
@colesbury
Support free threaded Python versions like '3.13t' (actions#973)
9e62be8
* Support free threaded Python versions like '3.13t'

Python wheels, pyenv, and a number of other tools use 't' in the Python
version number to identify free threaded builds. For example, '3.13t',
'3.14.0a1', '3.14t-dev'.

This PR supports that syntax in `actions/setup-python`, strips the "t",
and adds "-freethreading" to the architecture to select the correct
Python version.

See actions#771

* Add free threading to advanced usage documentation

* Fix desugaring of `3.13.1t` and add test case.

* Add freethreaded input and fix handling of prerelease versions

* Fix lint

* Add 't' suffix to python-version output

* Use distinct cache key for free threaded Python

* Remove support for syntax like '3.14.0a1'

* Clarify use of 't' suffix

* Improve error message when trying to use free threaded Python versions before 3.13
@dependabot Aparna Jyothi
Bump @actions/glob from 0.4.0 to 0.5.0 (actions#1015)
6fd11e1
* Bump @actions/glob from 0.4.0 to 0.5.0

Bumps [@actions/glob](https://github.com/actions/toolkit/tree/HEAD/packages/glob) from 0.4.0 to 0.5.0.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/glob/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/glob)

---
updated-dependencies:
- dependency-name: "@actions/glob"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* fix for check failures

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aparna Jyothi <[email protected]>
@v-mahabaleshwars
Add support for .tool-versions file in setup-python (actions#1043)
19e4675
* add support for .tool-versions file

* update regex

* optimize code

* update test-python.yml for .tool-versions

* fix format-check errors

* fix formatting in test-python.yml

* Fix test-python.yml error

* workflow update with latest versions

* update test cases

* fix lint issue
@v-priya-kinthali
Add e2e Testing for free threaded and Bump @action/cache from 4.0.0 t…
8d9ed9a
…o 4.0.3 (actions#1056)

* include freethread e2e testing and upgrade cache from 4.0.0 to 4.0.2

* include verify gil step and validated python version

* Rename files

* include ubuntu-arm runners for testing
@v-aparnajyothi-y
Remove Ubuntu 20.04 from workflows due to deprecation from 2025-04-15 (…
e348410
…actions#1065)

* remove ubuntu-20.04

* check failure fix

* remove spaces

* npm run format-check
@v-aparnajyothi-y
Fix for Candidate Not Iterable Error (actions#1082)
6ed2c67
* candidates not iterable

* update the error message

* update error to debug

* update debug to info

* error message updates
@dependabot @v-HarithaVattikuti
Bump semver and @types/semver (actions#1091)
5d95bc1
* Bump semver and @types/semver

Bumps [semver](https://github.com/npm/node-semver) and [@types/semver](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/semver). These dependencies needed to be updated together.

Updates `semver` from 7.6.0 to 7.7.1
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](npm/node-semver@v7.6.0...v7.7.1)

Updates `@types/semver` from 7.5.8 to 7.7.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/semver)

---
updated-dependencies:
- dependency-name: semver
  dependency-version: 7.7.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: "@types/semver"
  dependency-version: 7.7.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Fixed check failures

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: HarithaVattikuti <[email protected]>
@dependabot Aparna Jyothi
Bump prettier from 2.8.8 to 3.5.3 (actions#1046)
30eafe9
* Bump prettier from 2.8.8 to 3.5.3

Bumps [prettier](https://github.com/prettier/prettier) from 2.8.8 to 3.5.3.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](prettier/prettier@2.8.8...3.5.3)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

* Enable cancelled checks

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aparna Jyothi <[email protected]>
@dependabot
Bump ts-jest from 29.1.2 to 29.3.2 (actions#1081)
a26af69
Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 29.1.2 to 29.3.2.
- [Release notes](https://github.com/kulshekhar/ts-jest/releases)
- [Changelog](https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md)
- [Commits](kulshekhar/ts-jest@v29.1.2...v29.3.2)

---
updated-dependencies:
- dependency-name: ts-jest
  dependency-version: 29.3.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@krystof-k
Enhance reading from .python-version (actions#787)
5db1cf9
* Enhance reading from .python-version

* Fix typos

* Fix lint

* Add built files

* Don't use EOL versions in `utils.test.ts`

* Fix Prettier

* Don't use unreleased versions in `utils.test.ts`

* Update versions in `utils.test.ts` again
@dependabot @v-HarithaVattikuti
Bump @actions/tool-cache from 2.0.1 to 2.0.2 (actions#1095)
5fa0ee6
* Bump @actions/tool-cache from 2.0.1 to 2.0.2

Bumps [@actions/tool-cache](https://github.com/actions/toolkit/tree/HEAD/packages/tool-cache) from 2.0.1 to 2.0.2.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/tool-cache/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/tool-cache)

---
updated-dependencies:
- dependency-name: "@actions/tool-cache"
  dependency-version: 2.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Fix failures

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: HarithaVattikuti <[email protected]>
@v-priyagupta108
Add support for pip-version (actions#1129)
e9c40fb
* Add pip-version input

* Update workflow files

* Add documentation

* Update workflow files
@v-aparnajyothi-y
Enhance cache-dependency-path handling to support files outside the w…
1264885
…orkspace root (actions#1128)

* ehnace cache dependency path handling

* logic update

* npm run format-check

* update cacheDependencies tests to cover resolved paths and copy edge cases

* check failure fix

* depricate-windows-2019

* refactored the code

* Check failure fix
@v-aparnajyothi-y
Add Architecture-Specific PATH Management for Python with --user Flag…
532b046
… on Windows (actions#1122)

* logic to update install oath with --user flg

* format update

* format update

* update

* test job to validate --user flag installtion

* updated the script

* updated the yaml

* update the inputs

* updated script

* update the correct script file name

* updated script and yaml

* npm run format-check

* fix-test failures

* path update

* check failure fix

* updated test

* update free threaded version

* updated the comments
cdce8p and others added 21 commits July 21, 2025 14:01
@cdce8p
Include python version in PyPy python-version output (actions#1110)
88ffd4d
@v-priya-kinthali
update documentation (actions#1156)
3c6f142
@aradkdj
Add version parsing from Pipfile (actions#1067)
36da51d
* feature: add version parsing from Pipfile

* Update utils.ts

Co-authored-by: Copilot <[email protected]>

* Update src/utils.ts

Co-authored-by: Copilot <[email protected]>

* Update src/utils.ts

Co-authored-by: Copilot <[email protected]>

* chore: update dist/setup/index.js

---------

Co-authored-by: Copilot <[email protected]>
@dependabot
Bump idna from 2.9 to 3.7 in /__tests__/data (actions#843)
03bb615
Bumps [idna](https://github.com/kjd/idna) from 2.9 to 3.7.
- [Release notes](https://github.com/kjd/idna/releases)
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.rst)
- [Commits](kjd/idna@v2.9...v3.7)

---
updated-dependencies:
- dependency-name: idna
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@v-aparnajyothi-y
Bump form-data to fix critical vulnerabilities actions#182 & actions#183
fbeb884
 (actions#1163)

* fix dependabot alert#183

* command updates
@v-aparnajyothi-y
Upgrade setuptools to 78.1.1 to fix path traversal vulnerability in P…
9322b3c
…ackageIndex.download (actions#1165)

* fix  actions#174

* npm audit fix
@v-aparnajyothi-y
Change missing cache directory error to warning (actions#1182)
f62a0e2
* update error to warning when no dependency to cache

* updated the return
@dependabot
Bump actions/checkout from 4 to 5 (actions#1181)
5b668cf
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@v-aparnajyothi-y
Clarify pythonLocation behavior for PyPy and GraalPy in environment v…
65b0712
…ariables (actions#1183)

* documentation update

* spaces update
@v-aparnajyothi-y @v-HarithaVattikuti
Revert "Enhance cache-dependency-path handling to support files outsi…
3d1e2d2
…de the workspace root" (actions#1186)

* Revert "Enhance cache-dependency-path handling to support files outside the w…"

This reverts commit 1264885.

* pckage.json version update

---------

Co-authored-by: Haritha <[email protected]>
@salmanmkc Aparna Jyothi @v-priya-kinthali
Upgrade to node 24 (actions#1164)
e797f83
* Upgrade to node 24

Upgrade ot node

* licence manual updates

* pckage.json version update

* version update

* update package-lock.json

* upgrade `actions/checkout` to v5 and `actions/setup-python` to v6 in README.md

* upgrade `actions/checkout` to v5 and `actions/setup-python` to v6 in advanced-usage.md

Updated GitHub Actions to use newer versions of checkout and setup-python actions.

* node-version update in the workflows

---------

Co-authored-by: Aparna Jyothi <[email protected]>
Co-authored-by: priya-kinthali <[email protected]>
@dependabot Aparna Jyothi
Bump urllib3 from 1.26.19 to 2.5.0 in /__tests__/data and document br…
4267e28
…eaking changes in v6 (actions#1139)

* Bump urllib3 from 1.26.19 to 2.5.0 in /__tests__/data

Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.19 to 2.5.0.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](urllib3/urllib3@1.26.19...2.5.0)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-version: 2.5.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* documentation update

* doc update

* doc update

* doc format update

* doc update

* doc update

* doc update

* fix check failures

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aparna Jyothi <[email protected]>
@v-gowridurgad “gowridurgad”
Add support for pip-install input (actions#1201)
2e3e4b1
* Add pip-install input

* Improve error message

* Logic update

---------

Co-authored-by: “gowridurgad” <“[email protected]>
@yarikoptic
Improve wording and "fix example" (remove 3.13) on testing against pr…
18566f8
…e-release (actions#979)

* Improve wording and "fix example" (remove 3.13) on testing against pre-releases

3.13 was added in a mass tune up in 0b93645 , without
adjusting the wording. With 3.13 listed there too, example does not really make much
sense. So I decided to make it explicit in wording and remove 3.13, so whenever next
refactoring to add 3.14 to be added to every line where 3.13 is -- this would not
even come to attention

* Update to use 3.14 not 3.12 as an example for pre-release
@dependabot @v-priya-kinthali
Bump typescript from 5.4.2 to 5.9.3 and update docs/advanced-usage.md (…
bba65e5
…actions#1094)

* Bump typescript from 5.4.2 to 5.8.3

Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.4.2 to 5.8.3.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release-publish.yml)
- [Commits](microsoft/TypeScript@v5.4.2...v5.8.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-version: 5.8.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update header text from 'Linux' to 'Ubuntu'

* update target to ES2022

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: priya-kinthali <[email protected]>
@timfel
graalpy: add graalpy early-access and windows builds (actions#880)
cfd55ca
@dependabot gowridurgad
Bump actions/publish-action from 0.3.0 to 0.4.0 & Documentation updat…
443da59
…e for pip-install input (actions#1199)

* Bump actions/publish-action from 0.3.0 to 0.4.0

Bumps [actions/publish-action](https://github.com/actions/publish-action) from 0.3.0 to 0.4.0.
- [Commits](actions/publish-action@v0.3.0...v0.4.0)

---
updated-dependencies:
- dependency-name: actions/publish-action
  dependency-version: 0.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* updated README for pip-install

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: gowridurgad <[email protected]>
@dependabot
Bump requests from 2.32.2 to 2.32.4 in /__tests__/data (actions#1130)
97aeb3e
Bumps [requests](https://github.com/psf/requests) from 2.32.2 to 2.32.4.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](psf/requests@v2.32.2...v2.32.4)

---
updated-dependencies:
- dependency-name: requests
  dependency-version: 2.32.4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@dependabot
Bump prettier from 3.5.3 to 3.6.2 (actions#1234)
bfc4944
Bumps [prettier](https://github.com/prettier/prettier) from 3.5.3 to 3.6.2.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](prettier/prettier@3.5.3...3.6.2)

---
updated-dependencies:
- dependency-name: prettier
  dependency-version: 3.6.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@dhvcc
Merge remote-tracking branch 'upstream/main' into uv-cache
37a65d5
@dhvcc
Set uvLockHash to an arbitrary value, remove TODO
dac737d
cache-save.test.ts' uvLockHash is just for the fixture, so we can set it
to, say value from cache-restpore.test.ts for example
@dhvcc dhvcc closed this Feb 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

17 participants

@dhvcc @jww3 @v-aparnajyothi-y @v-priya-kinthali @v-priyagupta108 @v-HarithaVattikuti @lrq3000 @mayeut @colesbury @v-mahabaleshwars @krystof-k @cdce8p @aradkdj @salmanmkc @v-gowridurgad @yarikoptic @timfel
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.