mirror of
				https://gitea.com/actions/setup-python.git
				synced 2025-10-29 07:47:14 +00:00 
			
		
		
		
	Compare commits
	
		
			16 Commits
		
	
	
		
			releases/v
			...
			v6.0.0
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | e797f83bcb | ||
|   | 3d1e2d2ca0 | ||
|   | 65b071217a | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 5b668cf765 | ||
|   | f62a0e252f | ||
|   | 9322b3ca74 | ||
|   | fbeb884f69 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 03bb6152f4 | ||
|   | 36da51d563 | ||
|   | 3c6f142cc0 | ||
|   | 88ffd4d597 | ||
|   | 532b046aaf | ||
|   | 1264885983 | ||
|   | e9c40fbc2b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 5fa0ee6f38 | ||
|   | 5db1cf9a59 | 
							
								
								
									
										2
									
								
								.github/workflows/basic-validation.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/basic-validation.yml
									
									
									
									
										vendored
									
									
								
							| @@ -14,4 +14,4 @@ jobs: | ||||
|     name: Basic validation | ||||
|     uses: actions/reusable-workflows/.github/workflows/basic-validation.yml@main | ||||
|     with: | ||||
|       node-version: '20.x' | ||||
|       node-version: '24.x' | ||||
|   | ||||
							
								
								
									
										2
									
								
								.github/workflows/check-dist.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/check-dist.yml
									
									
									
									
										vendored
									
									
								
							| @@ -16,4 +16,4 @@ jobs: | ||||
|     name: Check dist/ | ||||
|     uses: actions/reusable-workflows/.github/workflows/check-dist.yml@main | ||||
|     with: | ||||
|       node-version: '20.x' | ||||
|       node-version: '24.x' | ||||
|   | ||||
							
								
								
									
										71
									
								
								.github/workflows/e2e-cache-freethreaded.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										71
									
								
								.github/workflows/e2e-cache-freethreaded.yml
									
									
									
									
										vendored
									
									
								
							| @@ -33,7 +33,7 @@ jobs: | ||||
|           ] | ||||
|         python-version: [3.13.0t, 3.13.1t, 3.13.2t] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Python | ||||
|         uses: ./ | ||||
|         with: | ||||
| @@ -58,9 +58,9 @@ jobs: | ||||
|             macos-latest, | ||||
|             macos-13 | ||||
|           ] | ||||
|         python-version: [3.13.0t, 3.13.1t, 3.13.2t] | ||||
|         python-version: [3.13.1t, 3.13.2t, 3.13.5t] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Python | ||||
|         id: cache-pipenv | ||||
|         uses: ./ | ||||
| @@ -90,7 +90,7 @@ jobs: | ||||
|           ] | ||||
|         python-version: [3.13.0, 3.13.1, 3.13.2] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Install poetry | ||||
|         run: pipx install poetry | ||||
|       - name: Init pyproject.toml | ||||
| @@ -122,7 +122,7 @@ jobs: | ||||
|           ] | ||||
|         python-version: [3.13.0t, 3.13.1t, 3.13.2t] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Python | ||||
|         uses: ./ | ||||
|         with: | ||||
| @@ -148,9 +148,9 @@ jobs: | ||||
|             macos-latest, | ||||
|             macos-13 | ||||
|           ] | ||||
|         python-version: [3.13.0t, 3.13.1t, 3.13.2t] | ||||
|         python-version: [3.13.1t, 3.13.2t, 3.13.5t] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Python | ||||
|         id: cache-pipenv | ||||
|         uses: ./ | ||||
| @@ -162,3 +162,60 @@ jobs: | ||||
|         run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python | ||||
|       - name: Install dependencies | ||||
|         run: pipenv install requests | ||||
|  | ||||
|   python-pip-dependencies-caching-with-pip-version: | ||||
|     name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }}) | ||||
|     runs-on: ${{ matrix.os }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         os: | ||||
|           [ | ||||
|             ubuntu-latest, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-24.04-arm, | ||||
|             ubuntu-22.04-arm, | ||||
|             windows-latest, | ||||
|             macos-latest, | ||||
|             macos-13 | ||||
|           ] | ||||
|         python-version: [3.13.0t, 3.13.1t, 3.13.2t] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Python | ||||
|         uses: ./ | ||||
|         with: | ||||
|           python-version: ${{ matrix.python-version }} | ||||
|           cache: 'pip' | ||||
|           pip-version: '25.0.1' | ||||
|       - name: Install dependencies | ||||
|         run: pip install numpy pandas requests | ||||
|  | ||||
|   python-pip-dependencies-caching-path-with-pip-version: | ||||
|     name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }}, caching path) | ||||
|     runs-on: ${{ matrix.os }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         os: | ||||
|           [ | ||||
|             ubuntu-latest, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-24.04-arm, | ||||
|             ubuntu-22.04-arm, | ||||
|             windows-latest, | ||||
|             macos-latest, | ||||
|             macos-13 | ||||
|           ] | ||||
|         python-version: [3.13.0t, 3.13.1t, 3.13.2t] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Python | ||||
|         uses: ./ | ||||
|         with: | ||||
|           python-version: ${{ matrix.python-version }} | ||||
|           cache: 'pip' | ||||
|           cache-dependency-path: __tests__/data/requirements.txt | ||||
|           pip-version: '25.0.1' | ||||
|       - name: Install dependencies | ||||
|         run: pip install numpy pandas requests | ||||
|   | ||||
							
								
								
									
										67
									
								
								.github/workflows/e2e-cache.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										67
									
								
								.github/workflows/e2e-cache.yml
									
									
									
									
										vendored
									
									
								
							| @@ -46,7 +46,7 @@ jobs: | ||||
|           - os: windows-latest | ||||
|             python-version: pypy-3.11-v7.x | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Python | ||||
|         uses: ./ | ||||
|         with: | ||||
| @@ -85,7 +85,7 @@ jobs: | ||||
|           - os: ubuntu-22.04-arm | ||||
|             python-version: pypy-3.10-v7.x | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Python | ||||
|         id: cache-pipenv | ||||
|         uses: ./ | ||||
| @@ -140,7 +140,7 @@ jobs: | ||||
|             '3.13' | ||||
|           ] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Install poetry | ||||
|         run: pipx install poetry | ||||
|       - name: Init pyproject.toml | ||||
| @@ -184,7 +184,7 @@ jobs: | ||||
|           - os: windows-latest | ||||
|             python-version: pypy-3.11-v7.x | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Python | ||||
|         uses: ./ | ||||
|         with: | ||||
| @@ -222,7 +222,7 @@ jobs: | ||||
|           - os: ubuntu-22.04-arm | ||||
|             python-version: pypy-3.11-v7.x | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Python | ||||
|         id: cache-pipenv | ||||
|         uses: ./ | ||||
| @@ -249,3 +249,60 @@ jobs: | ||||
|           } | ||||
|       - name: Run Python Script | ||||
|         run: pipenv run python test-pipenv.py | ||||
|  | ||||
|   python-pip-dependencies-caching-with-pip-version: | ||||
|     name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }}) | ||||
|     runs-on: ${{ matrix.os }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         os: | ||||
|           [ | ||||
|             ubuntu-latest, | ||||
|             ubuntu-24.04-arm, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             windows-latest, | ||||
|             macos-latest, | ||||
|             macos-13 | ||||
|           ] | ||||
|         python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Python | ||||
|         uses: ./ | ||||
|         with: | ||||
|           python-version: ${{ matrix.python-version }} | ||||
|           cache: 'pip' | ||||
|           pip-version: '25.0.1' | ||||
|       - name: Install dependencies | ||||
|         run: pip install numpy pandas requests | ||||
|  | ||||
|   python-pip-dependencies-caching-path-with-pip-version: | ||||
|     name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }}, caching path) | ||||
|     runs-on: ${{ matrix.os }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         os: | ||||
|           [ | ||||
|             ubuntu-latest, | ||||
|             ubuntu-24.04-arm, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             windows-latest, | ||||
|             macos-latest, | ||||
|             macos-13 | ||||
|           ] | ||||
|         python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Python | ||||
|         uses: ./ | ||||
|         with: | ||||
|           python-version: ${{ matrix.python-version }} | ||||
|           cache: 'pip' | ||||
|           cache-dependency-path: __tests__/data/requirements.txt | ||||
|           pip-version: '25.0.1' | ||||
|       - name: Install dependencies | ||||
|         run: pip install numpy pandas requests | ||||
|   | ||||
							
								
								
									
										5
									
								
								.github/workflows/e2e-tests.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.github/workflows/e2e-tests.yml
									
									
									
									
										vendored
									
									
								
							| @@ -29,7 +29,7 @@ jobs: | ||||
|           ] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: Run with setup-python 3.9.13 | ||||
|         uses: ./ | ||||
| @@ -38,7 +38,7 @@ jobs: | ||||
|       - name: Verify 3.9.13 | ||||
|         run: python __tests__/verify-python.py 3.9.13 | ||||
|  | ||||
|       - name: Run with setup-python 3.9.13 | ||||
|       - name: Run with setup-python 3.10.11 | ||||
|         uses: ./ | ||||
|         with: | ||||
|           python-version: 3.10.11 | ||||
| @@ -89,6 +89,7 @@ jobs: | ||||
|           python-version: '<3.13' | ||||
|       - name: Verify <3.13 | ||||
|         run: python __tests__/verify-python.py 3.12 | ||||
|  | ||||
|       - name: Test Raw Endpoint Access | ||||
|         run: | | ||||
|           curl -L https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json | jq empty | ||||
|   | ||||
| @@ -14,7 +14,7 @@ jobs: | ||||
|  | ||||
|     steps: | ||||
|       - name: Checking out | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|       - name: Publish | ||||
|         id: publish | ||||
|         uses: actions/publish-immutable-action@v0.0.4 | ||||
|   | ||||
							
								
								
									
										6
									
								
								.github/workflows/test-graalpy.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/test-graalpy.yml
									
									
									
									
										vendored
									
									
								
							| @@ -35,7 +35,7 @@ jobs: | ||||
|  | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: setup-python ${{ matrix.graalpy }} | ||||
|         id: setup-python | ||||
| @@ -86,7 +86,7 @@ jobs: | ||||
|  | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: setup-python ${{ matrix.graalpy }} | ||||
|         id: setup-python | ||||
| @@ -108,7 +108,7 @@ jobs: | ||||
|       matrix: | ||||
|         os: [ubuntu-latest, macos-latest, macos-13] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup GraalPy and check latest | ||||
|         uses: ./ | ||||
|         id: graalpy | ||||
|   | ||||
							
								
								
									
										11
									
								
								.github/workflows/test-pypy.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								.github/workflows/test-pypy.yml
									
									
									
									
										vendored
									
									
								
							| @@ -46,7 +46,7 @@ jobs: | ||||
|  | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: setup-python ${{ matrix.pypy }} | ||||
|         id: setup-python | ||||
| @@ -88,7 +88,6 @@ jobs: | ||||
|           - macos-13 | ||||
|           - macos-14 | ||||
|           - macos-15 | ||||
|           - windows-2019 | ||||
|           - windows-2022 | ||||
|           - windows-2025 | ||||
|           - ubuntu-22.04 | ||||
| @@ -99,7 +98,7 @@ jobs: | ||||
|  | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: setup-python ${{ matrix.pypy }} | ||||
|         id: setup-python | ||||
| @@ -151,7 +150,7 @@ jobs: | ||||
|  | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: setup-python ${{ matrix.pypy }} | ||||
|         id: setup-python | ||||
| @@ -182,7 +181,7 @@ jobs: | ||||
|             macos-13 | ||||
|           ] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup PyPy and check latest | ||||
|         uses: ./ | ||||
|         with: | ||||
| @@ -224,7 +223,7 @@ jobs: | ||||
|             macos-13 | ||||
|           ] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup PyPy and check latest | ||||
|         uses: ./ | ||||
|         with: | ||||
|   | ||||
							
								
								
									
										106
									
								
								.github/workflows/test-python-freethreaded.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										106
									
								
								.github/workflows/test-python-freethreaded.yml
									
									
									
									
										vendored
									
									
								
							| @@ -33,7 +33,7 @@ jobs: | ||||
