8000 Support free threaded Python versions like '3.13t' by colesbury · Pull Request #973 · actions/setup-python · GitHub
[go: up one dir, main page]

Skip to content

Support free threaded Python versions like '3.13t' #973

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Mar 4, 2025

Conversation

colesbury
Copy link
Contributor

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 #771 and actions/python-versions#319

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
@renxida
Copy link
renxida commented Nov 24, 2024

Meanwhile, if you can't wait, here at https://github.com/nod-ai/shark-ai/actions/workflows/ci_linux_x64_nogil-libshortfin.yml

we are using

    - name: Setup Python
      uses: deadsnakes/action@e640ac8743173a67cca4d7d77cd837e514bf98e8 # v3.2.0
      with:
        python-version: "3.13-dev"
        nogil : true

@rgommers
Copy link
rgommers commented Nov 24, 2024

If anyone needs the functionality in this PR, I'd recommend to use https://github.com/Quansight-Labs/setup-python. That is a fork of this action with the sole purpose of providing the functionality in this PR (free-threading support) until this PR gets merged (see this issue for context).

Data point for reviewers: we've exercised this PR quite heavily by now in projects like NumPy and SciPy, on Linux, macOS and Windows (x86-64 and aarch64/arm64), and it's been working smoothly to date.

@priyagupta108
Copy link
Contributor

Hi @colesbury 👋,
Thank you for your valuable contribution!
During our testing, we observed that the changes in this PR do not support specifying the patch version (e.g., 3.13.1t) for the python-version input for the free-threaded binary. Please ensure that the python-version input values align with the existing input syntax.
Additionally, T 8000 o keep the documentation up-to-date, please update this PR to incorporate the corresponding documentation updates.

Thank you!

@ddelange
Copy link

Also noting here that 3.13 and 3.13t currently don't live happily next to each other on Windows: Quansight-Labs#5 (comment)

@colesbury
Copy link
Contributor Author

Hi @priyagupta108, thank you for reviewing the PR. I've fixed the handling of versions like 3.13.1t and added a test for that. I've also updated the README and "advanced-usage" documentation.

@priyagupta108
Copy link
Contributor
priyagupta108 commented Jan 29, 2025

Hi @colesbury 👋,

Thank you for making the updates! During our testing of this PR, we've identified a few issues related to free-threaded Python version inputs:

  • Prerelease Versions: The current changes do not support semver notation for prerelease versions such as alpha, beta, and RC. For example, versions like 3.14.0-alpha.1, 3.14.0-beta.2, and 3.14.0-rc.1 should be supported.
    Additionally, versions such as 3.14.0a1t and 3.14.0ta1 are mentioned in the documentation changes, but they are failing to run as shown in the screenshot below. Please note that the versions 3.14.0a1t and 3.14.0ta1 do not appear to be valid semver notation according to the semver guidelines.

    Screenshot 2025-01-29 at 11 38 26 AM
    Screenshot 2025-01-29 at 11 38 55 AM

  • Version Ranges: Various range syntaxes (e.g., hyphen ranges, x-ranges) are unsupported.

  • python-version-file Input: Unable to read the Python version from pyproject.toml. It seems that the python-version-file input is not functioning correctly, as shown in the below screenshot.

    Screenshot 2025-01-28 at 6 21 11 PM

Here is a demo run showcasing prerelease versions, version ranges, and python-version-file input examples. Please ensure that the PR changes support these input syntaxes for free-threaded Python versions.

To ensure full compatibility with all supported Python version formats and inputs including python-version-file input, please address these issues and ensure the implementation fully supports semantic versioning (semver) guidelines to handle different version formats correctly. Additionally, update the documentation to provide clarity on the syntax for free-threaded Python versions.
For details on supported Python version inputs, please refer the action's documentation.

Thank you!

@colesbury
Copy link
Contributor Author