|         python: [3.13.0t, 3.13.1t, 3.13.2t] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: setup-python ${{ matrix.python }} | ||||
|         id: setup-python | ||||
| @@ -70,7 +70,7 @@ jobs: | ||||
|         python: [3.13.0t, 3.13.1t, 3.13.2t] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: build-version-file ${{ matrix.python }} | ||||
|         run: echo ${{ matrix.python }} > .python-version | ||||
| @@ -110,7 +110,7 @@ jobs: | ||||
|         python: [3.13.0t, 3.13.1t, 3.13.2t] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: build-version-file ${{ matrix.python }} | ||||
|         run: echo ${{ matrix.python }} > .python-version | ||||
| @@ -148,7 +148,7 @@ jobs: | ||||
|         python: [3.13.0, 3.13.1, 3.13.2] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: build-version-file ${{ matrix.python }} | ||||
|         run: | | ||||
| @@ -189,7 +189,7 @@ jobs: | ||||
|         python: [3.13.0, 3.13.1, 3.13.2] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: build-version-file ${{ matrix.python }} | ||||
|         run: | | ||||
| @@ -230,7 +230,7 @@ jobs: | ||||
|         python: [3.13.0t, 3.13.1t, 3.13.2t, 3.14t-dev] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: build-tool-versions-file ${{ matrix.python }} | ||||
|         run: | | ||||
| @@ -242,6 +242,86 @@ jobs: | ||||
|         with: | ||||
|           python-version-file: .tool-versions | ||||
|  | ||||
|   setup-versions-from-pipfile-with-python_version: | ||||
|     name: Setup ${{ matrix.python }} ${{ matrix.os }} Pipfile | ||||
|     runs-on: ${{ matrix.os }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         os: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             macos-13, | ||||
|             ubuntu-latest, | ||||
|             ubuntu-24.04-arm | ||||
|           ] | ||||
|         python: [3.13t, 3.14t-dev] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: build-version-file ${{ matrix.python }} | ||||
|         run: | | ||||
|           echo '[requires] | ||||
|             python_version = "${{ matrix.python }}" | ||||
|           ' > Pipfile | ||||
|  | ||||
|       - name: setup-python ${{ matrix.python }} | ||||
|         id: setup-python | ||||
|         uses: ./ | ||||
|         with: | ||||
|           python-version-file: Pipfile | ||||
|  | ||||
|       - name: Check python-path | ||||
|         run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}' | ||||
|         shell: bash | ||||
|  | ||||
|       - name: Run simple code | ||||
|         run: python -c 'import math; print(math.factorial(5))' | ||||
|  | ||||
|   setup-versions-from-pipfile-with-python_full_version: | ||||
|     name: Setup ${{ matrix.python }} ${{ matrix.os }} .tool-versions file | ||||
|     runs-on: ${{ matrix.os }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         os: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             macos-13, | ||||
|             ubuntu-latest, | ||||
|             ubuntu-24.04-arm | ||||
|           ] | ||||
|         python: [3.13.0t, 3.13.1t, 3.13.2t, 3.14t-dev] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: build-version-file ${{ matrix.python }} | ||||
|         run: | | ||||
|           echo '[requires] | ||||
|             python_full_version = "${{ matrix.python }}" | ||||
|           ' > Pipfile | ||||
|  | ||||
|       - name: setup-python ${{ matrix.python }} | ||||
|         id: setup-python | ||||
|         uses: ./ | ||||
|         with: | ||||
|           python-version-file: Pipfile | ||||
|  | ||||
|       - name: Check python-path | ||||
|         run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}' | ||||
|         shell: bash | ||||
|  | ||||
|       - name: Run simple code | ||||
|         run: python -c 'import math; print(math.factorial(5))' | ||||
|  | ||||
|   setup-pre-release-version-from-manifest: | ||||
|     name: Setup 3.14.0-alpha.6 ${{ matrix.os }} | ||||
|     runs-on: ${{ matrix.os }} | ||||
| @@ -260,7 +340,7 @@ jobs: | ||||
|           ] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: setup-python 3.14.0-alpha.6 | ||||
|         id: setup-python | ||||
| @@ -297,7 +377,7 @@ jobs: | ||||
|           ] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: setup-python 3.14t-dev | ||||
|         id: setup-python | ||||
| @@ -334,7 +414,7 @@ jobs: | ||||
|           ] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: setup-python 3.14t | ||||
|         id: setup-python | ||||
| @@ -373,7 +453,7 @@ jobs: | ||||
|         python: [3.13.0t, 3.13.1t, 3.13.2t] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: setup-python ${{ matrix.python }} | ||||
|         id: setup-python | ||||
| @@ -405,7 +485,7 @@ jobs: | ||||
|           ] | ||||
|         python-version: [3.13t, 3.14t-dev] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Python and check latest | ||||
|         id: setup-python | ||||
|         uses: ./ | ||||
| @@ -431,7 +511,7 @@ jobs: | ||||
|             macos-13 | ||||
|           ] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Python and check latest | ||||
|         id: setup-python | ||||
|         uses: ./ | ||||
| @@ -462,7 +542,7 @@ jobs: | ||||
|         python: [3.13.1, 3.13.2, 3.14-dev, 3.14.0-alpha.6] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|       - name: setup-python ${{ matrix.python }} | ||||
|         id: setup-python | ||||
|         uses: ./ | ||||
|   | ||||
							
								
								
									
										124
									
								
								.github/workflows/test-python.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										124
									
								
								.github/workflows/test-python.yml
									
									
									
									
										vendored
									
									
								
							| @@ -33,7 +33,7 @@ jobs: | ||||
|         python: [3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.2] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: setup-python ${{ matrix.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] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: build-version-file ${{ matrix.python }} | ||||
|         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] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: build-version-file ${{ matrix.python }} | ||||
|         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] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: build-version-file ${{ matrix.python }} | ||||
|         run: | | ||||
| @@ -219,7 +219,7 @@ jobs: | ||||
|         python: [3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.2] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: build-version-file ${{ matrix.python }} | ||||
|         run: | | ||||
| @@ -272,7 +272,7 @@ jobs: | ||||
|             python: graalpy-24.1.2 | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: build-tool-versions-file ${{ matrix.python }} | ||||
|         run: | | ||||
| @@ -284,6 +284,106 @@ jobs: | ||||
|         with: | ||||
|           python-version-file: .tool-versions | ||||
|  | ||||
|   setup-versions-from-pipfile-with-python_version: | ||||
|     name: Setup ${{ matrix.python }} ${{ matrix.os }} Pipfile with python_version | ||||
|     runs-on: ${{ matrix.os }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         os: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             macos-13, | ||||
|             ubuntu-latest, | ||||
|             ubuntu-24.04-arm | ||||
|           ] | ||||
|         python: [3.9.13, 3.10.11, 3.11.9, 3.13.2] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: build-version-file ${{ matrix.python }} | ||||
|         run: | | ||||
|           echo '[requires] | ||||
|             python_version = "${{ matrix.python }}" | ||||
|           ' > Pipfile | ||||
|  | ||||
|       - name: setup-python ${{ matrix.python }} | ||||
|         id: setup-python | ||||
|         uses: ./ | ||||
|         with: | ||||
|           python-version-file: Pipfile | ||||
|  | ||||
|       - name: Check python-path | ||||
|         run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}' | ||||
|         shell: bash | ||||
|  | ||||
|       - name: Validate version | ||||
|         run: | | ||||
|           $pythonVersion = (python --version) | ||||
|           if ("Python ${{ matrix.python }}".replace("==", "") -ne "$pythonVersion"){ | ||||
|             Write-Host "The current version is $pythonVersion; expected version is ${{ matrix.python }}" | ||||
|             exit 1 | ||||
|           } | ||||
|           $pythonVersion | ||||
|         shell: pwsh | ||||
|  | ||||
|       - name: Run simple code | ||||
|         run: python -c 'import math; print(math.factorial(5))' | ||||
|  | ||||
|   setup-versions-from-pipfile-with-python_full_version: | ||||
|     name: Setup ${{ matrix.python }} ${{ matrix.os }} Pipfile with python_full_version | ||||
|     runs-on: ${{ matrix.os }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         os: | ||||
|           [ | ||||
|             macos-latest, | ||||
|             windows-latest, | ||||
|             ubuntu-22.04, | ||||
|             ubuntu-22.04-arm, | ||||
|             macos-13, | ||||
|             ubuntu-latest, | ||||
|             ubuntu-24.04-arm | ||||
|           ] | ||||
|         python: [3.9.13, 3.10.11, 3.11.9, 3.13.2] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: build-version-file ${{ matrix.python }} | ||||
|         run: | | ||||
|           echo '[requires] | ||||
|             python_full_version = "${{ matrix.python }}" | ||||
|           ' > Pipfile | ||||
|  | ||||
|       - name: setup-python ${{ matrix.python }} | ||||
|         id: setup-python | ||||
|         uses: ./ | ||||
|         with: | ||||
|           python-version-file: Pipfile | ||||
|  | ||||
|       - name: Check python-path | ||||
|         run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}' | ||||
|         shell: bash | ||||
|  | ||||
|       - name: Validate version | ||||
|         run: | | ||||
|           $pythonVersion = (python --version) | ||||
|           if ("Python ${{ matrix.python }}".replace("==", "") -ne "$pythonVersion"){ | ||||
|             Write-Host "The current version is $pythonVersion; expected version is ${{ matrix.python }}" | ||||
|             exit 1 | ||||
|           } | ||||
|           $pythonVersion | ||||
|         shell: pwsh | ||||
|  | ||||
|       - name: Run simple code | ||||
|         run: python -c 'import math; print(math.factorial(5))' | ||||
|  | ||||
|   setup-pre-release-version-from-manifest: | ||||
|     name: Setup 3.14.0-alpha.6 ${{ matrix.os }} | ||||
|     runs-on: ${{ matrix.os }} | ||||
| @@ -302,7 +402,7 @@ jobs: | ||||
|           ] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: setup-python 3.14.0-alpha.6 | ||||
|         id: setup-python | ||||
| @@ -345,7 +445,7 @@ jobs: | ||||
|           ] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: setup-python 3.14-dev | ||||
|         id: setup-python | ||||
| @@ -382,7 +482,7 @@ jobs: | ||||
|           ] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: setup-python 3.14 | ||||
|         id: setup-python | ||||
| @@ -421,7 +521,7 @@ jobs: | ||||
|         python: ['3.9', '3.10', '3.11', '3.12', '3.13'] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: setup-python ${{ matrix.python }} | ||||
|         id: setup-python | ||||
| @@ -453,7 +553,7 @@ jobs: | ||||
|           ] | ||||
|         python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Python and check latest | ||||
|         uses: ./ | ||||
|         with: | ||||
| @@ -485,7 +585,7 @@ jobs: | ||||
|             macos-13 | ||||
|           ] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Python and check latest | ||||
|         uses: ./ | ||||
|         with: | ||||
|   | ||||
							
								
								
									
										2
									
								
								.licenses/npm/@actions/tool-cache.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@actions/tool-cache.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: "@actions/tool-cache" | ||||
| version: 2.0.1 | ||||
| version: 2.0.2 | ||||
| type: npm | ||||
| summary: Actions tool-cache lib | ||||
| homepage: https://github.com/actions/toolkit/tree/main/packages/tool-cache | ||||
|   | ||||
							
								
								
									
										2
									
								
								.licenses/npm/@types/node.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@types/node.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: "@types/node" | ||||
| version: 20.11.25 | ||||
| version: 24.1.0 | ||||
| type: npm | ||||
| summary: TypeScript definitions for node | ||||
| homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node | ||||
|   | ||||
							
								
								
									
										2
									
								
								.licenses/npm/brace-expansion.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/brace-expansion.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: brace-expansion | ||||
| version: 1.1.11 | ||||
| version: 1.1.12 | ||||
| type: npm | ||||
| summary: Brace expansion as known from sh/bash | ||||
| homepage: https://github.com/juliangruber/brace-expansion | ||||
|   | ||||
| @@ -1,16 +1,16 @@ | ||||
| --- | ||||
| name: uuid | ||||
| version: 3.4.0 | ||||
| name: call-bind-apply-helpers | ||||
| version: 1.0.2 | ||||
| type: npm | ||||
| summary: RFC4122 (v1, v4, and v5) UUIDs | ||||
| homepage: https://github.com/uuidjs/uuid#readme | ||||
| summary: Helper functions around Function call/apply/bind, for use in `call-bind` | ||||
| homepage: https://github.com/ljharb/call-bind-apply-helpers#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE.md | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     The MIT License (MIT) | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2010-2016 Robert Kieffer and other contributors | ||||
|     Copyright (c) 2024 Jordan Harband | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
| @@ -29,11 +29,4 @@ licenses: | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: | ||||
| - sources: AUTHORS | ||||
|   text: |- | ||||
|     Robert Kieffer <robert@broofa.com> | ||||
|     Christoph Tavan <dev@tavan.de> | ||||
|     AJ ONeal <coolaj86@gmail.com> | ||||
|     Vincent Voyer <vincent@zeroload.net> | ||||
|     Roman Shtylman <shtylman@gmail.com> | ||||
| notices: [] | ||||
							
								
								
									
										32
									
								
								.licenses/npm/dunder-proto.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/dunder-proto.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| --- | ||||
| name: dunder-proto | ||||
| version: 1.0.1 | ||||
| type: npm | ||||
| summary: If available, the `Object.prototype.__proto__` accessor and mutator, call-bound | ||||
| homepage: https://github.com/es-shims/dunder-proto#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2024 ECMAScript Shims | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
							
								
								
									
										32
									
								
								.licenses/npm/es-define-property.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/es-define-property.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| --- | ||||
| name: es-define-property | ||||
| version: 1.0.1 | ||||
| type: npm | ||||
| summary: "`Object.defineProperty`, but not IE 8's broken one." | ||||
| homepage: https://github.com/ljharb/es-define-property#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2024 Jordan Harband | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
							
								
								
									
										32
									
								
								.licenses/npm/es-errors.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/es-errors.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| --- | ||||
| name: es-errors | ||||
| version: 1.3.0 | ||||
| type: npm | ||||
| summary: A simple cache for a few of the JS Error constructors. | ||||
| homepage: https://github.com/ljharb/es-errors#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2024 Jordan Harband | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
							
								
								
									
										32
									
								
								.licenses/npm/es-object-atoms.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/es-object-atoms.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| --- | ||||
| name: es-object-atoms | ||||
| version: 1.1.1 | ||||
| type: npm | ||||
| summary: 'ES Object-related atoms: Object, ToObject, RequireObjectCoercible' | ||||
| homepage: https://github.com/ljharb/es-object-atoms#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2024 Jordan Harband | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
							
								
								
									
										32
									
								
								.licenses/npm/es-set-tostringtag.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/es-set-tostringtag.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| --- | ||||
| name: es-set-tostringtag | ||||
| version: 2.1.0 | ||||
| type: npm | ||||
| summary: A helper to optimistically set Symbol.toStringTag, when possible. | ||||
| homepage: https://github.com/es-shims/es-set-tostringtag#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2022 ECMAScript Shims | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
| @@ -1,10 +1,10 @@ | ||||
| --- | ||||
| name: form-data | ||||
| version: 2.5.1 | ||||
| version: 2.5.5 | ||||
| type: npm | ||||
| summary: A library to create readable "multipart/form-data" streams. Can be used to | ||||
|   submit forms and file uploads to other web applications. | ||||
| homepage: https://github.com/form-data/form-data#readme | ||||
| homepage: | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: License | ||||
| @@ -1,10 +1,10 @@ | ||||
| --- | ||||
| name: form-data | ||||
| version: 4.0.0 | ||||
| version: 4.0.4 | ||||
| type: npm | ||||
| summary: A library to create readable "multipart/form-data" streams. Can be used to | ||||
|   submit forms and file uploads to other web applications. | ||||
| homepage: https://github.com/form-data/form-data#readme | ||||
| homepage: | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: License | ||||
| @@ -28,6 +28,6 @@ licenses: | ||||
|      LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|      OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||||
|      THE SOFTWARE. | ||||
| - sources: Readme.md | ||||
| - sources: README.md | ||||
|   text: Form-Data is released under the [MIT](License) license. | ||||
| notices: [] | ||||
							
								
								
									
										32
									
								
								.licenses/npm/function-bind.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/function-bind.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| --- | ||||
| name: function-bind | ||||
| version: 1.1.2 | ||||
| type: npm | ||||
| summary: Implementation of Function.prototype.bind | ||||
| homepage: https://github.com/Raynos/function-bind | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: |+ | ||||
|     Copyright (c) 2013 Raynos. | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in | ||||
|     all copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||||
|     THE SOFTWARE. | ||||
| 
 | ||||
| notices: [] | ||||
| ... | ||||
							
								
								
									
										33
									
								
								.licenses/npm/get-intrinsic.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								.licenses/npm/get-intrinsic.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | ||||
| --- | ||||
| name: get-intrinsic | ||||
| version: 1.3.0 | ||||
| type: npm | ||||
| summary: Get and robustly cache all JS language-level intrinsics at first require | ||||
|   time | ||||
| homepage: https://github.com/ljharb/get-intrinsic#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2020 Jordan Harband | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
							
								
								
									
										32
									
								
								.licenses/npm/get-proto.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/get-proto.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| --- | ||||
| name: get-proto | ||||
| version: 1.0.1 | ||||
| type: npm | ||||
| summary: Robustly get the [[Prototype]] of an object | ||||
| homepage: https://github.com/ljharb/get-proto#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2025 Jordan Harband | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
							
								
								
									
										32
									
								
								.licenses/npm/gopd.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/gopd.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| --- | ||||
| name: gopd | ||||
| version: 1.2.0 | ||||
| type: npm | ||||
| summary: "`Object.getOwnPropertyDescriptor`, but accounts for IE's broken implementation." | ||||
| homepage: https://github.com/ljharb/gopd#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2022 Jordan Harband | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
							
								
								
									
										32
									
								
								.licenses/npm/has-symbols.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/has-symbols.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| --- | ||||
| name: has-symbols | ||||
| version: 1.1.0 | ||||
| type: npm | ||||
| summary: Determine if the JS environment has Symbol support. Supports spec, or shams. | ||||
| homepage: https://github.com/ljharb/has-symbols#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2016 Jordan Harband | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
							
								
								
									
										33
									
								
								.licenses/npm/has-tostringtag.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								.licenses/npm/has-tostringtag.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | ||||
| --- | ||||
| name: has-tostringtag | ||||
| version: 1.0.2 | ||||
| type: npm | ||||
| summary: Determine if the JS environment has `Symbol.toStringTag` support. Supports | ||||
|   spec, or shams. | ||||
| homepage: https://github.com/inspect-js/has-tostringtag#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2021 Inspect JS | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
							
								
								
									
										32
									
								
								.licenses/npm/hasown.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/hasown.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| --- | ||||
| name: hasown | ||||
| version: 2.0.2 | ||||
| type: npm | ||||
| summary: A robust, ES3 compatible, "has own property" predicate. | ||||
| homepage: https://github.com/inspect-js/hasOwn#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) Jordan Harband and contributors | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
							
								
								
									
										32
									
								
								.licenses/npm/math-intrinsics.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/math-intrinsics.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| --- | ||||
| name: math-intrinsics | ||||
| version: 1.1.0 | ||||
| type: npm | ||||
| summary: ES Math-related intrinsics and helpers, robustly cached. | ||||
| homepage: https://github.com/es-shims/math-intrinsics#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2024 ECMAScript Shims | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
							
								
								
									
										34
									
								
								.licenses/npm/safe-buffer.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								.licenses/npm/safe-buffer.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| --- | ||||
| name: safe-buffer | ||||
| version: 5.2.1 | ||||
| type: npm | ||||
| summary: Safer Node.js Buffer API | ||||
| homepage: https://github.com/feross/safe-buffer | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     The MIT License (MIT) | ||||
| 
 | ||||