Hi @priyagupta108, thanks for reviewing the PR again.

  • I've added an optional "freethreaded" input. As you point out, the "3.13t" syntax is not semver notation and there isn't a good way to represent it using semver. Users can specify "freethreading: true" and specify the version using semver
  • Prerelease notation like "3.14.0a4t" now works. I removed the "3.13.0ta4" notation because that's not supported by other Python tools.
  • Version ranges: These now work, but require setting the "freethreaded: true" input to get the freethreaded Python version.
  • python-version-file input: This also works and requires setting "freethreaded: true" to get the freethreaded Python version

I've included examples in "advanced-usage.md".

Thank you for the demo run. I've modified it and run it with these changes here:
https://github.com/colesbury/sample-python/actions/runs/13060324198

@colesbury
Copy link
Contributor Author

Hi @priyagupta108, I've made an additional change:

  • The outputs.python-version now includes the "t" suffix for free threaded builds. We've found that the python-version output is commonly used for cache keys (see this github search) and having a different identifier helps avoid problems with mixing caches between incompatible Python builds.

@priyagupta108
Copy link
Contributor
priyagupta108 commented Feb 10, 2025

Hi @colesbury,
Thank you for the prompt updates. We have reviewed the changes and have a few concerns:

  • Regarding new notation: The prerelease notation "3.14.0a4" introduced does not comply with the Semantic Versioning (SemVer) specification and is not supported by any setup-actions. Introducing it here could lead to inconsistencies across all actions. We recommend not including this notation in both the free-threaded and default Python version inputs to ensure that only valid SemVer formats are supported across all setup-actions.

  • Cache-key conflicts: The outputs.python-version correctly reflects the Python version according to the binary type. However, to avoid cache conflicts between free-threaded and default builds when using the setup-python cache feature, the cache key should be unique for each. Could you please make the necessary adjustments for the free-threaded cache key?
    Here are the demonstration runs showcasing the caching feature with setup-python:

Please feel free to reach out if you need any further clarification or assistance.

@ddelange
Copy link
  • However, to avoid cache conflicts between free-threaded and default builds when using the setup-python cache feature, the cache key should be identical for both.

I'd argue that the cache key be should be unique in order to avoid conflicts: I don't want to restore a 3.13t venv on a 3.13 runner or vice versa.

Furthermore, for pre-commit related issues, I don't even want to restore a 3.13.0 venv on a 3.13.1 runner (patch updates I get automatically when specifying 3.13 in setup-python, which I do want).

Solution is to simply use the setup-python output ${{ env.pythonLocation }} in the cache key, which is always unique and always safe.

@priyagupta108
Copy link
Contributor

@ddelange 👋, Sorry for the confusion and thanks for pointing it out. Yes, the cache key should be unique. I have edited my previous comment.

@colesbury
Copy link
Contributor Author

Hi @priyagupta108 - I've fixed the cache key conflicts and removed support for notation like "3.14.0a4".

@@ -77,6 +77,30 @@ steps:
- run: python my_script.py
```

You can specify the [free threading](https://docs.python.org/3/howto/free-threading-python.html) version of Python by setting the `freethreaded` input to `true` or by using the special **t** suffix in some cases. Pre-release free threading versions can be specified like `3.14t-dev`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The documentation implies that all pre-release versions (alpha, beta, rc, dev) should be valid when using the "t" suffix. However, the functionality works only for 3.14t-dev.

Please update the documentation to accurately reflect the current behavior.

@priyagupta108
Copy link
Contributor

@colesbury 👋,
Since free-threaded Python is only available starting with the 3.13 release, attempting to use version 3.12 or earlier results in the error message, as shown in the screenshot below:

Screenshot 2025-02-14 at 3 14 27 PM

For better clarity, it would be helpful to update the error message to indicate that free-threaded Python is not supported for versions 3.12 or earlier.
Thank you!

@colesbury
Copy link
Contributor Author

Hi @priyagupta108, I've updated the documentation and error message.

@priyagupta108
Copy link
Contributor

Hello @colesbury,
Thank you once again for the updates and your continued efforts!
To ensure proper testing of this feature, it would be beneficial to incorporate end-to-end tests for free-threaded Python versions in this PR. The 3.13.1 and 3.14.0-alpha.5 free-threaded versions are now available in the actions/python-versions repository, with the remaining versions to be released soon. Please include these two versions in the e2e tests. The relevant test cases can be added to the following workflows:

@priyagupta108 priyagupta108 self-assigned this Mar 3, 2025
@HarithaVattikuti HarithaVattikuti merged commit 9e62be8 into actions:main Mar 4, 2025
444 checks passed
@colesbury colesbury deleted the freethreading branch March 6, 2025 17:29
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request Mar 7, 2025
See gitpython-developers#2005. Right now, this does not limit by operating system, but
that is just to verify that there are no OS-specific 3.13t problems
we should know about right now; once that is verified, the macOS
and Windows jobs will be removed (excluded) for the time being.

The 3.13t jobs added here use `Quansight-Labs/setup-python`, not
`actions/setup-python`. The latter also has the ability to use
3.13t since actions/python-versions#319
and actions/setup-python#973 (see also
actions/setup-python#771), but no version
tag includes this feature yet. It can be used by using `@main` or
`@...` where `...` is an OID. The former would risk pulling in
other untested features we're no trying to test with, while the
latter would not be easy to upgrade automatically as what we have
now (we would be deliberately keeping a hash not at any tag that is
already not the latest hash on any branch). In contrast, the
`Quansight-Labs/setup-python` fork adds this feature while staying
up to date with others. When `actions/setup-python` has a release
(stable or prerelease) with this feature, we can switch to it.

This could probably be done with less code duplication by using a
matrix variable for the action to use. Instead, the "Set up Python"
step is split in two, with opposite `if` conditions, so that each
is capable of being recognized and upgraded by Dependabot if a new
major version is released (in case this ends up remaining in place
longer than expected).
Byron pushed a commit to EliahKagan/GitPython that referenced this pull request Mar 12, 2025
See gitpython-developers#2005. Right now, this does not limit by operating system, but
that is just to verify that there are no OS-specific 3.13t problems
we should know about right now; once that is verified, the macOS
and Windows jobs will be removed (excluded) for the time being.

The 3.13t jobs added here use `Quansight-Labs/setup-python`, not
`actions/setup-python`. The latter also has the ability to use
3.13t since actions/python-versions#319
and actions/setup-python#973 (see also
actions/setup-python#771), but no version
tag includes this feature yet. It can be used by using `@main` or
`@...` where `...` is an OID. The former would risk pulling in
other untested features we're no trying to test with, while the
latter would not be easy to upgrade automatically as what we have
now (we would be deliberately keeping a hash not at any tag that is
already not the latest hash on any branch). In contrast, the
`Quansight-Labs/setup-python` fork adds this feature while staying
up to date with others. When `actions/setup-python` has a release
(stable or prerelease) with this feature, we can switch to it.

This could probably be done with less code duplication by using a
matrix variable for the action to use. Instead, the "Set up Python"
step is split in two, with opposite `if` conditions, so that each
is capable of being recognized and upgraded by Dependabot if a new
major version is released (in case this ends up remaining in place
longer than expected).
@hugovk
Copy link
Contributor
hugovk commented Mar 25, 2025

This has now been released as v5.5.0 and v5:

I wrote up some instructions:

mahabaleshwars pushed a commit that referenced this pull request Apr 3, 2025
* 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 #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
aparnajyothi-y pushed a commit to aparnajyothi-y/setup-python that referenced this pull request Apr 22, 2025
* 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
mmatl added a commit to ambi-robotics/setup-python that referenced this pull request Jul 23, 2025
* Bump braces from 3.0.2 to 3.0.3 (actions#893)

* Bump braces from 3.0.2 to 3.0.3

Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](micromatch/braces@3.0.2...3.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>

* Bump undici from 5.28.3 to 5.28.4

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: HarithaVattikuti <73516759+HarithaVattikuti@users.noreply.github.com>

* fix(ci): update all failing workflows (actions#863)

* fix(ci): update all failing workflows

With `macos-latest` moving to `macos-14`, most workflows are currently failing.
Update them to be able to run on `macos-latest`

Don't test python 3.5 on ubuntu. It's been EOL for almost 4 years and there are now some certificate issues with pip.

* review: remove test with python 3.5, 3.6 & 3.7

* add latest versions to e2e-tests.yml

* Documentation update for cache (actions#873)

* updated doc

* added note

* modify1

* Update advanced-usage.md

* Update 0000-caching-dependencies.md

---------

Co-authored-by: gowridurgad <gowridurga@github.com>

* Updated @iarna/toml version to 3.0.0 (actions#912)

* Fix display of emojis in contributors doc (actions#899)

* Fix: Add `.zip` extension to Windows package downloads for `Expand-Archive` Compatibility (actions#916)

* Fix: specify filename during Windows package download

* Changed unit test download urls

* fix: add arch to cache key (actions#896)

* fix: add arch to cache key

* test: update tests accordingly

* Documentation update for caching poetry dependencies (actions#908)

* Create testing.yml

* Update testing.yml

* Fix for parsing version number from TOML 1.0.0 pyproject.toml file

* Delete .github/workflows/testing.yml

* fixed license issue

* updated the Note

* updated doc

* updated the doc

* npm run build

* Mark up corrections

---------

Co-authored-by: gowridurgad <gowridurga@github.com>
Co-authored-by: HarithaVattikuti <73516759+HarithaVattikuti@users.noreply.github.com>

* Bump pyinstaller from 3.6 to 5.13.1 in /__tests__/data (actions#923)

* Update e2e-cache.yml

* Update basic-validation.yml

* Pyinstaller upgrade to 5.13.1

* pyinstaller-update

* Update basic-validation.yml

* Update e2e-cache.yml

* initial commit (actions#938)

* Create publish-immutable-actions.yml

This workflow file publishes new action releases to the immutable action package of the same name as this repo.

This is part of the Immutable Actions project which is not yet fully released to the public. First party actions like this one are part of our initial testing of this feature.

* Upgrade IA publish

* Bump default versions to latest (actions#905)

People copy/paste these values all the time... might as well start them off on the right foot with a modern default.

* Revise `isGhes` logic (actions#963)

* Revise `isGhes` logic

* ran `npm run format`

* add unit test

* ran `npm run format`

* Bump pillow from 7.2 to 10.2.0 in /__tests__/data  (actions#956)

* 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

* Enhance workflows: Add macOS 13 support, upgrade publish-action, and update documentation for arm64 and latest versions (actions#965)

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

* updated document with latest versions

* Update error message for no dependencies to cache (actions#968)

* Enhance Workflows: Add Ubuntu-24, Remove Python 3.8  (actions#985)

* included ubuntu24 testing

* Remove Python 3.8 testing from workflows due to end of life (EOL)

* Update README.md (actions#1009)

* Use the new cache service: upgrade `@actions/cache` to `^4.0.0` (actions#1007)

* Upgrade-actions/cache

* Review licenses & update types

* Fixed poetry install command in e2e-cache.yml

* Updated package-lock.json

* Configure Dependabot settings (actions#1008)

* Create dependabot.yml

* Update e2e-cache.yml

* Bump undici from 5.28.4 to 5.28.5 (actions#1012)

* 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] <support@github.com>

* fix for chec-dist and license check failures

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aparna Jyothi <aparnajyothi-y@github.com>

* Bump urllib3 from 1.25.9 to 1.26.19 in /__tests__/data (actions#895)

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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/publish-immutable-action from 0.0.3 to 0.0.4 (actions#1014)

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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @actions/http-client from 2.2.1 to 2.2.3 (actions#1020)

* 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] <support@github.com>

* fix for licensed and check-dist checks failures

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aparna Jyothi <aparnajyothi-y@github.com>

* Bump requests from 2.24.0 to 2.32.2 in /__tests__/data (actions#1019)

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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Improve Advanced Usage examples (actions#645)

* 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. <lrq3000@gmail.com>

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

Signed-off-by: Stephen L. <lrq3000@gmail.com>

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

Signed-off-by: Stephen L. <LRQ3000@gmail.com>

---------

Signed-off-by: Stephen L. <lrq3000@gmail.com>
Signed-off-by: Stephen L. <LRQ3000@gmail.com>

* fix: install PyPy on Linux ARM64 (actions#1011)

* ci: check non-eol versions of PyPy are available on all runners

* fix: install PyPy on Linux ARM64

* ci: remove eol ubuntu-20.04

* Bump @vercel/ncc from 0.38.1 to 0.38.3 (actions#1016)

* 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] <support@github.com>

* check failure fix

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aparna Jyothi <aparnajyothi-y@github.com>

* Support free threaded Python versions like '3.13t' (actions#973)

* 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

* Bump @actions/glob from 0.4.0 to 0.5.0 (actions#1015)

* 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] <support@github.com>

* fix for check failures

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aparna Jyothi <aparnajyothi-y@github.com>

* Add support for .tool-versions file in setup-python (actions#1043)

* 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

* Add e2e Testing for free threaded and Bump @action/cache from 4.0.0 to 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

* Remove Ubuntu 20.04 from workflows due to deprecation from 2025-04-15 (actions#1065)

* remove ubuntu-20.04

* check failure fix

* remove spaces

* npm run format-check

* Fix for Candidate Not Iterable Error (actions#1082)

* candidates not iterable

* update the error message

* update error to debug

* update debug to info

* error message updates

* Bump semver and @types/semver (actions#1091)

* 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] <support@github.com>

* Fixed check failures

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: HarithaVattikuti <73516759+HarithaVattikuti@users.noreply.github.com>

* Bump prettier from 2.8.8 to 3.5.3 (actions#1046)

* 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] <support@github.com>

* Enable cancelled checks

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aparna Jyothi <aparnajyothi-y@github.com>

* Bump ts-jest from 29.1.2 to 29.3.2 (actions#1081)

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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Enhance reading from .python-version (actions#787)

* 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

* Bump @actions/tool-cache from 2.0.1 to 2.0.2 (actions#1095)

* 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] <support@github.com>

* Fix failures

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: HarithaVattikuti <73516759+HarithaVattikuti@users.noreply.github.com>

* Add support for `pip-version`  (actions#1129)

* Add pip-version input

* Update workflow files

* Add documentation

* Update workflow files

* Enhance cache-dependency-path handling to support files outside the workspace root (actions#1128)

* 
9C5D
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

* Add Architecture-Specific PATH Management for Python with --user Flag 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

* Include python version in PyPy python-version output (actions#1110)

* update documentation (actions#1156)

* fix: fix

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Stephen L. <lrq3000@gmail.com>
Signed-off-by: Stephen L. <LRQ3000@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: HarithaVattikuti <73516759+HarithaVattikuti@users.noreply.github.com>
Co-authored-by: Matthieu Darbois <mayeut@users.noreply.github.com>
Co-authored-by: gowridurgad <159780674+gowridurgad@users.noreply.github.com>
Co-authored-by: gowridurgad <gowridurga@github.com>
Co-authored-by: priya-kinthali <147703874+priya-kinthali@users.noreply.github.com>
Co-authored-by: sciencewhiz <sciencewhiz@users.noreply.github.com>
Co-authored-by: Priya Gupta <147705955+priyagupta108@users.noreply.github.com>
Co-authored-by: Zxilly <31370133+Zxilly@users.noreply.github.com>
Co-authored-by: aparnajyothi-y <147696841+aparnajyothi-y@users.noreply.github.com>
Co-authored-by: Joel Ambass <Jcambass@users.noreply.github.com>
Co-authored-by: Jeff Widman <jeff@jeffwidman.com>
Co-authored-by: John Wesley Walker III <81404201+jww3@users.noreply.github.com>
Co-authored-by: Ben Wells <benwells@github.com>
Co-authored-by: Aparna Jyothi <aparnajyothi-y@github.com>
Co-authored-by: Stephen Karl Larroque <lrq3000@users.noreply.github.com>
Co-authored-by: Sam Gross <colesbury@gmail.com>
Co-authored-by: mahabaleshwars <147705296+mahabaleshwars@users.noreply.github.com>
Co-authored-by: Kryštof Korb <krystof@korb.cz>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants
0