|     Copyright (c) Feross Aboukhadijeh | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in | ||||
|     all copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||||
|     THE SOFTWARE. | ||||
| - sources: README.md | ||||
|   text: MIT. Copyright (C) [Feross Aboukhadijeh](http://feross.org) | ||||
| notices: [] | ||||
							
								
								
									
										2
									
								
								.licenses/npm/undici-types.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/undici-types.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: undici-types | ||||
| version: 5.26.5 | ||||
| version: 7.8.0 | ||||
| type: npm | ||||
| summary: A stand-alone types package for Undici | ||||
| homepage: https://undici.nodejs.org | ||||
|   | ||||
							
								
								
									
										2
									
								
								.licenses/npm/undici.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/undici.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: undici | ||||
| version: 5.28.5 | ||||
| version: 5.29.0 | ||||
| type: npm | ||||
| summary: An HTTP/1.1 client, written from scratch for Node.js | ||||
| homepage: https://undici.nodejs.org | ||||
|   | ||||
| @@ -3,7 +3,7 @@ name: uuid | ||||
| version: 8.3.2 | ||||
| type: npm | ||||
| summary: RFC4122 (v1, v4, and v5) UUIDs | ||||
| homepage: https://github.com/uuidjs/uuid#readme | ||||
| homepage: | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE.md | ||||
							
								
								
									
										23
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								README.md
									
									
									
									
									
								
							| @@ -18,8 +18,8 @@ See [action.yml](action.yml) | ||||
| **Python** | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-python@v5 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-python@v6 | ||||
|   with: | ||||
|     python-version: '3.13'  | ||||
| - run: python my_script.py | ||||
| @@ -28,8 +28,8 @@ steps: | ||||
| **PyPy** | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-python@v5  | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-python@v6  | ||||
|   with: | ||||
|     python-version: 'pypy3.10'  | ||||
| - run: python my_script.py | ||||
| @@ -38,8 +38,8 @@ steps: | ||||
| **GraalPy** | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-python@v5  | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-python@v6  | ||||
|   with: | ||||
|     python-version: 'graalpy-24.0'  | ||||
| - run: python my_script.py | ||||
| @@ -48,8 +48,8 @@ steps: | ||||
| **Free threaded Python** | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-python@v5 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-python@v6 | ||||
|   with: | ||||
|     python-version: '3.13t' | ||||
| - run: python my_script.py | ||||
| @@ -83,8 +83,8 @@ The action defaults to searching for a dependency file (`requirements.txt` or `p | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-python@v5 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-python@v6 | ||||
|   with: | ||||
|     python-version: '3.13' | ||||
|     cache: 'pip' # caching pip dependencies | ||||
| @@ -94,6 +94,8 @@ steps: | ||||
|  | ||||
| >The requirements file format allows for specifying dependency versions using logical operators (for example chardet>=3.0.4) or specifying dependencies without any versions. In this case the pip install -r requirements.txt command will always try to install the latest available package version. To be sure that the cache will be used, please stick to a specific dependency version and update it manually if necessary. | ||||
|  | ||||
| >The `setup-python` action does not handle authentication for pip when installing packages from private repositories. For help, refer [pip’s VCS support documentation](https://pip.pypa.io/en/stable/topics/vcs-support/) or visit the [pip repository](https://github.com/pypa/pip). | ||||
|  | ||||
| See examples of using `cache` and `cache-dependency-path` for `pipenv` and `poetry` in the section: [Caching packages](docs/advanced-usage.md#caching-packages) of the [Advanced usage](docs/advanced-usage.md) guide. | ||||
|  | ||||
| ## Advanced usage | ||||
| @@ -108,6 +110,7 @@ See examples of using `cache` and `cache-dependency-path` for `pipenv` and `poet | ||||
| - [Using `setup-python` with a self-hosted runner](docs/advanced-usage.md#using-setup-python-with-a-self-hosted-runner) | ||||
| - [Using `setup-python` 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) | ||||
|  | ||||
| ## Recommended permissions | ||||
|  | ||||
|   | ||||
							
								
								
									
										51
									
								
								__tests__/data/poetry.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										51
									
								
								__tests__/data/poetry.lock
									
									
									
										generated
									
									
									
								
							| @@ -1,4 +1,4 @@ | ||||
| # This file is automatically @generated by Poetry 1.8.5 and should not be changed by hand. | ||||
| # This file is automatically @generated by Poetry 2.1.3 and should not be changed by hand. | ||||
|  | ||||
| [[package]] | ||||
| name = "altgraph" | ||||
| @@ -6,6 +6,7 @@ version = "0.17.4" | ||||
| description = "Python graph (network) package" | ||||
| optional = false | ||||
| python-versions = "*" | ||||
| groups = ["main"] | ||||
| files = [ | ||||
|     {file = "altgraph-0.17.4-py2.py3-none-any.whl", hash = "sha256:642743b4750de17e655e6711601b077bc6598dbfa3ba5fa2b2a35ce12b508dff"}, | ||||
|     {file = "altgraph-0.17.4.tar.gz", hash = "sha256:1b5afbb98f6c4dcadb2e2ae6ab9fa994bbb8c1d75f4fa96d340f9437ae454406"}, | ||||
| @@ -17,6 +18,7 @@ version = "4.0.1" | ||||
| description = "the modular source code checker: pep8 pyflakes and co" | ||||
| optional = false | ||||
| python-versions = ">=3.6" | ||||
| groups = ["main"] | ||||
| files = [ | ||||
|     {file = "flake8-4.0.1-py2.py3-none-any.whl", hash = "sha256:479b1304f72536a55948cb40a32dce8bb0ffe3501e26eaf292c7e60eb5e0428d"}, | ||||
|     {file = "flake8-4.0.1.tar.gz", hash = "sha256:806e034dda44114815e23c16ef92f95c91e4c71100ff52813adf7132a6ad870d"}, | ||||
| @@ -33,6 +35,8 @@ version = "8.5.0" | ||||
| description = "Read metadata from Python packages" | ||||
| optional = false | ||||
| python-versions = ">=3.8" | ||||
| groups = ["main"] | ||||
| markers = "python_version == \"3.9\"" | ||||
| files = [ | ||||
|     {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, | ||||
|     {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, | ||||
| @@ -42,12 +46,12 @@ files = [ | ||||
| zipp = ">=3.20" | ||||
|  | ||||
| [package.extras] | ||||
| check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] | ||||
| check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] | ||||
| cover = ["pytest-cov"] | ||||
| doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] | ||||
| enabler = ["pytest-enabler (>=2.2)"] | ||||
| perf = ["ipython"] | ||||
| test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] | ||||
| test = ["flufl.flake8", "importlib-resources (>=1.3) ; python_version < \"3.9\"", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] | ||||
| type = ["pytest-mypy"] | ||||
|  | ||||
| [[package]] | ||||
| @@ -56,6 +60,8 @@ version = "1.16.3" | ||||
| description = "Mach-O header analysis and editing" | ||||
| optional = false | ||||
| python-versions = "*" | ||||
| groups = ["main"] | ||||
| markers = "sys_platform == \"darwin\"" | ||||
| files = [ | ||||
|     {file = "macholib-1.16.3-py2.py3-none-any.whl", hash = "sha256:0e315d7583d38b8c77e815b1ecbdbf504a8258d8b3e17b61165c6feb60d18f2c"}, | ||||
|     {file = "macholib-1.16.3.tar.gz", hash = "sha256:07ae9e15e8e4cd9a788013d81f5908b3609aa76f9b1421bae9c4d7606ec86a30"}, | ||||
| @@ -70,6 +76,7 @@ version = "0.6.1" | ||||
| description = "McCabe checker, plugin for flake8" | ||||
| optional = false | ||||
| python-versions = "*" | ||||
| groups = ["main"] | ||||
| files = [ | ||||
|     {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, | ||||
|     {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, | ||||
| @@ -81,6 +88,7 @@ version = "24.2" | ||||
| description = "Core utilities for Python packages" | ||||
| optional = false | ||||
| python-versions = ">=3.8" | ||||
| groups = ["main"] | ||||
| files = [ | ||||
|     {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, | ||||
|     {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, | ||||
| @@ -92,6 +100,8 @@ version = "2024.8.26" | ||||
| description = "Python PE parsing module" | ||||
| optional = false | ||||
| python-versions = ">=3.6.0" | ||||
| groups = ["main"] | ||||
| markers = "sys_platform == \"win32\"" | ||||
| files = [ | ||||
|     {file = "pefile-2024.8.26-py3-none-any.whl", hash = "sha256:76f8b485dcd3b1bb8166f1128d395fa3d87af26360c2358fb75b80019b957c6f"}, | ||||
|     {file = "pefile-2024.8.26.tar.gz", hash = "sha256:3ff6c5d8b43e8c37bb6e6dd5085658d658a7a0bdcd20b6a07b1fcfc1c4e9d632"}, | ||||
| @@ -103,6 +113,7 @@ version = "2.8.0" | ||||
| description = "Python style guide checker" | ||||
| optional = false | ||||
| python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" | ||||
| groups = ["main"] | ||||
| files = [ | ||||
|     {file = "pycodestyle-2.8.0-py2.py3-none-any.whl", hash = "sha256:720f8b39dde8b293825e7ff02c475f3077124006db4f440dcbc9a20b76548a20"}, | ||||
|     {file = "pycodestyle-2.8.0.tar.gz", hash = "sha256:eddd5847ef438ea1c7870ca7eb78a9d47ce0cdb4851a5523949f2601d0cbbe7f"}, | ||||
| @@ -114,6 +125,7 @@ version = "2.4.0" | ||||
| description = "passive checker of Python programs" | ||||
| optional = false | ||||
| python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" | ||||
| groups = ["main"] | ||||
| files = [ | ||||
|     {file = "pyflakes-2.4.0-py2.py3-none-any.whl", hash = "sha256:3bb3a3f256f4b7968c9c788781e4ff07dce46bdf12339dcda61053375426ee2e"}, | ||||
|     {file = "pyflakes-2.4.0.tar.gz", hash = "sha256:05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c"}, | ||||
| @@ -125,6 +137,7 @@ version = "6.10.0" | ||||
| description = "PyInstaller bundles a Python application and all its dependencies into a single package." | ||||
| optional = false | ||||
| python-versions = "<3.14,>=3.8" | ||||
| groups = ["main"] | ||||
| files = [ | ||||
|     {file = "pyinstaller-6.10.0-py3-none-macosx_10_13_universal2.whl", hash = "sha256:d60fb22859e11483af735aec115fdde09467cdbb29edd9844839f2c920b748c0"}, | ||||
|     {file = "pyinstaller-6.10.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:46d75359668993ddd98630a3669dc5249f3c446e35239b43bc7f4155bc574748"}, | ||||
| @@ -160,6 +173,7 @@ version = "2025.1" | ||||
| description = "Community maintained hooks for PyInstaller" | ||||
| optional = false | ||||
| python-versions = ">=3.8" | ||||
| groups = ["main"] | ||||
| files = [ | ||||
|     {file = "pyinstaller_hooks_contrib-2025.1-py3-none-any.whl", hash = "sha256:d3c799470cbc0bda60dcc8e6b4ab976777532b77621337f2037f558905e3a8e9"}, | ||||
|     {file = "pyinstaller_hooks_contrib-2025.1.tar.gz", hash = "sha256:130818f9e9a0a7f2261f1fd66054966a3a50c99d000981c5d1db11d3ad0c6ab2"}, | ||||
| @@ -176,6 +190,8 @@ version = "0.2.3" | ||||
| description = "A (partial) reimplementation of pywin32 using ctypes/cffi" | ||||
| optional = false | ||||
| python-versions = ">=3.6" | ||||
| groups = ["main"] | ||||
| markers = "sys_platform == \"win32\"" | ||||
| files = [ | ||||
|     {file = "pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755"}, | ||||
|     {file = "pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8"}, | ||||
| @@ -183,23 +199,24 @@ files = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "setuptools" | ||||
| version = "75.3.2" | ||||
| version = "80.9.0" | ||||
| description = "Easily download, build, install, upgrade, and uninstall Python packages" | ||||
| optional = false | ||||
| python-versions = ">=3.8" | ||||
| python-versions = ">=3.9" | ||||
| groups = ["main"] | ||||
| files = [ | ||||
|     {file = "setuptools-75.3.2-py3-none-any.whl", hash = "sha256:90ab613b6583fc02d5369cbca13ea26ea0e182d1df2d943ee9cbe81d4c61add9"}, | ||||
|     {file = "setuptools-75.3.2.tar.gz", hash = "sha256:3c1383e1038b68556a382c1e8ded8887cd20141b0eb5708a6c8d277de49364f5"}, | ||||
|     {file = "setuptools-80.9.0-py3-none-any.whl", hash = "sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922"}, | ||||
|     {file = "setuptools-80.9.0.tar.gz", hash = "sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c"}, | ||||
| ] | ||||
|  | ||||
| [package.extras] | ||||
| check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.5.2)"] | ||||
| core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.collections", "jaraco.functools", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] | ||||
| check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\"", "ruff (>=0.8.0) ; sys_platform != \"cygwin\""] | ||||
| core = ["importlib_metadata (>=6) ; python_version < \"3.10\"", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1) ; python_version < \"3.11\"", "wheel (>=0.43.0)"] | ||||
| cover = ["pytest-cov"] | ||||
| doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] | ||||
| enabler = ["pytest-enabler (>=2.2)"] | ||||
| test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test (>=5.5)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "ruff (<=0.7.1)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] | ||||
| type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.12.*)", "pytest-mypy"] | ||||
| test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21) ; python_version >= \"3.9\" and sys_platform != \"cygwin\"", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf ; sys_platform != \"cygwin\"", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] | ||||
| type = ["importlib_metadata (>=7.0.2) ; python_version < \"3.10\"", "jaraco.develop (>=7.21) ; sys_platform != \"cygwin\"", "mypy (==1.14.*)", "pytest-mypy"] | ||||
|  | ||||
| [[package]] | ||||
| name = "zipp" | ||||
| @@ -207,20 +224,22 @@ version = "3.20.2" | ||||
| description = "Backport of pathlib-compatible object wrapper for zip files" | ||||
| optional = false | ||||
| python-versions = ">=3.8" | ||||
| groups = ["main"] | ||||
| markers = "python_version == \"3.9\"" | ||||
| files = [ | ||||
|     {file = "zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350"}, | ||||
|     {file = "zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29"}, | ||||
| ] | ||||
|  | ||||
| [package.extras] | ||||
| check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] | ||||
| check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] | ||||
| cover = ["pytest-cov"] | ||||
| doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] | ||||
| enabler = ["pytest-enabler (>=2.2)"] | ||||
| test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] | ||||
| test = ["big-O", "importlib-resources ; python_version < \"3.9\"", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] | ||||
| type = ["pytest-mypy"] | ||||
|  | ||||
| [metadata] | ||||
| lock-version = "2.0" | ||||
| python-versions = ">=3.8,<3.14" | ||||
| content-hash = "6db8fff0987f3dadb02cbf0e510a2d04b01ab2dc6d7b0fb32a0e33a8d30b3a58" | ||||
| lock-version = "2.1" | ||||
| python-versions = ">=3.9,<3.14" | ||||
| content-hash = "9a14798bf374c540031f893ff18f9b187bd984391e9da99d13c0e6710b7de09e" | ||||
|   | ||||
| @@ -5,10 +5,10 @@ description = "" | ||||
| authors = ["Your Name <you@example.com>"] | ||||
|  | ||||
| [tool.poetry.dependencies] | ||||
| python = ">=3.8,<3.14" | ||||
| python = ">=3.9,<3.14" | ||||
| flake8 = "^4.0.1" | ||||
| pyinstaller = "6.10.0" | ||||
|  | ||||
| setuptools = ">=78.1.1"  | ||||
|  | ||||
| [tool.poetry.dev-dependencies] | ||||
|  | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| certifi==2020.6.20 | ||||
| chardet==3.0.4 | ||||
| docutils==0.16 | ||||
| idna==2.10 | ||||
| idna==3.7 | ||||
| Kivy==2.0.0rc3 | ||||
| Kivy-Garden==0.1.4 | ||||
| packaging==20.7 | ||||
|   | ||||
| @@ -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' | ||||
|  | ||||
| idna==2.9 | ||||
| idna==3.7 | ||||
|  | ||||
| itsdangerous==1.1.0 | ||||
|  | ||||
|   | ||||
| @@ -10,8 +10,9 @@ import { | ||||
|   validatePythonVersionFormatForPyPy, | ||||
|   isCacheFeatureAvailable, | ||||
|   getVersionInputFromFile, | ||||
|   getVersionInputFromPlainFile, | ||||
|   getVersionsInputFromPlainFile, | ||||
|   getVersionInputFromTomlFile, | ||||
|   getVersionInputFromPipfileFile, | ||||
|   getNextPageUrl, | ||||
|   isGhes, | ||||
|   IS_WINDOWS, | ||||
| @@ -24,10 +25,10 @@ jest.mock('@actions/core'); | ||||
|  | ||||
| describe('validatePythonVersionFormatForPyPy', () => { | ||||
|   it.each([ | ||||
|     ['3.6', true], | ||||
|     ['3.7', true], | ||||
|     ['3.6.x', false], | ||||
|     ['3.7.x', false], | ||||
|     ['3.12', true], | ||||
|     ['3.13', true], | ||||
|     ['3.12.x', false], | ||||
|     ['3.13.x', false], | ||||
|     ['3.x', false], | ||||
|     ['3', false] | ||||
|   ])('%s -> %s', (input, expected) => { | ||||
| @@ -95,24 +96,52 @@ const tempDir = path.join( | ||||
| ); | ||||
|  | ||||
| describe('Version from file test', () => { | ||||
|   it.each([getVersionInputFromPlainFile, getVersionInputFromFile])( | ||||
|   it.each([getVersionsInputFromPlainFile, getVersionInputFromFile])( | ||||
|     'Version from plain file test', | ||||
|     async _fn => { | ||||
|       await io.mkdirP(tempDir); | ||||
|       const pythonVersionFileName = 'python-version.file'; | ||||
|       const pythonVersionFilePath = path.join(tempDir, pythonVersionFileName); | ||||
|       const pythonVersionFileContent = '3.7'; | ||||
|       const pythonVersionFileContent = '3.13'; | ||||
|       fs.writeFileSync(pythonVersionFilePath, pythonVersionFileContent); | ||||
|       expect(_fn(pythonVersionFilePath)).toEqual([pythonVersionFileContent]); | ||||
|     } | ||||
|   ); | ||||
|   it.each([getVersionsInputFromPlainFile, getVersionInputFromFile])( | ||||
|     'Versions from multiline plain file test', | ||||
|     async _fn => { | ||||
|       await io.mkdirP(tempDir); | ||||
|       const pythonVersionFileName = 'python-version.file'; | ||||
|       const pythonVersionFilePath = path.join(tempDir, pythonVersionFileName); | ||||
|       const pythonVersionFileContent = '3.13\r\n3.12'; | ||||
|       fs.writeFileSync(pythonVersionFilePath, pythonVersionFileContent); | ||||
|       expect(_fn(pythonVersionFilePath)).toEqual(['3.13', '3.12']); | ||||
|     } | ||||
|   ); | ||||
|   it.each([getVersionsInputFromPlainFile, getVersionInputFromFile])( | ||||
|     'Version from complex plain file test', | ||||
|     async _fn => { | ||||
|       await io.mkdirP(tempDir); | ||||
|       const pythonVersionFileName = 'python-version.file'; | ||||
|       const pythonVersionFilePath = path.join(tempDir, pythonVersionFileName); | ||||
|       const pythonVersionFileContent = | ||||
|         '3.13/envs/virtualenv\r# 3.12\n3.11\r\n3.10\r\n 3.9 \r\n'; | ||||
|       fs.writeFileSync(pythonVersionFilePath, pythonVersionFileContent); | ||||
|       expect(_fn(pythonVersionFilePath)).toEqual([ | ||||
|         '3.13', | ||||
|         '3.11', | ||||
|         '3.10', | ||||
|         '3.9' | ||||
|       ]); | ||||
|     } | ||||
|   ); | ||||
|   it.each([getVersionInputFromTomlFile, getVersionInputFromFile])( | ||||
|     'Version from standard pyproject.toml test', | ||||
|     async _fn => { | ||||
|       await io.mkdirP(tempDir); | ||||
|       const pythonVersionFileName = 'pyproject.toml'; | ||||
|       const pythonVersionFilePath = path.join(tempDir, pythonVersionFileName); | ||||
|       const pythonVersion = '>=3.7.0'; | ||||
|       const pythonVersion = '>=3.13.0'; | ||||
|       const pythonVersionFileContent = `[project]\nrequires-python = "${pythonVersion}"`; | ||||
|       fs.writeFileSync(pythonVersionFilePath, pythonVersionFileContent); | ||||
|       expect(_fn(pythonVersionFilePath)).toEqual([pythonVersion]); | ||||
| @@ -124,7 +153,7 @@ describe('Version from file test', () => { | ||||
|       await io.mkdirP(tempDir); | ||||
|       const pythonVersionFileName = 'pyproject.toml'; | ||||
|       const pythonVersionFilePath = path.join(tempDir, pythonVersionFileName); | ||||
|       const pythonVersion = '>=3.7.0'; | ||||
|       const pythonVersion = '>=3.13.0'; | ||||
|       const pythonVersionFileContent = `[tool.poetry.dependencies]\npython = "${pythonVersion}"`; | ||||
|       fs.writeFileSync(pythonVersionFilePath, pythonVersionFileContent); | ||||
|       expect(_fn(pythonVersionFilePath)).toEqual([pythonVersion]); | ||||
| @@ -145,9 +174,9 @@ describe('Version from file test', () => { | ||||
|     async _fn => { | ||||
|       const toolVersionFileName = '.tool-versions'; | ||||
|       const toolVersionFilePath = path.join(tempDir, toolVersionFileName); | ||||
|       const toolVersionContent = 'python 3.9.10\nnodejs 16'; | ||||
|       const toolVersionContent = 'python 3.13.2\nnodejs 16'; | ||||
|       fs.writeFileSync(toolVersionFilePath, toolVersionContent); | ||||
|       expect(_fn(toolVersionFilePath)).toEqual(['3.9.10']); | ||||
|       expect(_fn(toolVersionFilePath)).toEqual(['3.13.2']); | ||||
|     } | ||||
|   ); | ||||
|  | ||||
| @@ -156,9 +185,9 @@ describe('Version from file test', () => { | ||||
|     async _fn => { | ||||
|       const toolVersionFileName = '.tool-versions'; | ||||
|       const toolVersionFilePath = path.join(tempDir, toolVersionFileName); | ||||
|       const toolVersionContent = '# python 3.8\npython 3.9'; | ||||
|       const toolVersionContent = '# python 3.13\npython 3.12'; | ||||
|       fs.writeFileSync(toolVersionFilePath, toolVersionContent); | ||||
|       expect(_fn(toolVersionFilePath)).toEqual(['3.9']); | ||||
|       expect(_fn(toolVersionFilePath)).toEqual(['3.12']); | ||||
|     } | ||||
|   ); | ||||
|  | ||||
| @@ -167,9 +196,9 @@ describe('Version from file test', () => { | ||||
|     async _fn => { | ||||
|       const toolVersionFileName = '.tool-versions'; | ||||
|       const toolVersionFilePath = path.join(tempDir, toolVersionFileName); | ||||
|       const toolVersionContent = '  python   3.10  '; | ||||
|       const toolVersionContent = '  python   3.13  '; | ||||
|       fs.writeFileSync(toolVersionFilePath, toolVersionContent); | ||||
|       expect(_fn(toolVersionFilePath)).toEqual(['3.10']); | ||||
|       expect(_fn(toolVersionFilePath)).toEqual(['3.13']); | ||||
|     } | ||||
|   ); | ||||
|  | ||||
| @@ -178,9 +207,9 @@ describe('Version from file test', () => { | ||||
|     async _fn => { | ||||
|       const toolVersionFileName = '.tool-versions'; | ||||
|       const toolVersionFilePath = path.join(tempDir, toolVersionFileName); | ||||
|       const toolVersionContent = 'python v3.9.10'; | ||||
|       const toolVersionContent = 'python v3.13.2'; | ||||
|       fs.writeFileSync(toolVersionFilePath, toolVersionContent); | ||||
|       expect(_fn(toolVersionFilePath)).toEqual(['3.9.10']); | ||||
|       expect(_fn(toolVersionFilePath)).toEqual(['3.13.2']); | ||||
|     } | ||||
|   ); | ||||
|  | ||||
| @@ -189,9 +218,9 @@ describe('Version from file test', () => { | ||||
|     async _fn => { | ||||
|       const toolVersionFileName = '.tool-versions'; | ||||
|       const toolVersionFilePath = path.join(tempDir, toolVersionFileName); | ||||
|       const toolVersionContent = 'python pypy3.10-7.3.14'; | ||||
|       const toolVersionContent = 'python pypy3.10-7.3.19'; | ||||
|       fs.writeFileSync(toolVersionFilePath, toolVersionContent); | ||||
|       expect(_fn(toolVersionFilePath)).toEqual(['pypy3.10-7.3.14']); | ||||
|       expect(_fn(toolVersionFilePath)).toEqual(['pypy3.10-7.3.19']); | ||||
|     } | ||||
|   ); | ||||
|  | ||||
| @@ -216,6 +245,44 @@ describe('Version from file test', () => { | ||||
|       expect(_fn(toolVersionFilePath)).toEqual(['3.14t-dev']); | ||||
|     } | ||||
|   ); | ||||
|  | ||||
|   it.each([getVersionInputFromPipfileFile, getVersionInputFromFile])( | ||||
|     'Version from python_version in Pipfile', | ||||
|     async _fn => { | ||||
|       await io.mkdirP(tempDir); | ||||
|       const pythonVersionFileName = 'Pipfile'; | ||||
|       const pythonVersionFilePath = path.join(tempDir, pythonVersionFileName); | ||||
|       const pythonVersion = '3.13'; | ||||
|       const pythonVersionFileContent = `[requires]\npython_version = "${pythonVersion}"`; | ||||
|       fs.writeFileSync(pythonVersionFilePath, pythonVersionFileContent); | ||||
|       expect(_fn(pythonVersionFilePath)).toEqual([pythonVersion]); | ||||
|     } | ||||
|   ); | ||||
|  | ||||
|   it.each([getVersionInputFromPipfileFile, getVersionInputFromFile])( | ||||
|     'Version from python_full_version in Pipfile', | ||||
|     async _fn => { | ||||
|       await io.mkdirP(tempDir); | ||||
|       const pythonVersionFileName = 'Pipfile'; | ||||
|       const pythonVersionFilePath = path.join(tempDir, pythonVersionFileName); | ||||
|       const pythonVersion = '3.13.0'; | ||||
|       const pythonVersionFileContent = `[requires]\npython_full_version = "${pythonVersion}"`; | ||||
|       fs.writeFileSync(pythonVersionFilePath, pythonVersionFileContent); | ||||
|       expect(_fn(pythonVersionFilePath)).toEqual([pythonVersion]); | ||||
|     } | ||||
|   ); | ||||
|  | ||||
|   it.each([getVersionInputFromPipfileFile, getVersionInputFromFile])( | ||||
|     'Pipfile undefined version', | ||||
|     async _fn => { | ||||
|       await io.mkdirP(tempDir); | ||||
|       const pythonVersionFileName = 'Pipfile'; | ||||
|       const pythonVersionFilePath = path.join(tempDir, pythonVersionFileName); | ||||
|       const pythonVersionFileContent = ``; | ||||
|       fs.writeFileSync(pythonVersionFilePath, pythonVersionFileContent); | ||||
|       expect(_fn(pythonVersionFilePath)).toEqual([]); | ||||
|     } | ||||
|   ); | ||||
| }); | ||||
|  | ||||
| describe('getNextPageUrl', () => { | ||||
|   | ||||
| @@ -29,6 +29,8 @@ inputs: | ||||
|   freethreaded: | ||||
|     description: "When 'true', use the freethreaded version of Python." | ||||
|     default: false | ||||
|   pip-version: | ||||
|     description: "Used to specify the version of pip to install with the Python. Supported format: major[.minor][.patch]." | ||||
| outputs: | ||||
|   python-version: | ||||
|     description: "The installed Python or PyPy version. Useful when given a version range as input." | ||||
| @@ -37,7 +39,7 @@ outputs: | ||||
|   python-path: | ||||
|     description: "The absolute path to the Python or PyPy executable." | ||||
| runs: | ||||
|   using: 'node20' | ||||
|   using: 'node24' | ||||
|   main: 'dist/setup/index.js' | ||||
|   post: 'dist/cache-save/index.js' | ||||
|   post-if: success() | ||||
|   | ||||
							
								
								
									
										1447
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1447
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1720
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1720
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -22,6 +22,7 @@ | ||||
|     - [macOS](advanced-usage.md#macos) | ||||
| - [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 `python-version` input | ||||
|  | ||||
| @@ -31,8 +32,8 @@ If there is a specific version of Python that you need and you don't want to wor | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-python@v5 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-python@v6 | ||||
|   with: | ||||
|     python-version: '3.12.6'  | ||||
| - run: python my_script.py | ||||
| @@ -45,8 +46,8 @@ You can specify **only a major and minor version** if you are okay with the most | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-python@v5 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-python@v6 | ||||
|   with: | ||||
|     python-version: '3.13'  | ||||
| - run: python my_script.py | ||||
| @@ -59,8 +60,8 @@ You can specify the version with **prerelease tag** to download and set up an ac | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-python@v5 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-python@v6 | ||||
|   with: | ||||
|     python-version: '3.14.0-alpha.1' | ||||
| - run: python my_script.py | ||||
| @@ -70,8 +71,8 @@ It's also possible to use **x.y-dev syntax** to download and set up the latest p | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-python@v5 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-python@v6 | ||||
|   with: | ||||
|     python-version: '3.14-dev' | ||||
| - run: python my_script.py | ||||
| @@ -83,8 +84,8 @@ Free threaded Python is only available starting with the 3.13 release. | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-python@v5 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-python@v6 | ||||
|   with: | ||||
|     python-version: '3.13t' | ||||
| - run: python my_script.py | ||||
| @@ -94,8 +95,8 @@ Note that the **t** suffix is not `semver` syntax. If you wish to specify a rang | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-python@v5 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-python@v6 | ||||
|   with: | ||||
|     python-version: '>=3.13' | ||||
|     freethreaded: true | ||||
| @@ -108,8 +109,8 @@ You can also use several types of ranges that are specified in [semver](https:// | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-python@v5 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-python@v6 | ||||
|   with: | ||||
|     python-version: '>=3.9 <3.14' | ||||
| - run: python my_script.py | ||||
| @@ -119,8 +120,8 @@ steps: | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-python@v5 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-python@v6 | ||||
|   with: | ||||
|     python-version: '3.13.0-alpha - 3.13.0' | ||||
| - run: python my_script.py | ||||
| @@ -130,8 +131,8 @@ steps: | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-python@v5 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-python@v6 | ||||
|   with: | ||||
|     python-version: '3.x' | ||||
| - run: python my_script.py | ||||
| @@ -163,8 +164,8 @@ jobs: | ||||
|         - '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 | ||||
|     steps: | ||||
|     - uses: actions/checkout@v4 | ||||
|     - uses: actions/setup-python@v5 | ||||
|     - uses: actions/checkout@v5 | ||||
|     - uses: actions/setup-python@v6 | ||||
|       with: | ||||
|         python-version: ${{ matrix.python-version }} | ||||
|     - run: python my_script.py | ||||
| @@ -181,8 +182,8 @@ jobs: | ||||
|   build: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|     - uses: actions/checkout@v4 | ||||
|     - uses: actions/setup-python@v5 | ||||
|     - uses: actions/checkout@v5 | ||||
|     - uses: actions/setup-python@v6 | ||||
|       with: | ||||
|         python-version: | | ||||
|             3.11 | ||||
| @@ -198,8 +199,8 @@ jobs: | ||||
|   build: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|     - uses: actions/checkout@v4 | ||||
|     - uses: actions/setup-python@v5 | ||||
|     - uses: actions/checkout@v5 | ||||
|     - uses: actions/setup-python@v6 | ||||
|       with: | ||||
|         python-version: | | ||||
|             pypy-3.10-v7.3.x | ||||
| @@ -215,8 +216,8 @@ jobs: | ||||
|   build: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|     - uses: actions/checkout@v4 | ||||
|     - uses: actions/setup-python@v5 | ||||
|     - uses: actions/checkout@v5 | ||||
|     - uses: actions/setup-python@v6 | ||||
|       with: | ||||
|         python-version: | | ||||
|             3.11 | ||||
| @@ -240,9 +241,9 @@ jobs: | ||||
|         python-version: ['3.x', 'pypy3.8', 'pypy3.9' ] | ||||
|     name: Python ${{ matrix.python-version }} sample | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Set up Python | ||||
|         uses: actions/setup-python@v5 | ||||
|         uses: actions/setup-python@v6 | ||||
|         with: | ||||
|           python-version: ${{ matrix.python-version }} | ||||
|           architecture: x64 | ||||
| @@ -266,9 +267,9 @@ jobs: | ||||
|           - os: windows-latest | ||||
|             python-version: '3.9' | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Set up Python | ||||
|         uses: actions/setup-python@v5 | ||||
|         uses: actions/setup-python@v6 | ||||
|         with: | ||||
|           python-version: ${{ matrix.python-version }} | ||||
|       - name: Display Python version | ||||
| @@ -284,8 +285,8 @@ jobs: | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-python@v5 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-python@v6 | ||||
|   with: | ||||
|     python-version-file: '.python-version' # Read python version from a file .python-version | ||||
| - run: python my_script.py | ||||
| @@ -293,8 +294,8 @@ steps: | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-python@v5 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-python@v6 | ||||
|   with: | ||||
|     python-version-file: 'pyproject.toml' # Read python version from a file pyproject.toml | ||||
| - run: python my_script.py | ||||
| @@ -302,13 +303,22 @@ steps: | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-python@v5 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-python@v6 | ||||
|   with: | ||||
|     python-version-file: '.tool-versions' # Read python version from a file .tool-versions | ||||
| - run: python my_script.py | ||||
| ``` | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-python@v6 | ||||
|   with: | ||||
|     python-version-file: 'Pipfile' # Read python version from a file Pipfile | ||||
| - run: python my_script.py | ||||
| ``` | ||||
|  | ||||
| ## Check latest version | ||||
|  | ||||
| The `check-latest` flag defaults to `false`. Use the default or set `check-latest` to `false` if you prefer stability and if you want to ensure a specific `Python or PyPy` version is always used. | ||||
| @@ -317,8 +327,8 @@ If `check-latest` is set to `true`, the action first checks if the cached versio | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
|   - uses: actions/checkout@v4 | ||||
|   - uses: actions/setup-python@v5 | ||||
|   - uses: actions/checkout@v5 | ||||
|   - uses: actions/setup-python@v6 | ||||
|     with: | ||||
|       python-version: '3.13' | ||||
|       check-latest: true | ||||
| @@ -332,8 +342,8 @@ steps: | ||||
| **Caching pipenv dependencies:** | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-python@v5 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-python@v6 | ||||
|   with: | ||||
|     python-version: '3.13' | ||||
|     cache: 'pipenv' | ||||
| @@ -345,10 +355,10 @@ steps: | ||||
| **Caching poetry dependencies:** | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/checkout@v5 | ||||
| - name: Install poetry | ||||
|   run: pipx install poetry | ||||
| - uses: actions/setup-python@v5 | ||||
| - uses: actions/setup-python@v6 | ||||
|   with: | ||||
|     python-version: '3.13' | ||||
|     cache: 'poetry' | ||||
| @@ -360,8 +370,8 @@ steps: | ||||
| **Using a list of file paths to cache dependencies** | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-python@v5 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-python@v6 | ||||
|   with: | ||||
|     python-version: '3.13' | ||||
|     cache: 'pipenv' | ||||
| @@ -375,8 +385,8 @@ steps: | ||||
| **Using wildcard patterns to cache dependencies** | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-python@v5 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-python@v6 | ||||
|   with: | ||||
|     python-version: '3.13' | ||||
|     cache: 'pip' | ||||
| @@ -387,8 +397,8 @@ steps: | ||||
| **Using a list of wildcard patterns to cache dependencies** | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-python@v5 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-python@v6 | ||||
|   with: | ||||
|     python-version: '3.13' | ||||
|     cache: 'pip' | ||||
| @@ -402,8 +412,8 @@ steps: | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-python@v5 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-python@v6 | ||||
|   with: | ||||
|     python-version: '3.13' | ||||
|     cache: 'pip' | ||||
| @@ -425,8 +435,8 @@ jobs: | ||||
|   build: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|     - uses: actions/checkout@v4 | ||||
|     - uses: actions/setup-python@v5 | ||||
|     - uses: actions/checkout@v5 | ||||
|     - uses: actions/setup-python@v6 | ||||
|       id: cp312 | ||||
|       with: | ||||
|         python-version: "3.9.0 - 3.12.0" | ||||
| @@ -442,8 +452,8 @@ jobs: | ||||
|   build: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|     - uses: actions/checkout@v4 | ||||
|     - uses: actions/setup-python@v5 | ||||
|     - uses: actions/checkout@v5 | ||||
|     - uses: actions/setup-python@v6 | ||||
|       id: cp313 | ||||
|       with: | ||||
|         python-version: "3.13" | ||||
| @@ -458,8 +468,8 @@ jobs: | ||||
|   build: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|     - uses: actions/checkout@v4 | ||||
|     - uses: actions/setup-python@v5 | ||||
|     - uses: actions/checkout@v5 | ||||
|     - uses: actions/setup-python@v6 | ||||
|       id: cp313 | ||||
|       with: | ||||
|         python-version: "3.13.0" | ||||
| @@ -467,16 +477,16 @@ jobs: | ||||
|     - run: echo '${{ steps.cp313.outputs.cache-hit }}' # true if cache-hit occurred on the primary key | ||||
| ``` | ||||
|  | ||||
| ## Environment variables | ||||
| ### Environment variables | ||||
|  | ||||
| These environment variables become available after setup-python action execution: | ||||
|  | ||||
| | **Env.variable**      | **Description** | | ||||
| | ----------- | ----------- | | ||||
| | pythonLocation      |Contains the absolute path to the folder where the requested version of Python or PyPy is installed| | ||||
| | Python_ROOT_DIR   | https://cmake.org/cmake/help/latest/module/FindPython.html#module:FindPython        | | ||||
| | Python2_ROOT_DIR   |https://cmake.org/cmake/help/latest/module/FindPython2.html#module:FindPython2| | ||||
| | Python3_ROOT_DIR   |https://cmake.org/cmake/help/latest/module/FindPython3.html#module:FindPython3| | ||||
| | **Env.variable**    | **Description**| | ||||
| |----------------------|-------------| | ||||
| | `pythonLocation`     | Contains the absolute path to the folder where the requested version of Python, PyPy, or GraalPy is installed. <br><br>**Executable location by implementation:** <br>• **CPython** – `$pythonLocation/bin/python` (Linux/macOS), `$pythonLocation/python.exe` (Windows) <br>• **PyPy** – `$pythonLocation/bin/python` (Linux/macOS), `$pythonLocation/python.exe` (Windows) <br>• **GraalPy** – `$pythonLocation/bin/python` (Linux/macOS) <br><br>Note: CPython versions include a symlink or copy of the Python executable at the root, while PyPy and GraalPy retain upstream directory layouts. | | ||||
| | `Python_ROOT_DIR`    | https://cmake.org/cmake/help/latest/module/FindPython.html#module:FindPython | | ||||
| | `Python2_ROOT_DIR`   | https://cmake.org/cmake/help/latest/module/FindPython2.html#module:FindPython2 | | ||||
| | `Python3_ROOT_DIR`   | https://cmake.org/cmake/help/latest/module/FindPython3.html#module:FindPython3 | | ||||
|  | ||||
| ## Using `update-environment` flag | ||||
|  | ||||
| @@ -489,8 +499,8 @@ Such a requirement on side-effect could be because you don't want your composite | ||||
|  | ||||
| ```yaml | ||||
|  steps: | ||||
|    - uses: actions/checkout@v4 | ||||
|    - uses: actions/setup-python@v5 | ||||
|    - uses: actions/checkout@v5 | ||||
|    - uses: actions/setup-python@v6 | ||||
|      id: cp313 | ||||
|      with: | ||||
|        python-version: '3.13' | ||||
| @@ -635,11 +645,30 @@ jobs: | ||||
|         python_version: ["3.11", "3.12", "3.13"] | ||||
|  | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/setup-python@v5 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - uses: actions/setup-python@v6 | ||||
|         with: | ||||
|           python-version: "${{ matrix.python_version }}" | ||||
|           allow-prereleases: true | ||||
|       - run: pipx run nox --error-on-missing-interpreters -s tests-${{ matrix.python_version }} | ||||
| ``` | ||||
|  | ||||
| ## Using the pip-version input | ||||
|  | ||||
| The `pip-version` input allows you to specify the desired version of **Pip** to use with the standard Python version. | ||||
| The version of Pip should be specified in the format `major`, `major.minor`, or `major.minor.patch` (for example: 25, 25.1, or 25.0.1). | ||||
|  | ||||
| ```yaml | ||||
|       steps: | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Set up Python | ||||
|         uses: actions/setup-python@v6 | ||||
|         with: | ||||
|           python-version: '3.13' | ||||
|           pip-version: '25.0.1' | ||||
|       - name: Display Pip version | ||||
|         run: pip --version | ||||
| ``` | ||||
| > 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/). | ||||
|   | ||||
							
								
								
									
										285
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										285
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -1,12 +1,12 @@ | ||||
| { | ||||
|   "name": "setup-python", | ||||
|   "version": "5.0.0", | ||||
|   "version": "6.0.0", | ||||
|   "lockfileVersion": 3, | ||||
|   "requires": true, | ||||
|   "packages": { | ||||
|     "": { | ||||
|       "name": "setup-python", | ||||
|       "version": "5.0.0", | ||||
|       "version": "6.0.0", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@actions/cache": "^4.0.3", | ||||
| @@ -15,13 +15,13 @@ | ||||
|         "@actions/glob": "^0.5.0", | ||||
|         "@actions/http-client": "^2.2.3", | ||||
|         "@actions/io": "^1.0.2", | ||||
|         "@actions/tool-cache": "^2.0.1", | ||||
|         "@actions/tool-cache": "^2.0.2", | ||||
|         "@iarna/toml": "^3.0.0", | ||||
|         "semver": "^7.7.1" | ||||
|       }, | ||||
|       "devDependencies": { | ||||
|         "@types/jest": "^29.5.12", | ||||
|         "@types/node": "^20.11.25", | ||||
|         "@types/node": "^24.1.0", | ||||
|         "@types/semver": "^7.7.0", | ||||
|         "@typescript-eslint/eslint-plugin": "^5.54.0", | ||||
|         "@typescript-eslint/parser": "^5.54.0", | ||||
| @@ -35,6 +35,9 @@ | ||||
|         "prettier": "^3.5.3", | ||||
|         "ts-jest": "^29.3.2", | ||||
|         "typescript": "^5.4.2" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">=24.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@aashutoshrathi/word-wrap": { | ||||
| @@ -123,16 +126,16 @@ | ||||
|       "integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==" | ||||
|     }, | ||||
|     "node_modules/@actions/tool-cache": { | ||||
|       "version": "2.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-2.0.1.tgz", | ||||
|       "integrity": "sha512-iPU+mNwrbA8jodY8eyo/0S/QqCKDajiR8OxWTnSk/SnYg0sj8Hp4QcUEVC1YFpHWXtrfbQrE13Jz4k4HXJQKcA==", | ||||
|       "version": "2.0.2", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-2.0.2.tgz", | ||||
|       "integrity": "sha512-fBhNNOWxuoLxztQebpOaWu6WeVmuwa77Z+DxIZ1B+OYvGkGQon6kTVg6Z32Cb13WCuw0szqonK+hh03mJV7Z6w==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@actions/core": "^1.2.6", | ||||
|         "@actions/core": "^1.11.1", | ||||
|         "@actions/exec": "^1.0.0", | ||||
|         "@actions/http-client": "^2.0.1", | ||||
|         "@actions/io": "^1.1.1", | ||||
|         "semver": "^6.1.0", | ||||
|         "uuid": "^3.3.2" | ||||
|         "semver": "^6.1.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/tool-cache/node_modules/semver": { | ||||
| @@ -205,12 +208,15 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@azure/core-http/node_modules/form-data": { | ||||
|       "version": "4.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", | ||||
|       "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", | ||||
|       "version": "4.0.4", | ||||
|       "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", | ||||
|       "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "asynckit": "^0.4.0", | ||||
|         "combined-stream": "^1.0.8", | ||||
|         "es-set-tostringtag": "^2.1.0", | ||||
|         "hasown": "^2.0.2", | ||||
|         "mime-types": "^2.1.12" | ||||
|       }, | ||||
|       "engines": { | ||||
| @@ -1590,11 +1596,12 @@ | ||||
|       "dev": true | ||||
|     }, | ||||
|     "node_modules/@types/node": { | ||||
|       "version": "20.11.25", | ||||
|       "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.25.tgz", | ||||
|       "integrity": "sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==", | ||||
|       "version": "24.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/@types/node/-/node-24.1.0.tgz", | ||||
|       "integrity": "sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "undici-types": "~5.26.4" | ||||
|         "undici-types": "~7.8.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@types/node-fetch": { | ||||
| @@ -1607,12 +1614,15 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@types/node-fetch/node_modules/form-data": { | ||||
|       "version": "4.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", | ||||
|       "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", | ||||
|       "version": "4.0.4", | ||||
|       "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", | ||||
|       "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "asynckit": "^0.4.0", | ||||
|         "combined-stream": "^1.0.8", | ||||
|         "es-set-tostringtag": "^2.1.0", | ||||
|         "hasown": "^2.0.2", | ||||
|         "mime-types": "^2.1.12" | ||||
|       }, | ||||
|       "engines": { | ||||
| @@ -2120,9 +2130,10 @@ | ||||
|       "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" | ||||
|     }, | ||||
|     "node_modules/brace-expansion": { | ||||
|       "version": "1.1.11", | ||||
|       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", | ||||
|       "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", | ||||
|       "version": "1.1.12", | ||||
|       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", | ||||
|       "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "balanced-match": "^1.0.0", | ||||
|         "concat-map": "0.0.1" | ||||
| @@ -2199,6 +2210,19 @@ | ||||
|       "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "node_modules/call-bind-apply-helpers": { | ||||
|       "version": "1.0.2", | ||||
|       "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", | ||||
|       "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "es-errors": "^1.3.0", | ||||
|         "function-bind": "^1.1.2" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">= 0.4" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/callsites": { | ||||
|       "version": "3.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", | ||||
| @@ -2484,6 +2508,20 @@ | ||||
|         "node": ">=6.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/dunder-proto": { | ||||
|       "version": "1.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", | ||||
|       "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "call-bind-apply-helpers": "^1.0.1", | ||||
|         "es-errors": "^1.3.0", | ||||
|         "gopd": "^1.2.0" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">= 0.4" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/ejs": { | ||||
|       "version": "3.1.10", | ||||
|       "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", | ||||
| @@ -2533,6 +2571,51 @@ | ||||
|         "is-arrayish": "^0.2.1" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/es-define-property": { | ||||
|       "version": "1.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", | ||||
|       "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", | ||||
|       "license": "MIT", | ||||
|       "engines": { | ||||
|         "node": ">= 0.4" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/es-errors": { | ||||
|       "version": "1.3.0", | ||||
|       "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", | ||||
|       "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", | ||||
|       "license": "MIT", | ||||
|       "engines": { | ||||
|         "node": ">= 0.4" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/es-object-atoms": { | ||||
|       "version": "1.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", | ||||
|       "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "es-errors": "^1.3.0" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">= 0.4" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/es-set-tostringtag": { | ||||
|       "version": "2.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", | ||||
|       "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "es-errors": "^1.3.0", | ||||
|         "get-intrinsic": "^1.2.6", | ||||
|         "has-tostringtag": "^1.0.2", | ||||
|         "hasown": "^2.0.2" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">= 0.4" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/escalade": { | ||||
|       "version": "3.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", | ||||
| @@ -3009,9 +3092,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/filelist/node_modules/brace-expansion": { | ||||
|       "version": "2.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", | ||||
|       "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", | ||||
|       "version": "2.0.2", | ||||
|       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", | ||||
|       "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", | ||||
|       "dev": true, | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
| @@ -3080,13 +3163,17 @@ | ||||
|       "dev": true | ||||
|     }, | ||||
|     "node_modules/form-data": { | ||||
|       "version": "2.5.1", | ||||
|       "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", | ||||
|       "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", | ||||
|       "version": "2.5.5", | ||||
|       "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.5.tgz", | ||||
|       "integrity": "sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "asynckit": "^0.4.0", | ||||
|         "combined-stream": "^1.0.6", | ||||
|         "mime-types": "^2.1.12" | ||||
|         "combined-stream": "^1.0.8", | ||||
|         "es-set-tostringtag": "^2.1.0", | ||||
|         "hasown": "^2.0.2", | ||||
|         "mime-types": "^2.1.35", | ||||
|         "safe-buffer": "^5.2.1" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">= 0.12" | ||||
| @@ -3116,7 +3203,6 @@ | ||||
|       "version": "1.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", | ||||
|       "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", | ||||
|       "dev": true, | ||||
|       "funding": { | ||||
|         "url": "https://github.com/sponsors/ljharb" | ||||
|       } | ||||
| @@ -3139,6 +3225,30 @@ | ||||
|         "node": "6.* || 8.* || >= 10.*" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/get-intrinsic": { | ||||
|       "version": "1.3.0", | ||||
|       "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", | ||||
|       "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "call-bind-apply-helpers": "^1.0.2", | ||||
|         "es-define-property": "^1.0.1", | ||||
|         "es-errors": "^1.3.0", | ||||
|         "es-object-atoms": "^1.1.1", | ||||
|         "function-bind": "^1.1.2", | ||||
|         "get-proto": "^1.0.1", | ||||
|         "gopd": "^1.2.0", | ||||
|         "has-symbols": "^1.1.0", | ||||
|         "hasown": "^2.0.2", | ||||
|         "math-intrinsics": "^1.1.0" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">= 0.4" | ||||
|       }, | ||||
|       "funding": { | ||||
|         "url": "https://github.com/sponsors/ljharb" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/get-package-type": { | ||||
|       "version": "0.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", | ||||
| @@ -3148,6 +3258,19 @@ | ||||
|         "node": ">=8.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/get-proto": { | ||||
|       "version": "1.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", | ||||
|       "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "dunder-proto": "^1.0.1", | ||||
|         "es-object-atoms": "^1.0.0" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">= 0.4" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/get-stream": { | ||||
|       "version": "6.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", | ||||
| @@ -3227,6 +3350,18 @@ | ||||
|         "url": "https://github.com/sponsors/sindresorhus" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/gopd": { | ||||
|       "version": "1.2.0", | ||||
|       "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", | ||||
|       "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", | ||||
|       "license": "MIT", | ||||
|       "engines": { | ||||
|         "node": ">= 0.4" | ||||
|       }, | ||||
|       "funding": { | ||||
|         "url": "https://github.com/sponsors/ljharb" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/graceful-fs": { | ||||
|       "version": "4.2.11", | ||||
|       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", | ||||
| @@ -3248,11 +3383,38 @@ | ||||
|         "node": ">=8" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/has-symbols": { | ||||
|       "version": "1.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", | ||||
|       "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", | ||||
|       "license": "MIT", | ||||
|       "engines": { | ||||
|         "node": ">= 0.4" | ||||
|       }, | ||||
|       "funding": { | ||||
|         "url": "https://github.com/sponsors/ljharb" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/has-tostringtag": { | ||||
|       "version": "1.0.2", | ||||
|       "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", | ||||
|       "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "has-symbols": "^1.0.3" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">= 0.4" | ||||
|       }, | ||||
|       "funding": { | ||||
|         "url": "https://github.com/sponsors/ljharb" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/hasown": { | ||||
|       "version": "2.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", | ||||
|       "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", | ||||
|       "dev": true, | ||||
|       "version": "2.0.2", | ||||
|       "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", | ||||
|       "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "function-bind": "^1.1.2" | ||||
|       }, | ||||
| @@ -4255,6 +4417,15 @@ | ||||
|         "tmpl": "1.0.5" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/math-intrinsics": { | ||||
|       "version": "1.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", | ||||
|       "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", | ||||
|       "license": "MIT", | ||||
|       "engines": { | ||||
|         "node": ">= 0.4" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/merge-stream": { | ||||
|       "version": "2.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", | ||||
| @@ -4883,6 +5054,26 @@ | ||||
|         "queue-microtask": "^1.2.2" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/safe-buffer": { | ||||
|       "version": "5.2.1", | ||||
|       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", | ||||
|       "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", | ||||
|       "funding": [ | ||||
|         { | ||||
|           "type": "github", | ||||
|           "url": "https://github.com/sponsors/feross" | ||||
|         }, | ||||
|         { | ||||
|           "type": "patreon", | ||||
|           "url": "https://www.patreon.com/feross" | ||||
|         }, | ||||
|         { | ||||
|           "type": "consulting", | ||||
|           "url": "https://feross.org/support" | ||||
|         } | ||||
|       ], | ||||
|       "license": "MIT" | ||||
|     }, | ||||
|     "node_modules/sax": { | ||||
|       "version": "1.3.0", | ||||
|       "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", | ||||
| @@ -5268,9 +5459,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/undici": { | ||||
|       "version": "5.28.5", | ||||
|       "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.5.tgz", | ||||
|       "integrity": "sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==", | ||||
|       "version": "5.29.0", | ||||
|       "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", | ||||
|       "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@fastify/busboy": "^2.0.0" | ||||
| @@ -5280,9 +5471,10 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/undici-types": { | ||||
|       "version": "5.26.5", | ||||
|       "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", | ||||
|       "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" | ||||
|       "version": "7.8.0", | ||||
|       "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", | ||||
|       "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", | ||||
|       "license": "MIT" | ||||
|     }, | ||||
|     "node_modules/update-browserslist-db": { | ||||
|       "version": "1.0.13", | ||||
| @@ -5323,15 +5515,6 @@ | ||||
|         "punycode": "^2.1.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/uuid": { | ||||
|       "version": "3.4.0", | ||||
|       "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", | ||||
|       "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", | ||||
|       "deprecated": "Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.", | ||||
|       "bin": { | ||||
|         "uuid": "bin/uuid" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/v8-to-istanbul": { | ||||
|       "version": "9.1.3", | ||||
|       "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz", | ||||
|   | ||||
| @@ -1,9 +1,12 @@ | ||||
| { | ||||
|   "name": "setup-python", | ||||
|   "version": "5.0.0", | ||||
|   "version": "6.0.0", | ||||
|   "private": true, | ||||
|   "description": "Setup python action", | ||||
|   "main": "dist/index.js", | ||||
|   "engines": { | ||||
|     "node": ">=24.0.0" | ||||
|   }, | ||||
|   "scripts": { | ||||
|     "build": "ncc build -o dist/setup src/setup-python.ts && ncc build -o dist/cache-save src/cache-save.ts", | ||||
|     "format": "prettier --no-error-on-unmatched-pattern --config ./.prettierrc.js --write \"**/*.{ts,yml,yaml}\"", | ||||
| @@ -31,13 +34,13 @@ | ||||
|     "@actions/glob": "^0.5.0", | ||||
|     "@actions/http-client": "^2.2.3", | ||||
|     "@actions/io": "^1.0.2", | ||||
|     "@actions/tool-cache": "^2.0.1", | ||||
|     "@actions/tool-cache": "^2.0.2", | ||||
|     "@iarna/toml": "^3.0.0", | ||||
|     "semver": "^7.7.1" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@types/jest": "^29.5.12", | ||||
|     "@types/node": "^20.11.25", | ||||
|     "@types/node": "^24.1.0", | ||||
|     "@types/semver": "^7.7.0", | ||||
|     "@typescript-eslint/eslint-plugin": "^5.54.0", | ||||
|     "@typescript-eslint/parser": "^5.54.0", | ||||
|   | ||||
| @@ -38,11 +38,12 @@ async function saveCache(packageManager: string) { | ||||
|   core.debug(`paths for caching are ${cachePaths.join(', ')}`); | ||||
|  | ||||
|   if (!isCacheDirectoryExists(cachePaths)) { | ||||
|     throw new Error( | ||||
|     core.warning( | ||||
|       `Cache folder path is retrieved for ${packageManager} but doesn't exist on disk: ${cachePaths.join( | ||||
|         ', ' | ||||
|       )}. This likely indicates that there are no dependencies to cache. Consider removing the cache step if it is not needed.` | ||||
|     ); | ||||
|     return; | ||||
|   } | ||||
|  | ||||
|   const primaryKey = core.getState(State.STATE_CACHE_PRIMARY_KEY); | ||||
|   | ||||
| @@ -96,7 +96,10 @@ export async function findPyPyVersion( | ||||
|     core.addPath(pythonLocation); | ||||
|     core.addPath(_binDir); | ||||
|   } | ||||
|   core.setOutput('python-version', 'pypy' + resolvedPyPyVersion); | ||||
|   core.setOutput( | ||||
|     'python-version', | ||||
|     `pypy${resolvedPythonVersion}-${resolvedPyPyVersion}` | ||||
|   ); | ||||
|   core.setOutput('python-path', pythonPath); | ||||
|  | ||||
|   return {resolvedPyPyVersion, resolvedPythonVersion}; | ||||
|   | ||||
| @@ -8,6 +8,7 @@ import * as installer from './install-python'; | ||||
|  | ||||
| import * as core from '@actions/core'; | ||||
| import * as tc from '@actions/tool-cache'; | ||||
| import * as exec from '@actions/exec'; | ||||
|  | ||||
| // Python has "scripts" or "bin" directories where command-line tools that come with packages are installed. | ||||
| // This is where pip is, along with anything that pip installs. | ||||
| @@ -30,6 +31,27 @@ function binDir(installDir: string): string { | ||||
|   } | ||||
| } | ||||
|  | ||||
| async function installPip(pythonLocation: string) { | ||||
|   const pipVersion = core.getInput('pip-version'); | ||||
|  | ||||
|   // Validate pip-version format: major[.minor][.patch] | ||||
|   const versionRegex = /^\d+(\.\d+)?(\.\d+)?$/; | ||||
|   if (pipVersion && !versionRegex.test(pipVersion)) { | ||||
|     throw new Error( | ||||
|       `Invalid pip-version "${pipVersion}". Please specify a version in the format major[.minor][.patch].` | ||||
|     ); | ||||
|   } | ||||
|  | ||||
|   if (pipVersion) { | ||||
|     core.info( | ||||
|       `pip-version input is specified. Installing pip version ${pipVersion}` | ||||
|     ); | ||||
|     await exec.exec( | ||||
|       `${pythonLocation}/python -m pip install --upgrade pip==${pipVersion} --disable-pip-version-check --no-warn-script-location` | ||||
|     ); | ||||
|   } | ||||
| } | ||||
|  | ||||
| export async function useCpythonVersion( | ||||
|   version: string, | ||||
|   architecture: string, | ||||
| @@ -49,8 +71,8 @@ export async function useCpythonVersion( | ||||
|     // Use the freethreaded version if it was specified in the input, e.g., 3.13t | ||||
|     freethreaded = true; | ||||
|   } | ||||
|   core.debug(`Semantic version spec of ${version} is ${semanticVersionSpec}`); | ||||
|  | ||||
|   core.debug(`Semantic version spec of ${version} is ${semanticVersionSpec}`); | ||||
|   if (freethreaded) { | ||||
|     // Free threaded versions use an architecture suffix like `x64-freethreaded` | ||||
|     core.debug(`Using freethreaded version of ${semanticVersionSpec}`); | ||||
| @@ -154,15 +176,36 @@ export async function useCpythonVersion( | ||||
|     if (IS_WINDOWS) { | ||||
|       // Add --user directory | ||||
|       // `installDir` from tool cache should look like $RUNNER_TOOL_CACHE/Python/<semantic version>/x64/ | ||||
|       // So if `findLocalTool` succeeded above, we must have a conformant `installDir` | ||||
|       // Extract version details | ||||
|       const version = path.basename(path.dirname(installDir)); | ||||
|       const major = semver.major(version); | ||||
|       const minor = semver.minor(version); | ||||
|  | ||||
|       const basePath = process.env['APPDATA'] || ''; | ||||
|       let versionSuffix = `${major}${minor}`; | ||||
|       // Append '-32' for x86 architecture if Python version is >= 3.10 | ||||
|       if ( | ||||
|         architecture === 'x86' && | ||||
|         (major > 3 || (major === 3 && minor >= 10)) | ||||
|       ) { | ||||
|         versionSuffix += '-32'; | ||||
|       } else if (architecture === 'arm64') { | ||||
|         versionSuffix += '-arm64'; | ||||
|       } | ||||
|       // Append 't' for freethreaded builds | ||||
|       if (freethreaded) { | ||||
|         versionSuffix += 't'; | ||||
|         if (architecture === 'x86-freethreaded') { | ||||
|           versionSuffix += '-32'; | ||||
|         } else if (architecture === 'arm64-freethreaded') { | ||||
|           versionSuffix += '-arm64'; | ||||
|         } | ||||
|       } | ||||
|       // Add user Scripts path | ||||
|       const userScriptsDir = path.join( | ||||
|         process.env['APPDATA'] || '', | ||||
|         basePath, | ||||
|         'Python', | ||||
|         `Python${major}${minor}`, | ||||
|         `Python${versionSuffix}`, | ||||
|         'Scripts' | ||||
|       ); | ||||
|       core.addPath(userScriptsDir); | ||||
| @@ -179,6 +222,9 @@ export async function useCpythonVersion( | ||||
|   core.setOutput('python-version', pythonVersion); | ||||
|   core.setOutput('python-path', pythonPath); | ||||
|  | ||||
|   const binaryPath = IS_WINDOWS ? installDir : _binDir; | ||||
|   await installPip(binaryPath); | ||||
|  | ||||
|   return {impl: 'CPython', version: pythonVersion}; | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -11,7 +11,7 @@ import { | ||||
|   logWarning, | ||||
|   IS_MAC, | ||||
|   getVersionInputFromFile, | ||||
|   getVersionInputFromPlainFile | ||||
|   getVersionsInputFromPlainFile | ||||
| } from './utils'; | ||||
|  | ||||
| function isPyPyVersion(versionSpec: string) { | ||||
| @@ -35,7 +35,7 @@ async function cacheDependencies(cache: string, pythonVersion: string) { | ||||
|  | ||||
| function resolveVersionInputFromDefaultFile(): string[] { | ||||
|   const couples: [string, (versionFile: string) => string[]][] = [ | ||||
|     ['.python-version', getVersionInputFromPlainFile] | ||||
|     ['.python-version', getVersionsInputFromPlainFile] | ||||
|   ]; | ||||
|   for (const [versionFile, _fn] of couples) { | ||||
|     logWarning( | ||||
|   | ||||
							
								
								
									
										73
									
								
								src/utils.ts
									
									
									
									
									
								
							
							
						
						
									
										73
									
								
								src/utils.ts
									
									
									
									
									
								
							| @@ -228,7 +228,7 @@ function extractValue(obj: any, keys: string[]): string | undefined { | ||||
|  * If none is present, returns an empty list. | ||||
|  */ | ||||
| export function getVersionInputFromTomlFile(versionFile: string): string[] { | ||||
|   core.debug(`Trying to resolve version form ${versionFile}`); | ||||
|   core.debug(`Trying to resolve version from ${versionFile}`); | ||||
|  | ||||
|   let pyprojectFile = fs.readFileSync(versionFile, 'utf8'); | ||||
|   // Normalize the line endings in the pyprojectFile | ||||
| @@ -269,13 +269,28 @@ export function getVersionInputFromTomlFile(versionFile: string): string[] { | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * Python version extracted from a plain text file. | ||||
|  * Python versions extracted from a plain text file. | ||||
|  * - Resolves multiple versions from multiple lines. | ||||
|  * - Handles pyenv-virtualenv pointers (e.g. `3.10/envs/virtualenv`). | ||||
|  * - Ignores empty lines and lines starting with `#` | ||||
|  * - Trims whitespace. | ||||
|  */ | ||||
| export function getVersionInputFromPlainFile(versionFile: string): string[] { | ||||
|   core.debug(`Trying to resolve version form ${versionFile}`); | ||||
|   const version = fs.readFileSync(versionFile, 'utf8').trim(); | ||||
|   core.info(`Resolved ${versionFile} as ${version}`); | ||||
|   return [version]; | ||||
| export function getVersionsInputFromPlainFile(versionFile: string): string[] { | ||||
|   core.debug(`Trying to resolve versions from ${versionFile}`); | ||||
|   const content = fs.readFileSync(versionFile, 'utf8').trim(); | ||||
|   const lines = content.split(/\r\n|\r|\n/); | ||||
|   const versions = lines | ||||
|     .map(line => { | ||||
|       if (line.startsWith('#') || line.trim() === '') { | ||||
|         return undefined; | ||||
|       } | ||||
|       let version: string = line.trim(); | ||||
|       version = version.split('/')[0]; | ||||
|       return version; | ||||
|     }) | ||||
|     .filter(version => version !== undefined) as string[]; | ||||
|   core.info(`Resolved ${versionFile} as ${versions.join(', ')}`); | ||||
|   return versions; | ||||
| } | ||||
|  | ||||
| /** | ||||
| @@ -310,16 +325,56 @@ export function getVersionInputFromToolVersions(versionFile: string): string[] { | ||||
|     return []; | ||||
|   } | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * Python version extracted from a plain, .tool-versions or TOML file. | ||||
|  * Python version extracted from the Pipfile file. | ||||
|  */ | ||||
| export function getVersionInputFromPipfileFile(versionFile: string): string[] { | ||||
|   core.debug(`Trying to resolve version from ${versionFile}`); | ||||
|  | ||||
|   if (!fs.existsSync(versionFile)) { | ||||
|     core.warning(`File ${versionFile} does not exist.`); | ||||
|     return []; | ||||
|   } | ||||
|   let pipfileFile = fs.readFileSync(versionFile, 'utf8'); | ||||
|   // Normalize the line endings in the pipfileFile | ||||
|   pipfileFile = pipfileFile.replace(/\r\n/g, '\n'); | ||||
|  | ||||
|   const pipfileConfig = toml.parse(pipfileFile); | ||||
|   const keys = ['requires']; | ||||
|  | ||||
|   if (!('requires' in pipfileConfig)) { | ||||
|     core.warning(`No Python version found in ${versionFile}`); | ||||
|     return []; | ||||
|   } | ||||
|   if ('python_full_version' in (pipfileConfig['requires'] as toml.JsonMap)) { | ||||
|     // specifies a full python version | ||||
|     keys.push('python_full_version'); | ||||
|   } else { | ||||
|     keys.push('python_version'); | ||||
|   } | ||||
|   const versions = []; | ||||
|   const version = extractValue(pipfileConfig, keys); | ||||
|   if (version !== undefined) { | ||||
|     versions.push(version); | ||||
|   } | ||||
|  | ||||
|   core.info(`Extracted ${versions} from ${versionFile}`); | ||||
|   return versions; | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * Python version extracted from a plain, .tool-versions, Pipfile or TOML file. | ||||
|  */ | ||||
| export function getVersionInputFromFile(versionFile: string): string[] { | ||||
|   if (versionFile.endsWith('.toml')) { | ||||
|     return getVersionInputFromTomlFile(versionFile); | ||||
|   } else if (versionFile.match('.tool-versions')) { | ||||
|     return getVersionInputFromToolVersions(versionFile); | ||||
|   } else if (versionFile.match('Pipfile')) { | ||||
|     return getVersionInputFromPipfileFile(versionFile); | ||||
|   } else { | ||||
|     return getVersionInputFromPlainFile(versionFile); | ||||
|     return getVersionsInputFromPlainFile(versionFile); | ||||
|   } | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user