mirror of
				https://gitea.com/actions/setup-python.git
				synced 2025-10-29 07:47:14 +00:00 
			
		
		
		
	Compare commits
	
		
			4 Commits
		
	
	
		
			v6
			...
			test-macos
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 09262e015b | ||
|   | 06417d4504 | ||
|   | d1bb3a8c04 | ||
|   | ade6528851 | 
							
								
								
									
										2
									
								
								.github/workflows/basic-validation.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/basic-validation.yml
									
									
									
									
										vendored
									
									
								
							| @@ -14,4 +14,4 @@ jobs: | |||||||
|     name: Basic validation |     name: Basic validation | ||||||
|     uses: actions/reusable-workflows/.github/workflows/basic-validation.yml@main |     uses: actions/reusable-workflows/.github/workflows/basic-validation.yml@main | ||||||
|     with: |     with: | ||||||
|       node-version: '24.x' |       node-version: '20.x' | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.github/workflows/check-dist.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/check-dist.yml
									
									
									
									
										vendored
									
									
								
							| @@ -16,4 +16,4 @@ jobs: | |||||||
|     name: Check dist/ |     name: Check dist/ | ||||||
|     uses: actions/reusable-workflows/.github/workflows/check-dist.yml@main |     uses: actions/reusable-workflows/.github/workflows/check-dist.yml@main | ||||||
|     with: |     with: | ||||||
|       node-version: '24.x' |       node-version: '20.x' | ||||||
|   | |||||||
							
								
								
									
										72
									
								
								.github/workflows/e2e-cache-freethreaded.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										72
									
								
								.github/workflows/e2e-cache-freethreaded.yml
									
									
									
									
										vendored
									
									
								
							| @@ -6,7 +6,7 @@ on: | |||||||
|       - '**.md' |       - '**.md' | ||||||
|   push: |   push: | ||||||
|     branches: |     branches: | ||||||
|       - main |       - test-macos-x64-runner | ||||||
|       - releases/* |       - releases/* | ||||||
|     paths-ignore: |     paths-ignore: | ||||||
|       - '**.md' |       - '**.md' | ||||||
| @@ -23,17 +23,11 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             ubuntu-latest, |             macos-14-large | ||||||
|             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] |         python-version: [3.13.0t, 3.13.1t, 3.13.2t] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup Python |       - name: Setup Python | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
| @@ -50,17 +44,11 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             ubuntu-latest, |             macos-14-large | ||||||
|             ubuntu-24.04-arm, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             windows-latest, |  | ||||||
|             macos-latest, |  | ||||||
|             macos-13 |  | ||||||
|           ] |           ] | ||||||
|         python-version: [3.13.1t, 3.13.2t, 3.13.5t] |         python-version: [3.13.1t, 3.13.2t, 3.13.5t] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup Python |       - name: Setup Python | ||||||
|         id: cache-pipenv |         id: cache-pipenv | ||||||
|         uses: ./ |         uses: ./ | ||||||
| @@ -80,17 +68,11 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             ubuntu-latest, |             macos-14-large | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-24.04-arm, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             windows-latest, |  | ||||||
|             macos-latest, |  | ||||||
|             macos-13 |  | ||||||
|           ] |           ] | ||||||
|         python-version: [3.13.0, 3.13.1, 3.13.2] |         python-version: [3.13.0, 3.13.1, 3.13.2] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Install poetry |       - name: Install poetry | ||||||
|         run: pipx install poetry |         run: pipx install poetry | ||||||
|       - name: Init pyproject.toml |       - name: Init pyproject.toml | ||||||
| @@ -112,17 +94,11 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             ubuntu-latest, |             macos-14-large | ||||||
|             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] |         python-version: [3.13.0t, 3.13.1t, 3.13.2t] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup Python |       - name: Setup Python | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
| @@ -140,17 +116,11 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             ubuntu-latest, |             macos-14-large | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-24.04-arm, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             windows-latest, |  | ||||||
|             macos-latest, |  | ||||||
|             macos-13 |  | ||||||
|           ] |           ] | ||||||
|         python-version: [3.13.1t, 3.13.2t, 3.13.5t] |         python-version: [3.13.1t, 3.13.2t, 3.13.5t] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup Python |       - name: Setup Python | ||||||
|         id: cache-pipenv |         id: cache-pipenv | ||||||
|         uses: ./ |         uses: ./ | ||||||
| @@ -171,17 +141,11 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             ubuntu-latest, |             macos-14-large | ||||||
|             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] |         python-version: [3.13.0t, 3.13.1t, 3.13.2t] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup Python |       - name: Setup Python | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
| @@ -199,17 +163,11 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             ubuntu-latest, |             macos-14-large | ||||||
|             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] |         python-version: [3.13.0t, 3.13.1t, 3.13.2t] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup Python |       - name: Setup Python | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|   | |||||||
							
								
								
									
										72
									
								
								.github/workflows/e2e-cache.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										72
									
								
								.github/workflows/e2e-cache.yml
									
									
									
									
										vendored
									
									
								
							| @@ -6,7 +6,7 @@ on: | |||||||
|       - '**.md' |       - '**.md' | ||||||
|   push: |   push: | ||||||
|     branches: |     branches: | ||||||
|       - main |       - test-macos-x64-runner | ||||||
|       - releases/* |       - releases/* | ||||||
|     paths-ignore: |     paths-ignore: | ||||||
|       - '**.md' |       - '**.md' | ||||||
| @@ -23,13 +23,7 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             ubuntu-latest, |             macos-14-large | ||||||
|             ubuntu-24.04-arm, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             windows-latest, |  | ||||||
|             macos-latest, |  | ||||||
|             macos-13 |  | ||||||
|           ] |           ] | ||||||
|         python-version: |         python-version: | ||||||
|           [ |           [ | ||||||
| @@ -46,7 +40,7 @@ jobs: | |||||||
|           - os: windows-latest |           - os: windows-latest | ||||||
|             python-version: pypy-3.11-v7.x |             python-version: pypy-3.11-v7.x | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup Python |       - name: Setup Python | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
| @@ -63,13 +57,7 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             ubuntu-latest, |             macos-14-large | ||||||
|             ubuntu-24.04-arm, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             windows-latest, |  | ||||||
|             macos-latest, |  | ||||||
|             macos-13 |  | ||||||
|           ] |           ] | ||||||
|         python-version: |         python-version: | ||||||
|           ['3.10', 'pypy-3.10-v7.x', '3.11', 'pypy-3.11-v7.x', '3.12', '3.13'] |           ['3.10', 'pypy-3.10-v7.x', '3.11', 'pypy-3.11-v7.x', '3.12', '3.13'] | ||||||
| @@ -85,7 +73,7 @@ jobs: | |||||||
|           - os: ubuntu-22.04-arm |           - os: ubuntu-22.04-arm | ||||||
|             python-version: pypy-3.10-v7.x |             python-version: pypy-3.10-v7.x | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup Python |       - name: Setup Python | ||||||
|         id: cache-pipenv |         id: cache-pipenv | ||||||
|         uses: ./ |         uses: ./ | ||||||
| @@ -120,13 +108,7 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             ubuntu-latest, |             macos-14-large | ||||||
|             ubuntu-24.04-arm, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             windows-latest, |  | ||||||
|             macos-latest, |  | ||||||
|             macos-13 |  | ||||||
|           ] |           ] | ||||||
|         python-version: |         python-version: | ||||||
|           [ |           [ | ||||||
| @@ -140,7 +122,7 @@ jobs: | |||||||
|             '3.13' |             '3.13' | ||||||
|           ] |           ] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Install poetry |       - name: Install poetry | ||||||
|         run: pipx install poetry |         run: pipx install poetry | ||||||
|       - name: Init pyproject.toml |       - name: Init pyproject.toml | ||||||
| @@ -161,13 +143,7 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             ubuntu-latest, |             macos-14-large | ||||||
|             ubuntu-24.04-arm, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             windows-latest, |  | ||||||
|             macos-latest, |  | ||||||
|             macos-13 |  | ||||||
|           ] |           ] | ||||||
|         python-version: |         python-version: | ||||||
|           [ |           [ | ||||||
| @@ -184,7 +160,7 @@ jobs: | |||||||
|           - os: windows-latest |           - os: windows-latest | ||||||
|             python-version: pypy-3.11-v7.x |             python-version: pypy-3.11-v7.x | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup Python |       - name: Setup Python | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
| @@ -202,13 +178,7 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             ubuntu-latest, |             macos-14-large | ||||||
|             ubuntu-24.04-arm, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             windows-latest, |  | ||||||
|             macos-latest, |  | ||||||
|             macos-13 |  | ||||||
|           ] |           ] | ||||||
|         python-version: |         python-version: | ||||||
|           ['3.10', 'pypy-3.10-v7.x', '3.11', 'pypy-3.11-v7.x', '3.12', '3.13'] |           ['3.10', 'pypy-3.10-v7.x', '3.11', 'pypy-3.11-v7.x', '3.12', '3.13'] | ||||||
| @@ -222,7 +192,7 @@ jobs: | |||||||
|           - os: ubuntu-22.04-arm |           - os: ubuntu-22.04-arm | ||||||
|             python-version: pypy-3.11-v7.x |             python-version: pypy-3.11-v7.x | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup Python |       - name: Setup Python | ||||||
|         id: cache-pipenv |         id: cache-pipenv | ||||||
|         uses: ./ |         uses: ./ | ||||||
| @@ -258,17 +228,11 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             ubuntu-latest, |             macos-14-large | ||||||
|             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'] |         python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup Python |       - name: Setup Python | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
| @@ -286,17 +250,11 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             ubuntu-latest, |             macos-14-large | ||||||
|             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'] |         python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup Python |       - name: Setup Python | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|   | |||||||
							
								
								
									
										12
									
								
								.github/workflows/e2e-tests.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								.github/workflows/e2e-tests.yml
									
									
									
									
										vendored
									
									
								
							| @@ -3,7 +3,7 @@ name: e2e tests | |||||||
| on: | on: | ||||||
|   push: |   push: | ||||||
|     branches: |     branches: | ||||||
|       - main |       - test-macos-x64-runner | ||||||
|     paths-ignore: |     paths-ignore: | ||||||
|       - '**.md' |       - '**.md' | ||||||
|   pull_request: |   pull_request: | ||||||
| @@ -19,17 +19,11 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         operating-system: |         operating-system: | ||||||
|           [ |           [ | ||||||
|             windows-latest, |             macos-14-large | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             ubuntu-latest, |  | ||||||
|             ubuntu-24.04-arm, |  | ||||||
|             macos-latest, |  | ||||||
|             macos-13 |  | ||||||
|           ] |           ] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: Run with setup-python 3.9.13 |       - name: Run with setup-python 3.9.13 | ||||||
|         uses: ./ |         uses: ./ | ||||||
|   | |||||||
| @@ -14,7 +14,7 @@ jobs: | |||||||
|  |  | ||||||
|     steps: |     steps: | ||||||
|       - name: Checking out |       - name: Checking out | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|       - name: Publish |       - name: Publish | ||||||
|         id: publish |         id: publish | ||||||
|         uses: actions/publish-immutable-action@v0.0.4 |         uses: actions/publish-immutable-action@v0.0.4 | ||||||
|   | |||||||
							
								
								
									
										24
									
								
								.github/workflows/test-graalpy.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								.github/workflows/test-graalpy.yml
									
									
									
									
										vendored
									
									
								
							| @@ -3,7 +3,7 @@ name: Validate GraalPy e2e | |||||||
| on: | on: | ||||||
|   push: |   push: | ||||||
|     branches: |     branches: | ||||||
|       - main |       - test-macos-x64-runner | ||||||
|     paths-ignore: |     paths-ignore: | ||||||
|       - '**.md' |       - '**.md' | ||||||
|   pull_request: |   pull_request: | ||||||
| @@ -20,12 +20,7 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             ubuntu-24.04-arm, |  | ||||||
|             ubuntu-latest, |  | ||||||
|             macos-13 |  | ||||||
|           ] |           ] | ||||||
|         graalpy: |         graalpy: | ||||||
|           - 'graalpy-22.3' |           - 'graalpy-22.3' | ||||||
| @@ -35,7 +30,7 @@ jobs: | |||||||
|  |  | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: setup-python ${{ matrix.graalpy }} |       - name: setup-python ${{ matrix.graalpy }} | ||||||
|         id: setup-python |         id: setup-python | ||||||
| @@ -75,18 +70,13 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             ubuntu-24.04-arm, |  | ||||||
|             ubuntu-latest, |  | ||||||
|             macos-13 |  | ||||||
|           ] |           ] | ||||||
|         graalpy: ['graalpy22.3', 'graalpy23.0', 'graalpy23.1', 'graalpy24.1'] |         graalpy: ['graalpy22.3', 'graalpy23.0', 'graalpy23.1', 'graalpy24.1'] | ||||||
|  |  | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: setup-python ${{ matrix.graalpy }} |       - name: setup-python ${{ matrix.graalpy }} | ||||||
|         id: setup-python |         id: setup-python | ||||||
| @@ -106,9 +96,9 @@ jobs: | |||||||
|     strategy: |     strategy: | ||||||
|       fail-fast: false |       fail-fast: false | ||||||
|       matrix: |       matrix: | ||||||
|         os: [ubuntu-latest, macos-latest, macos-13] |         os: [macos-14-large] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup GraalPy and check latest |       - name: Setup GraalPy and check latest | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         id: graalpy |         id: graalpy | ||||||
|   | |||||||
							
								
								
									
										54
									
								
								.github/workflows/test-pypy.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										54
									
								
								.github/workflows/test-pypy.yml
									
									
									
									
										vendored
									
									
								
							| @@ -3,7 +3,7 @@ name: Validate PyPy e2e | |||||||
| on: | on: | ||||||
|   push: |   push: | ||||||
|     branches: |     branches: | ||||||
|       - main |       - test-macos-x64-runner | ||||||
|     paths-ignore: |     paths-ignore: | ||||||
|       - '**.md' |       - '**.md' | ||||||
|   pull_request: |   pull_request: | ||||||
| @@ -22,13 +22,7 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             windows-latest, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             ubuntu-24.04-arm, |  | ||||||
|             ubuntu-latest, |  | ||||||
|             macos-13 |  | ||||||
|           ] |           ] | ||||||
|         pypy: |         pypy: | ||||||
|           - 'pypy-2.7' |           - 'pypy-2.7' | ||||||
| @@ -46,7 +40,7 @@ jobs: | |||||||
|  |  | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: setup-python ${{ matrix.pypy }} |       - name: setup-python ${{ matrix.pypy }} | ||||||
|         id: setup-python |         id: setup-python | ||||||
| @@ -85,20 +79,12 @@ jobs: | |||||||
|       fail-fast: false |       fail-fast: false | ||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           - macos-13 |           - macos-14-large | ||||||
|           - macos-14 |  | ||||||
|           - macos-15 |  | ||||||
|           - windows-2022 |  | ||||||
|           - windows-2025 |  | ||||||
|           - ubuntu-22.04 |  | ||||||
|           - ubuntu-24.04 |  | ||||||
|           - ubuntu-22.04-arm |  | ||||||
|           - ubuntu-24.04-arm |  | ||||||
|         pypy: ['pypy-2.7', 'pypy-3.10', 'pypy-3.11'] |         pypy: ['pypy-2.7', 'pypy-3.10', 'pypy-3.11'] | ||||||
|  |  | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: setup-python ${{ matrix.pypy }} |       - name: setup-python ${{ matrix.pypy }} | ||||||
|         id: setup-python |         id: setup-python | ||||||
| @@ -138,19 +124,13 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             windows-latest, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             ubuntu-24.04-arm, |  | ||||||
|             ubuntu-latest, |  | ||||||
|             macos-13 |  | ||||||
|           ] |           ] | ||||||
|         pypy: ['pypy2.7', 'pypy3.9', 'pypy3.10-nightly', 'pypy3.11'] |         pypy: ['pypy2.7', 'pypy3.9', 'pypy3.10-nightly', 'pypy3.11'] | ||||||
|  |  | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: setup-python ${{ matrix.pypy }} |       - name: setup-python ${{ matrix.pypy }} | ||||||
|         id: setup-python |         id: setup-python | ||||||
| @@ -172,16 +152,10 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             windows-latest, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             ubuntu-24.04-arm, |  | ||||||
|             ubuntu-latest, |  | ||||||
|             macos-13 |  | ||||||
|           ] |           ] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup PyPy and check latest |       - name: Setup PyPy and check latest | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
| @@ -214,16 +188,10 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             windows-latest, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             ubuntu-24.04-arm, |  | ||||||
|             ubuntu-latest, |  | ||||||
|             macos-13 |  | ||||||
|           ] |           ] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup PyPy and check latest |       - name: Setup PyPy and check latest | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|   | |||||||
							
								
								
									
										212
									
								
								.github/workflows/test-python-freethreaded.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										212
									
								
								.github/workflows/test-python-freethreaded.yml
									
									
									
									
										vendored
									
									
								
							| @@ -3,7 +3,7 @@ name: Validate Python e2e freethread | |||||||
| on: | on: | ||||||
|   push: |   push: | ||||||
|     branches: |     branches: | ||||||
|       - main |       - test-macos-x64-runner | ||||||
|     paths-ignore: |     paths-ignore: | ||||||
|       - '**.md' |       - '**.md' | ||||||
|   pull_request: |   pull_request: | ||||||
| @@ -22,18 +22,12 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             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] |         python: [3.13.0t, 3.13.1t, 3.13.2t] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: setup-python ${{ matrix.python }} |       - name: setup-python ${{ matrix.python }} | ||||||
|         id: setup-python |         id: setup-python | ||||||
| @@ -59,18 +53,12 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             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] |         python: [3.13.0t, 3.13.1t, 3.13.2t] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: build-version-file ${{ matrix.python }} |       - name: build-version-file ${{ matrix.python }} | ||||||
|         run: echo ${{ matrix.python }} > .python-version |         run: echo ${{ matrix.python }} > .python-version | ||||||
| @@ -99,18 +87,12 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             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] |         python: [3.13.0t, 3.13.1t, 3.13.2t] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: build-version-file ${{ matrix.python }} |       - name: build-version-file ${{ matrix.python }} | ||||||
|         run: echo ${{ matrix.python }} > .python-version |         run: echo ${{ matrix.python }} > .python-version | ||||||
| @@ -137,18 +119,12 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             windows-latest, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             macos-13, |  | ||||||
|             ubuntu-latest, |  | ||||||
|             ubuntu-24.04-arm |  | ||||||
|           ] |           ] | ||||||
|         python: [3.13.0, 3.13.1, 3.13.2] |         python: [3.13.0, 3.13.1, 3.13.2] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: build-version-file ${{ matrix.python }} |       - name: build-version-file ${{ matrix.python }} | ||||||
|         run: | |         run: | | ||||||
| @@ -178,18 +154,12 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             windows-latest, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             macos-13, |  | ||||||
|             ubuntu-latest, |  | ||||||
|             ubuntu-24.04-arm |  | ||||||
|           ] |           ] | ||||||
|         python: [3.13.0, 3.13.1, 3.13.2] |         python: [3.13.0, 3.13.1, 3.13.2] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: build-version-file ${{ matrix.python }} |       - name: build-version-file ${{ matrix.python }} | ||||||
|         run: | |         run: | | ||||||
| @@ -219,18 +189,12 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             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] |         python: [3.13.0t, 3.13.1t, 3.13.2t, 3.14t-dev] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: build-tool-versions-file ${{ matrix.python }} |       - name: build-tool-versions-file ${{ matrix.python }} | ||||||
|         run: | |         run: | | ||||||
| @@ -242,86 +206,6 @@ jobs: | |||||||
|         with: |         with: | ||||||
|           python-version-file: .tool-versions |           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: |   setup-pre-release-version-from-manifest: | ||||||
|     name: Setup 3.14.0-alpha.6 ${{ matrix.os }} |     name: Setup 3.14.0-alpha.6 ${{ matrix.os }} | ||||||
|     runs-on: ${{ matrix.os }} |     runs-on: ${{ matrix.os }} | ||||||
| @@ -330,17 +214,11 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             windows-latest, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             macos-13, |  | ||||||
|             ubuntu-latest, |  | ||||||
|             ubuntu-24.04-arm |  | ||||||
|           ] |           ] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: setup-python 3.14.0-alpha.6 |       - name: setup-python 3.14.0-alpha.6 | ||||||
|         id: setup-python |         id: setup-python | ||||||
| @@ -367,17 +245,11 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             windows-latest, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             ubuntu-24.04-arm, |  | ||||||
|             ubuntu-latest, |  | ||||||
|             macos-13 |  | ||||||
|           ] |           ] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: setup-python 3.14t-dev |       - name: setup-python 3.14t-dev | ||||||
|         id: setup-python |         id: setup-python | ||||||
| @@ -404,17 +276,11 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             windows-latest, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             ubuntu-24.04-arm, |  | ||||||
|             ubuntu-latest, |  | ||||||
|             macos-13 |  | ||||||
|           ] |           ] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: setup-python 3.14t |       - name: setup-python 3.14t | ||||||
|         id: setup-python |         id: setup-python | ||||||
| @@ -442,18 +308,12 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             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] |         python: [3.13.0t, 3.13.1t, 3.13.2t] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: setup-python ${{ matrix.python }} |       - name: setup-python ${{ matrix.python }} | ||||||
|         id: setup-python |         id: setup-python | ||||||
| @@ -475,17 +335,11 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             windows-latest, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             ubuntu-24.04-arm, |  | ||||||
|             ubuntu-latest, |  | ||||||
|             macos-13 |  | ||||||
|           ] |           ] | ||||||
|         python-version: [3.13t, 3.14t-dev] |         python-version: [3.13t, 3.14t-dev] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup Python and check latest |       - name: Setup Python and check latest | ||||||
|         id: setup-python |         id: setup-python | ||||||
|         uses: ./ |         uses: ./ | ||||||
| @@ -502,16 +356,10 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             windows-latest, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             ubuntu-24.04-arm, |  | ||||||
|             ubuntu-latest, |  | ||||||
|             macos-13 |  | ||||||
|           ] |           ] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup Python and check latest |       - name: Setup Python and check latest | ||||||
|         id: setup-python |         id: setup-python | ||||||
|         uses: ./ |         uses: ./ | ||||||
| @@ -531,18 +379,12 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             windows-latest, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             macos-13, |  | ||||||
|             ubuntu-latest, |  | ||||||
|             ubuntu-24.04-arm |  | ||||||
|           ] |           ] | ||||||
|         python: [3.13.1, 3.13.2, 3.14-dev, 3.14.0-alpha.6] |         python: [3.13.1, 3.13.2, 3.14-dev, 3.14.0-alpha.6] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|       - name: setup-python ${{ matrix.python }} |       - name: setup-python ${{ matrix.python }} | ||||||
|         id: setup-python |         id: setup-python | ||||||
|         uses: ./ |         uses: ./ | ||||||
|   | |||||||
							
								
								
									
										222
									
								
								.github/workflows/test-python.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										222
									
								
								.github/workflows/test-python.yml
									
									
									
									
										vendored
									
									
								
							| @@ -3,7 +3,7 @@ name: Validate Python e2e | |||||||
| on: | on: | ||||||
|   push: |   push: | ||||||
|     branches: |     branches: | ||||||
|       - main |       - test-macos-x64-runner | ||||||
|     paths-ignore: |     paths-ignore: | ||||||
|       - '**.md' |       - '**.md' | ||||||
|   pull_request: |   pull_request: | ||||||
| @@ -22,18 +22,12 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             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.12.3, 3.13.2] |         python: [3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.2] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: setup-python ${{ matrix.python }} |       - name: setup-python ${{ matrix.python }} | ||||||
|         id: setup-python |         id: setup-python | ||||||
| @@ -66,18 +60,12 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             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.12.3, 3.13.2] |         python: [3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.2] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: build-version-file ${{ matrix.python }} |       - name: build-version-file ${{ matrix.python }} | ||||||
|         run: echo ${{ matrix.python }} > .python-version |         run: echo ${{ matrix.python }} > .python-version | ||||||
| @@ -113,18 +101,12 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             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.12.3, 3.13.2] |         python: [3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.2] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: build-version-file ${{ matrix.python }} |       - name: build-version-file ${{ matrix.python }} | ||||||
|         run: echo ${{ matrix.python }} > .python-version |         run: echo ${{ matrix.python }} > .python-version | ||||||
| @@ -158,18 +140,12 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             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.12.3', 3.13.2] |         python: [3.9.13, 3.10.11, 3.11.9, '==3.12.3', 3.13.2] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: build-version-file ${{ matrix.python }} |       - name: build-version-file ${{ matrix.python }} | ||||||
|         run: | |         run: | | ||||||
| @@ -208,18 +184,12 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             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.12.3, 3.13.2] |         python: [3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.2] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: build-version-file ${{ matrix.python }} |       - name: build-version-file ${{ matrix.python }} | ||||||
|         run: | |         run: | | ||||||
| @@ -258,13 +228,7 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             windows-latest, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             macos-13, |  | ||||||
|             ubuntu-latest, |  | ||||||
|             ubuntu-24.04-arm |  | ||||||
|           ] |           ] | ||||||
|         python: [pypy3.11-7.3.18, graalpy-24.1.2, 3.13.2, 3.14-dev] |         python: [pypy3.11-7.3.18, graalpy-24.1.2, 3.13.2, 3.14-dev] | ||||||
|         exclude: |         exclude: | ||||||
| @@ -272,7 +236,7 @@ jobs: | |||||||
|             python: graalpy-24.1.2 |             python: graalpy-24.1.2 | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: build-tool-versions-file ${{ matrix.python }} |       - name: build-tool-versions-file ${{ matrix.python }} | ||||||
|         run: | |         run: | | ||||||
| @@ -284,106 +248,6 @@ jobs: | |||||||
|         with: |         with: | ||||||
|           python-version-file: .tool-versions |           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: |   setup-pre-release-version-from-manifest: | ||||||
|     name: Setup 3.14.0-alpha.6 ${{ matrix.os }} |     name: Setup 3.14.0-alpha.6 ${{ matrix.os }} | ||||||
|     runs-on: ${{ matrix.os }} |     runs-on: ${{ matrix.os }} | ||||||
| @@ -392,17 +256,11 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             windows-latest, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             macos-13, |  | ||||||
|             ubuntu-latest, |  | ||||||
|             ubuntu-24.04-arm |  | ||||||
|           ] |           ] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: setup-python 3.14.0-alpha.6 |       - name: setup-python 3.14.0-alpha.6 | ||||||
|         id: setup-python |         id: setup-python | ||||||
| @@ -435,17 +293,11 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             windows-latest, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             ubuntu-24.04-arm, |  | ||||||
|             ubuntu-latest, |  | ||||||
|             macos-13 |  | ||||||
|           ] |           ] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: setup-python 3.14-dev |       - name: setup-python 3.14-dev | ||||||
|         id: setup-python |         id: setup-python | ||||||
| @@ -472,17 +324,11 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             windows-latest, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             ubuntu-24.04-arm, |  | ||||||
|             ubuntu-latest, |  | ||||||
|             macos-13 |  | ||||||
|           ] |           ] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: setup-python 3.14 |       - name: setup-python 3.14 | ||||||
|         id: setup-python |         id: setup-python | ||||||
| @@ -510,18 +356,12 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             windows-latest, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             macos-13, |  | ||||||
|             ubuntu-latest, |  | ||||||
|             ubuntu-24.04-arm |  | ||||||
|           ] |           ] | ||||||
|         python: ['3.9', '3.10', '3.11', '3.12', '3.13'] |         python: ['3.9', '3.10', '3.11', '3.12', '3.13'] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v5 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: setup-python ${{ matrix.python }} |       - name: setup-python ${{ matrix.python }} | ||||||
|         id: setup-python |         id: setup-python | ||||||
| @@ -543,17 +383,11 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|           [ |           [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             windows-latest, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             ubuntu-24.04-arm, |  | ||||||
|             ubuntu-latest, |  | ||||||
|             macos-13 |  | ||||||
|           ] |           ] | ||||||
|         python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] |         python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup Python and check latest |       - name: Setup Python and check latest | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
| @@ -576,16 +410,10 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: |         os: | ||||||
|          [ |          [ | ||||||
|             macos-latest, |             macos-14-large | ||||||
|             windows-latest, |  | ||||||
|             ubuntu-22.04, |  | ||||||
|             ubuntu-22.04-arm, |  | ||||||
|             ubuntu-24.04-arm, |  | ||||||
|             ubuntu-latest, |  | ||||||
|             macos-13 |  | ||||||
|           ] |           ] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup Python and check latest |       - name: Setup Python and check latest | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.licenses/npm/@types/node.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@types/node.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: "@types/node" | name: "@types/node" | ||||||
| version: 24.1.0 | version: 20.11.25 | ||||||
| type: npm | type: npm | ||||||
| summary: TypeScript definitions for node | summary: TypeScript definitions for node | ||||||
| homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/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 | name: brace-expansion | ||||||
| version: 1.1.12 | version: 1.1.11 | ||||||
| type: npm | type: npm | ||||||
| summary: Brace expansion as known from sh/bash | summary: Brace expansion as known from sh/bash | ||||||
| homepage: https://github.com/juliangruber/brace-expansion | homepage: https://github.com/juliangruber/brace-expansion | ||||||
|   | |||||||
							
								
								
									
										32
									
								
								.licenses/npm/call-bind-apply-helpers.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/call-bind-apply-helpers.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,32 +0,0 @@ | |||||||
| --- |  | ||||||
| name: call-bind-apply-helpers |  | ||||||
| version: 1.0.2 |  | ||||||
| type: npm |  | ||||||
| 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 |  | ||||||
|   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/dunder-proto.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/dunder-proto.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,32 +0,0 @@ | |||||||
| --- |  | ||||||
| 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
									
									
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/es-define-property.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,32 +0,0 @@ | |||||||
| --- |  | ||||||
| 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
									
									
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/es-errors.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,32 +0,0 @@ | |||||||
| --- |  | ||||||
| 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
									
									
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/es-object-atoms.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,32 +0,0 @@ | |||||||
| --- |  | ||||||
| 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
									
									
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/es-set-tostringtag.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,32 +0,0 @@ | |||||||
| --- |  | ||||||
| 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 | name: form-data | ||||||
| version: 2.5.5 | version: 2.5.1 | ||||||
| type: npm | type: npm | ||||||
| summary: A library to create readable "multipart/form-data" streams. Can be used to | summary: A library to create readable "multipart/form-data" streams. Can be used to | ||||||
|   submit forms and file uploads to other web applications. |   submit forms and file uploads to other web applications. | ||||||
| homepage: | homepage: https://github.com/form-data/form-data#readme | ||||||
| license: mit | license: mit | ||||||
| licenses: | licenses: | ||||||
| - sources: License | - sources: License | ||||||
| @@ -1,10 +1,10 @@ | |||||||
| --- | --- | ||||||
| name: form-data | name: form-data | ||||||
| version: 4.0.4 | version: 4.0.0 | ||||||
| type: npm | type: npm | ||||||
| summary: A library to create readable "multipart/form-data" streams. Can be used to | summary: A library to create readable "multipart/form-data" streams. Can be used to | ||||||
|   submit forms and file uploads to other web applications. |   submit forms and file uploads to other web applications. | ||||||
| homepage: | homepage: https://github.com/form-data/form-data#readme | ||||||
| license: mit | license: mit | ||||||
| licenses: | licenses: | ||||||
| - sources: License | - sources: License | ||||||
| @@ -28,6 +28,6 @@ licenses: | |||||||
|      LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |      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 |      OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||||||
|      THE SOFTWARE. |      THE SOFTWARE. | ||||||
| - sources: README.md | - sources: Readme.md | ||||||
|   text: Form-Data is released under the [MIT](License) license. |   text: Form-Data is released under the [MIT](License) license. | ||||||
| notices: [] | notices: [] | ||||||
							
								
								
									
										32
									
								
								.licenses/npm/function-bind.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/function-bind.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,32 +0,0 @@ | |||||||
| --- |  | ||||||
| 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
									
									
									
								
							
							
						
						
									
										33
									
								
								.licenses/npm/get-intrinsic.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,33 +0,0 @@ | |||||||
| --- |  | ||||||
| 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
									
									
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/get-proto.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,32 +0,0 @@ | |||||||
| --- |  | ||||||
| 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
									
									
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/gopd.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,32 +0,0 @@ | |||||||
| --- |  | ||||||
| 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
									
									
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/has-symbols.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,32 +0,0 @@ | |||||||
| --- |  | ||||||
| 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
									
									
									
								
							
							
						
						
									
										33
									
								
								.licenses/npm/has-tostringtag.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,33 +0,0 @@ | |||||||
| --- |  | ||||||
| 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
									
									
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/hasown.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,32 +0,0 @@ | |||||||
| --- |  | ||||||
| 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
									
									
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/math-intrinsics.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,32 +0,0 @@ | |||||||
| --- |  | ||||||
| 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
									
									
									
								
							
							
						
						
									
										34
									
								
								.licenses/npm/safe-buffer.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,34 +0,0 @@ | |||||||
| --- |  | ||||||
| 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 | name: undici-types | ||||||
| version: 7.8.0 | version: 5.26.5 | ||||||
| type: npm | type: npm | ||||||
| summary: A stand-alone types package for Undici | summary: A stand-alone types package for Undici | ||||||
| homepage: https://undici.nodejs.org | 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 | name: undici | ||||||
| version: 5.29.0 | version: 5.28.5 | ||||||
| type: npm | type: npm | ||||||
| summary: An HTTP/1.1 client, written from scratch for Node.js | summary: An HTTP/1.1 client, written from scratch for Node.js | ||||||
| homepage: https://undici.nodejs.org | homepage: https://undici.nodejs.org | ||||||
|   | |||||||
							
								
								
									
										20
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								README.md
									
									
									
									
									
								
							| @@ -18,8 +18,8 @@ See [action.yml](action.yml) | |||||||
| **Python** | **Python** | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v5 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-python@v6 | - uses: actions/setup-python@v5 | ||||||
|   with: |   with: | ||||||
|     python-version: '3.13'  |     python-version: '3.13'  | ||||||
| - run: python my_script.py | - run: python my_script.py | ||||||
| @@ -28,8 +28,8 @@ steps: | |||||||
| **PyPy** | **PyPy** | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v5 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-python@v6  | - uses: actions/setup-python@v5  | ||||||
|   with: |   with: | ||||||
|     python-version: 'pypy3.10'  |     python-version: 'pypy3.10'  | ||||||
| - run: python my_script.py | - run: python my_script.py | ||||||
| @@ -38,8 +38,8 @@ steps: | |||||||
| **GraalPy** | **GraalPy** | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v5 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-python@v6  | - uses: actions/setup-python@v5  | ||||||
|   with: |   with: | ||||||
|     python-version: 'graalpy-24.0'  |     python-version: 'graalpy-24.0'  | ||||||
| - run: python my_script.py | - run: python my_script.py | ||||||
| @@ -48,8 +48,8 @@ steps: | |||||||
| **Free threaded Python** | **Free threaded Python** | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v5 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-python@v6 | - uses: actions/setup-python@v5 | ||||||
|   with: |   with: | ||||||
|     python-version: '3.13t' |     python-version: '3.13t' | ||||||
| - run: python my_script.py | - run: python my_script.py | ||||||
| @@ -83,8 +83,8 @@ The action defaults to searching for a dependency file (`requirements.txt` or `p | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v5 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-python@v6 | - uses: actions/setup-python@v5 | ||||||
|   with: |   with: | ||||||
|     python-version: '3.13' |     python-version: '3.13' | ||||||
|     cache: 'pip' # caching pip dependencies |     cache: 'pip' # caching pip dependencies | ||||||
|   | |||||||
							
								
								
									
										51
									
								
								__tests__/data/poetry.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										51
									
								
								__tests__/data/poetry.lock
									
									
									
										generated
									
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| # This file is automatically @generated by Poetry 2.1.3 and should not be changed by hand. | # This file is automatically @generated by Poetry 1.8.5 and should not be changed by hand. | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "altgraph" | name = "altgraph" | ||||||
| @@ -6,7 +6,6 @@ version = "0.17.4" | |||||||
| description = "Python graph (network) package" | description = "Python graph (network) package" | ||||||
| optional = false | optional = false | ||||||
| python-versions = "*" | python-versions = "*" | ||||||
| groups = ["main"] |  | ||||||
| files = [ | files = [ | ||||||
|     {file = "altgraph-0.17.4-py2.py3-none-any.whl", hash = "sha256:642743b4750de17e655e6711601b077bc6598dbfa3ba5fa2b2a35ce12b508dff"}, |     {file = "altgraph-0.17.4-py2.py3-none-any.whl", hash = "sha256:642743b4750de17e655e6711601b077bc6598dbfa3ba5fa2b2a35ce12b508dff"}, | ||||||
|     {file = "altgraph-0.17.4.tar.gz", hash = "sha256:1b5afbb98f6c4dcadb2e2ae6ab9fa994bbb8c1d75f4fa96d340f9437ae454406"}, |     {file = "altgraph-0.17.4.tar.gz", hash = "sha256:1b5afbb98f6c4dcadb2e2ae6ab9fa994bbb8c1d75f4fa96d340f9437ae454406"}, | ||||||
| @@ -18,7 +17,6 @@ version = "4.0.1" | |||||||
| description = "the modular source code checker: pep8 pyflakes and co" | description = "the modular source code checker: pep8 pyflakes and co" | ||||||
| optional = false | optional = false | ||||||
| python-versions = ">=3.6" | python-versions = ">=3.6" | ||||||
| groups = ["main"] |  | ||||||
| files = [ | files = [ | ||||||
|     {file = "flake8-4.0.1-py2.py3-none-any.whl", hash = "sha256:479b1304f72536a55948cb40a32dce8bb0ffe3501e26eaf292c7e60eb5e0428d"}, |     {file = "flake8-4.0.1-py2.py3-none-any.whl", hash = "sha256:479b1304f72536a55948cb40a32dce8bb0ffe3501e26eaf292c7e60eb5e0428d"}, | ||||||
|     {file = "flake8-4.0.1.tar.gz", hash = "sha256:806e034dda44114815e23c16ef92f95c91e4c71100ff52813adf7132a6ad870d"}, |     {file = "flake8-4.0.1.tar.gz", hash = "sha256:806e034dda44114815e23c16ef92f95c91e4c71100ff52813adf7132a6ad870d"}, | ||||||
| @@ -35,8 +33,6 @@ version = "8.5.0" | |||||||
| description = "Read metadata from Python packages" | description = "Read metadata from Python packages" | ||||||
| optional = false | optional = false | ||||||
| python-versions = ">=3.8" | python-versions = ">=3.8" | ||||||
| groups = ["main"] |  | ||||||
| markers = "python_version == \"3.9\"" |  | ||||||
| files = [ | files = [ | ||||||
|     {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, |     {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, | ||||||
|     {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, |     {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, | ||||||
| @@ -46,12 +42,12 @@ files = [ | |||||||
| zipp = ">=3.20" | zipp = ">=3.20" | ||||||
|  |  | ||||||
| [package.extras] | [package.extras] | ||||||
| check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] | check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] | ||||||
| cover = ["pytest-cov"] | cover = ["pytest-cov"] | ||||||
| doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] | doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] | ||||||
| enabler = ["pytest-enabler (>=2.2)"] | enabler = ["pytest-enabler (>=2.2)"] | ||||||
| perf = ["ipython"] | perf = ["ipython"] | ||||||
| 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)"] | test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] | ||||||
| type = ["pytest-mypy"] | type = ["pytest-mypy"] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| @@ -60,8 +56,6 @@ version = "1.16.3" | |||||||
| description = "Mach-O header analysis and editing" | description = "Mach-O header analysis and editing" | ||||||
| optional = false | optional = false | ||||||
| python-versions = "*" | python-versions = "*" | ||||||
| groups = ["main"] |  | ||||||
| markers = "sys_platform == \"darwin\"" |  | ||||||
| files = [ | files = [ | ||||||
|     {file = "macholib-1.16.3-py2.py3-none-any.whl", hash = "sha256:0e315d7583d38b8c77e815b1ecbdbf504a8258d8b3e17b61165c6feb60d18f2c"}, |     {file = "macholib-1.16.3-py2.py3-none-any.whl", hash = "sha256:0e315d7583d38b8c77e815b1ecbdbf504a8258d8b3e17b61165c6feb60d18f2c"}, | ||||||
|     {file = "macholib-1.16.3.tar.gz", hash = "sha256:07ae9e15e8e4cd9a788013d81f5908b3609aa76f9b1421bae9c4d7606ec86a30"}, |     {file = "macholib-1.16.3.tar.gz", hash = "sha256:07ae9e15e8e4cd9a788013d81f5908b3609aa76f9b1421bae9c4d7606ec86a30"}, | ||||||
| @@ -76,7 +70,6 @@ version = "0.6.1" | |||||||
| description = "McCabe checker, plugin for flake8" | description = "McCabe checker, plugin for flake8" | ||||||
| optional = false | optional = false | ||||||
| python-versions = "*" | python-versions = "*" | ||||||
| groups = ["main"] |  | ||||||
| files = [ | files = [ | ||||||
|     {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, |     {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, | ||||||
|     {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, |     {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, | ||||||
| @@ -88,7 +81,6 @@ version = "24.2" | |||||||
| description = "Core utilities for Python packages" | description = "Core utilities for Python packages" | ||||||
| optional = false | optional = false | ||||||
| python-versions = ">=3.8" | python-versions = ">=3.8" | ||||||
| groups = ["main"] |  | ||||||
| files = [ | files = [ | ||||||
|     {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, |     {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, | ||||||
|     {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, |     {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, | ||||||
| @@ -100,8 +92,6 @@ version = "2024.8.26" | |||||||
| description = "Python PE parsing module" | description = "Python PE parsing module" | ||||||
| optional = false | optional = false | ||||||
| python-versions = ">=3.6.0" | python-versions = ">=3.6.0" | ||||||
| groups = ["main"] |  | ||||||
| markers = "sys_platform == \"win32\"" |  | ||||||
| files = [ | files = [ | ||||||
|     {file = "pefile-2024.8.26-py3-none-any.whl", hash = "sha256:76f8b485dcd3b1bb8166f1128d395fa3d87af26360c2358fb75b80019b957c6f"}, |     {file = "pefile-2024.8.26-py3-none-any.whl", hash = "sha256:76f8b485dcd3b1bb8166f1128d395fa3d87af26360c2358fb75b80019b957c6f"}, | ||||||
|     {file = "pefile-2024.8.26.tar.gz", hash = "sha256:3ff6c5d8b43e8c37bb6e6dd5085658d658a7a0bdcd20b6a07b1fcfc1c4e9d632"}, |     {file = "pefile-2024.8.26.tar.gz", hash = "sha256:3ff6c5d8b43e8c37bb6e6dd5085658d658a7a0bdcd20b6a07b1fcfc1c4e9d632"}, | ||||||
| @@ -113,7 +103,6 @@ version = "2.8.0" | |||||||
| description = "Python style guide checker" | description = "Python style guide checker" | ||||||
| optional = false | optional = false | ||||||
| python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" | ||||||
| groups = ["main"] |  | ||||||
| files = [ | files = [ | ||||||
|     {file = "pycodestyle-2.8.0-py2.py3-none-any.whl", hash = "sha256:720f8b39dde8b293825e7ff02c475f3077124006db4f440dcbc9a20b76548a20"}, |     {file = "pycodestyle-2.8.0-py2.py3-none-any.whl", hash = "sha256:720f8b39dde8b293825e7ff02c475f3077124006db4f440dcbc9a20b76548a20"}, | ||||||
|     {file = "pycodestyle-2.8.0.tar.gz", hash = "sha256:eddd5847ef438ea1c7870ca7eb78a9d47ce0cdb4851a5523949f2601d0cbbe7f"}, |     {file = "pycodestyle-2.8.0.tar.gz", hash = "sha256:eddd5847ef438ea1c7870ca7eb78a9d47ce0cdb4851a5523949f2601d0cbbe7f"}, | ||||||
| @@ -125,7 +114,6 @@ version = "2.4.0" | |||||||
| description = "passive checker of Python programs" | description = "passive checker of Python programs" | ||||||
| optional = false | optional = false | ||||||
| python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" | ||||||
| groups = ["main"] |  | ||||||
| files = [ | files = [ | ||||||
|     {file = "pyflakes-2.4.0-py2.py3-none-any.whl", hash = "sha256:3bb3a3f256f4b7968c9c788781e4ff07dce46bdf12339dcda61053375426ee2e"}, |     {file = "pyflakes-2.4.0-py2.py3-none-any.whl", hash = "sha256:3bb3a3f256f4b7968c9c788781e4ff07dce46bdf12339dcda61053375426ee2e"}, | ||||||
|     {file = "pyflakes-2.4.0.tar.gz", hash = "sha256:05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c"}, |     {file = "pyflakes-2.4.0.tar.gz", hash = "sha256:05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c"}, | ||||||
| @@ -137,7 +125,6 @@ version = "6.10.0" | |||||||
| description = "PyInstaller bundles a Python application and all its dependencies into a single package." | description = "PyInstaller bundles a Python application and all its dependencies into a single package." | ||||||
| optional = false | optional = false | ||||||
| python-versions = "<3.14,>=3.8" | python-versions = "<3.14,>=3.8" | ||||||
| groups = ["main"] |  | ||||||
| files = [ | files = [ | ||||||
|     {file = "pyinstaller-6.10.0-py3-none-macosx_10_13_universal2.whl", hash = "sha256:d60fb22859e11483af735aec115fdde09467cdbb29edd9844839f2c920b748c0"}, |     {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"}, |     {file = "pyinstaller-6.10.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:46d75359668993ddd98630a3669dc5249f3c446e35239b43bc7f4155bc574748"}, | ||||||
| @@ -173,7 +160,6 @@ version = "2025.1" | |||||||
| description = "Community maintained hooks for PyInstaller" | description = "Community maintained hooks for PyInstaller" | ||||||
| optional = false | optional = false | ||||||
| python-versions = ">=3.8" | python-versions = ">=3.8" | ||||||
| groups = ["main"] |  | ||||||
| files = [ | files = [ | ||||||
|     {file = "pyinstaller_hooks_contrib-2025.1-py3-none-any.whl", hash = "sha256:d3c799470cbc0bda60dcc8e6b4ab976777532b77621337f2037f558905e3a8e9"}, |     {file = "pyinstaller_hooks_contrib-2025.1-py3-none-any.whl", hash = "sha256:d3c799470cbc0bda60dcc8e6b4ab976777532b77621337f2037f558905e3a8e9"}, | ||||||
|     {file = "pyinstaller_hooks_contrib-2025.1.tar.gz", hash = "sha256:130818f9e9a0a7f2261f1fd66054966a3a50c99d000981c5d1db11d3ad0c6ab2"}, |     {file = "pyinstaller_hooks_contrib-2025.1.tar.gz", hash = "sha256:130818f9e9a0a7f2261f1fd66054966a3a50c99d000981c5d1db11d3ad0c6ab2"}, | ||||||
| @@ -190,8 +176,6 @@ version = "0.2.3" | |||||||
| description = "A (partial) reimplementation of pywin32 using ctypes/cffi" | description = "A (partial) reimplementation of pywin32 using ctypes/cffi" | ||||||
| optional = false | optional = false | ||||||
| python-versions = ">=3.6" | python-versions = ">=3.6" | ||||||
| groups = ["main"] |  | ||||||
| markers = "sys_platform == \"win32\"" |  | ||||||
| files = [ | files = [ | ||||||
|     {file = "pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755"}, |     {file = "pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755"}, | ||||||
|     {file = "pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8"}, |     {file = "pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8"}, | ||||||
| @@ -199,24 +183,23 @@ files = [ | |||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "setuptools" | name = "setuptools" | ||||||
| version = "80.9.0" | version = "75.3.2" | ||||||
| description = "Easily download, build, install, upgrade, and uninstall Python packages" | description = "Easily download, build, install, upgrade, and uninstall Python packages" | ||||||
| optional = false | optional = false | ||||||
| python-versions = ">=3.9" | python-versions = ">=3.8" | ||||||
| groups = ["main"] |  | ||||||
| files = [ | files = [ | ||||||
|     {file = "setuptools-80.9.0-py3-none-any.whl", hash = "sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922"}, |     {file = "setuptools-75.3.2-py3-none-any.whl", hash = "sha256:90ab613b6583fc02d5369cbca13ea26ea0e182d1df2d943ee9cbe81d4c61add9"}, | ||||||
|     {file = "setuptools-80.9.0.tar.gz", hash = "sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c"}, |     {file = "setuptools-75.3.2.tar.gz", hash = "sha256:3c1383e1038b68556a382c1e8ded8887cd20141b0eb5708a6c8d277de49364f5"}, | ||||||
| ] | ] | ||||||
|  |  | ||||||
| [package.extras] | [package.extras] | ||||||
| check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\"", "ruff (>=0.8.0) ; sys_platform != \"cygwin\""] | check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.5.2)"] | ||||||
| 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)"] | 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)"] | ||||||
| cover = ["pytest-cov"] | 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)"] | 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)"] | enabler = ["pytest-enabler (>=2.2)"] | ||||||
| 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)"] | 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) ; python_version < \"3.10\"", "jaraco.develop (>=7.21) ; sys_platform != \"cygwin\"", "mypy (==1.14.*)", "pytest-mypy"] | type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.12.*)", "pytest-mypy"] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "zipp" | name = "zipp" | ||||||
| @@ -224,22 +207,20 @@ version = "3.20.2" | |||||||
| description = "Backport of pathlib-compatible object wrapper for zip files" | description = "Backport of pathlib-compatible object wrapper for zip files" | ||||||
| optional = false | optional = false | ||||||
| python-versions = ">=3.8" | python-versions = ">=3.8" | ||||||
| groups = ["main"] |  | ||||||
| markers = "python_version == \"3.9\"" |  | ||||||
| files = [ | files = [ | ||||||
|     {file = "zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350"}, |     {file = "zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350"}, | ||||||
|     {file = "zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29"}, |     {file = "zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29"}, | ||||||
| ] | ] | ||||||
|  |  | ||||||
| [package.extras] | [package.extras] | ||||||
| check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] | check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] | ||||||
| cover = ["pytest-cov"] | cover = ["pytest-cov"] | ||||||
| doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] | doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] | ||||||
| enabler = ["pytest-enabler (>=2.2)"] | enabler = ["pytest-enabler (>=2.2)"] | ||||||
| test = ["big-O", "importlib-resources ; python_version < \"3.9\"", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] | test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] | ||||||
| type = ["pytest-mypy"] | type = ["pytest-mypy"] | ||||||
|  |  | ||||||
| [metadata] | [metadata] | ||||||
| lock-version = "2.1" | lock-version = "2.0" | ||||||
| python-versions = ">=3.9,<3.14" | python-versions = ">=3.8,<3.14" | ||||||
| content-hash = "9a14798bf374c540031f893ff18f9b187bd984391e9da99d13c0e6710b7de09e" | content-hash = "6db8fff0987f3dadb02cbf0e510a2d04b01ab2dc6d7b0fb32a0e33a8d30b3a58" | ||||||
|   | |||||||
| @@ -5,10 +5,10 @@ description = "" | |||||||
| authors = ["Your Name <you@example.com>"] | authors = ["Your Name <you@example.com>"] | ||||||
|  |  | ||||||
| [tool.poetry.dependencies] | [tool.poetry.dependencies] | ||||||
| python = ">=3.9,<3.14" | python = ">=3.8,<3.14" | ||||||
| flake8 = "^4.0.1" | flake8 = "^4.0.1" | ||||||
| pyinstaller = "6.10.0" | pyinstaller = "6.10.0" | ||||||
| setuptools = ">=78.1.1"  |  | ||||||
|  |  | ||||||
| [tool.poetry.dev-dependencies] | [tool.poetry.dev-dependencies] | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| certifi==2020.6.20 | certifi==2020.6.20 | ||||||
| chardet==3.0.4 | chardet==3.0.4 | ||||||
| docutils==0.16 | docutils==0.16 | ||||||
| idna==3.7 | idna==2.10 | ||||||
| Kivy==2.0.0rc3 | Kivy==2.0.0rc3 | ||||||
| Kivy-Garden==0.1.4 | Kivy-Garden==0.1.4 | ||||||
| packaging==20.7 | 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' | future==0.18.2; python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2' | ||||||
|  |  | ||||||
| idna==3.7 | idna==2.9 | ||||||
|  |  | ||||||
| itsdangerous==1.1.0 | itsdangerous==1.1.0 | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										149
									
								
								__tests__/setup-python.test.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										149
									
								
								__tests__/setup-python.test.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,149 @@ | |||||||
|  | import * as core from '@actions/core'; | ||||||
|  | import * as fs from 'fs'; | ||||||
|  | import * as path from 'path'; | ||||||
|  | import {cacheDependencies} from '../src/setup-python'; | ||||||
|  | import {getCacheDistributor} from '../src/cache-distributions/cache-factory'; | ||||||
|  |  | ||||||
|  | jest.mock('fs', () => { | ||||||
|  |   const actualFs = jest.requireActual('fs'); | ||||||
|  |   return { | ||||||
|  |     ...actualFs, | ||||||
|  |     promises: { | ||||||
|  |       access: jest.fn(), | ||||||
|  |       mkdir: jest.fn(), | ||||||
|  |       copyFile: jest.fn(), | ||||||
|  |       writeFile: jest.fn(), | ||||||
|  |       appendFile: jest.fn() | ||||||
|  |     } | ||||||
|  |   }; | ||||||
|  | }); | ||||||
|  | jest.mock('@actions/core'); | ||||||
|  | jest.mock('../src/cache-distributions/cache-factory'); | ||||||
|  |  | ||||||
|  | const mockedFsPromises = fs.promises as jest.Mocked<typeof fs.promises>; | ||||||
|  | const mockedCore = core as jest.Mocked<typeof core>; | ||||||
|  | const mockedGetCacheDistributor = getCacheDistributor as jest.Mock; | ||||||
|  |  | ||||||
|  | describe('cacheDependencies', () => { | ||||||
|  |   const mockRestoreCache = jest.fn(); | ||||||
|  |  | ||||||
|  |   beforeEach(() => { | ||||||
|  |     jest.clearAllMocks(); | ||||||
|  |     process.env.GITHUB_ACTION_PATH = '/github/action'; | ||||||
|  |     process.env.GITHUB_WORKSPACE = '/github/workspace'; | ||||||
|  |  | ||||||
|  |     mockedCore.getInput.mockReturnValue('nested/deps.lock'); | ||||||
|  |  | ||||||
|  |     // Simulate file exists by resolving access without error | ||||||
|  |     mockedFsPromises.access.mockImplementation(async p => { | ||||||
|  |       const pathStr = typeof p === 'string' ? p : p.toString(); | ||||||
|  |       if (pathStr === '/github/action/nested/deps.lock') { | ||||||
|  |         return Promise.resolve(); | ||||||
|  |       } | ||||||
|  |       // Simulate directory doesn't exist to test mkdir | ||||||
|  |       if (pathStr === path.dirname('/github/workspace/nested/deps.lock')) { | ||||||
|  |         return Promise.reject(new Error('no dir')); | ||||||
|  |       } | ||||||
|  |       return Promise.resolve(); | ||||||
|  |     }); | ||||||
|  |  | ||||||
|  |     // Simulate mkdir success | ||||||
|  |     mockedFsPromises.mkdir.mockResolvedValue(undefined); | ||||||
|  |  | ||||||
|  |     // Simulate copyFile success | ||||||
|  |     mockedFsPromises.copyFile.mockResolvedValue(undefined); | ||||||
|  |  | ||||||
|  |     mockedGetCacheDistributor.mockReturnValue({restoreCache: mockRestoreCache}); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('copies the dependency file and resolves the path with directory structure', async () => { | ||||||
|  |     await cacheDependencies('pip', '3.12'); | ||||||
|  |  | ||||||
|  |     const sourcePath = path.resolve('/github/action', 'nested/deps.lock'); | ||||||
|  |     const targetPath = path.resolve('/github/workspace', 'nested/deps.lock'); | ||||||
|  |  | ||||||
|  |     expect(mockedFsPromises.access).toHaveBeenCalledWith( | ||||||
|  |       sourcePath, | ||||||
|  |       fs.constants.F_OK | ||||||
|  |     ); | ||||||
|  |     expect(mockedFsPromises.mkdir).toHaveBeenCalledWith( | ||||||
|  |       path.dirname(targetPath), | ||||||
|  |       { | ||||||
|  |         recursive: true | ||||||
|  |       } | ||||||
|  |     ); | ||||||
|  |     expect(mockedFsPromises.copyFile).toHaveBeenCalledWith( | ||||||
|  |       sourcePath, | ||||||
|  |       targetPath | ||||||
|  |     ); | ||||||
|  |     expect(mockedCore.info).toHaveBeenCalledWith( | ||||||
|  |       `Copied ${sourcePath} to ${targetPath}` | ||||||
|  |     ); | ||||||
|  |     expect(mockedCore.info).toHaveBeenCalledWith( | ||||||
|  |       `Resolved cache-dependency-path: nested/deps.lock` | ||||||
|  |     ); | ||||||
|  |     expect(mockRestoreCache).toHaveBeenCalled(); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('warns if the dependency file does not exist', async () => { | ||||||
|  |     // Simulate file does not exist by rejecting access | ||||||
|  |     mockedFsPromises.access.mockRejectedValue(new Error('file not found')); | ||||||
|  |  | ||||||
|  |     await cacheDependencies('pip', '3.12'); | ||||||
|  |  | ||||||
|  |     expect(mockedCore.warning).toHaveBeenCalledWith( | ||||||
|  |       expect.stringContaining('does not exist') | ||||||
|  |     ); | ||||||
|  |     expect(mockedFsPromises.copyFile).not.toHaveBeenCalled(); | ||||||
|  |     expect(mockRestoreCache).toHaveBeenCalled(); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('warns if file copy fails', async () => { | ||||||
|  |     // Simulate copyFile failure | ||||||
|  |     mockedFsPromises.copyFile.mockRejectedValue(new Error('copy failed')); | ||||||
|  |  | ||||||
|  |     await cacheDependencies('pip', '3.12'); | ||||||
|  |  | ||||||
|  |     expect(mockedCore.warning).toHaveBeenCalledWith( | ||||||
|  |       expect.stringContaining('Failed to copy file') | ||||||
|  |     ); | ||||||
|  |     expect(mockRestoreCache).toHaveBeenCalled(); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('skips path logic if no input is provided', async () => { | ||||||
|  |     mockedCore.getInput.mockReturnValue(''); | ||||||
|  |  | ||||||
|  |     await cacheDependencies('pip', '3.12'); | ||||||
|  |  | ||||||
|  |     expect(mockedFsPromises.copyFile).not.toHaveBeenCalled(); | ||||||
|  |     expect(mockedCore.warning).not.toHaveBeenCalled(); | ||||||
|  |     expect(mockRestoreCache).toHaveBeenCalled(); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('does not copy if dependency file is already inside the workspace but still sets resolved path', async () => { | ||||||
|  |     // Simulate cacheDependencyPath inside workspace | ||||||
|  |     mockedCore.getInput.mockReturnValue('deps.lock'); | ||||||
|  |  | ||||||
|  |     // Override sourcePath and targetPath to be equal | ||||||
|  |     const actionPath = '/github/workspace'; // same path for action and workspace | ||||||
|  |     process.env.GITHUB_ACTION_PATH = actionPath; | ||||||
|  |     process.env.GITHUB_WORKSPACE = actionPath; | ||||||
|  |  | ||||||
|  |     // access resolves to simulate file exists | ||||||
|  |     mockedFsPromises.access.mockResolvedValue(); | ||||||
|  |  | ||||||
|  |     await cacheDependencies('pip', '3.12'); | ||||||
|  |  | ||||||
|  |     const sourcePath = path.resolve(actionPath, 'deps.lock'); | ||||||
|  |     const targetPath = sourcePath; // same path | ||||||
|  |  | ||||||
|  |     expect(mockedFsPromises.copyFile).not.toHaveBeenCalled(); | ||||||
|  |     expect(mockedCore.info).toHaveBeenCalledWith( | ||||||
|  |       `Dependency file is already inside the workspace: ${sourcePath}` | ||||||
|  |     ); | ||||||
|  |     expect(mockedCore.info).toHaveBeenCalledWith( | ||||||
|  |       `Resolved cache-dependency-path: deps.lock` | ||||||
|  |     ); | ||||||
|  |     expect(mockRestoreCache).toHaveBeenCalled(); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
| @@ -12,7 +12,6 @@ import { | |||||||
|   getVersionInputFromFile, |   getVersionInputFromFile, | ||||||
|   getVersionsInputFromPlainFile, |   getVersionsInputFromPlainFile, | ||||||
|   getVersionInputFromTomlFile, |   getVersionInputFromTomlFile, | ||||||
|   getVersionInputFromPipfileFile, |  | ||||||
|   getNextPageUrl, |   getNextPageUrl, | ||||||
|   isGhes, |   isGhes, | ||||||
|   IS_WINDOWS, |   IS_WINDOWS, | ||||||
| @@ -245,44 +244,6 @@ describe('Version from file test', () => { | |||||||
|       expect(_fn(toolVersionFilePath)).toEqual(['3.14t-dev']); |       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', () => { | describe('getNextPageUrl', () => { | ||||||
|   | |||||||
| @@ -39,7 +39,7 @@ outputs: | |||||||
|   python-path: |   python-path: | ||||||
|     description: "The absolute path to the Python or PyPy executable." |     description: "The absolute path to the Python or PyPy executable." | ||||||
| runs: | runs: | ||||||
|   using: 'node24' |   using: 'node20' | ||||||
|   main: 'dist/setup/index.js' |   main: 'dist/setup/index.js' | ||||||
|   post: 'dist/cache-save/index.js' |   post: 'dist/cache-save/index.js' | ||||||
|   post-if: success() |   post-if: success() | ||||||
|   | |||||||
							
								
								
									
										1353
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1353
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1434
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1434
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -32,8 +32,8 @@ If there is a specific version of Python that you need and you don't want to wor | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v5 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-python@v6 | - uses: actions/setup-python@v5 | ||||||
|   with: |   with: | ||||||
|     python-version: '3.12.6'  |     python-version: '3.12.6'  | ||||||
| - run: python my_script.py | - run: python my_script.py | ||||||
| @@ -46,8 +46,8 @@ You can specify **only a major and minor version** if you are okay with the most | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v5 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-python@v6 | - uses: actions/setup-python@v5 | ||||||
|   with: |   with: | ||||||
|     python-version: '3.13'  |     python-version: '3.13'  | ||||||
| - run: python my_script.py | - run: python my_script.py | ||||||
| @@ -60,8 +60,8 @@ You can specify the version with **prerelease tag** to download and set up an ac | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v5 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-python@v6 | - uses: actions/setup-python@v5 | ||||||
|   with: |   with: | ||||||
|     python-version: '3.14.0-alpha.1' |     python-version: '3.14.0-alpha.1' | ||||||
| - run: python my_script.py | - run: python my_script.py | ||||||
| @@ -71,8 +71,8 @@ It's also possible to use **x.y-dev syntax** to download and set up the latest p | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v5 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-python@v6 | - uses: actions/setup-python@v5 | ||||||
|   with: |   with: | ||||||
|     python-version: '3.14-dev' |     python-version: '3.14-dev' | ||||||
| - run: python my_script.py | - run: python my_script.py | ||||||
| @@ -84,8 +84,8 @@ Free threaded Python is only available starting with the 3.13 release. | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v5 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-python@v6 | - uses: actions/setup-python@v5 | ||||||
|   with: |   with: | ||||||
|     python-version: '3.13t' |     python-version: '3.13t' | ||||||
| - run: python my_script.py | - run: python my_script.py | ||||||
| @@ -95,8 +95,8 @@ Note that the **t** suffix is not `semver` syntax. If you wish to specify a rang | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v5 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-python@v6 | - uses: actions/setup-python@v5 | ||||||
|   with: |   with: | ||||||
|     python-version: '>=3.13' |     python-version: '>=3.13' | ||||||
|     freethreaded: true |     freethreaded: true | ||||||
| @@ -109,8 +109,8 @@ You can also use several types of ranges that are specified in [semver](https:// | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v5 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-python@v6 | - uses: actions/setup-python@v5 | ||||||
|   with: |   with: | ||||||
|     python-version: '>=3.9 <3.14' |     python-version: '>=3.9 <3.14' | ||||||
| - run: python my_script.py | - run: python my_script.py | ||||||
| @@ -120,8 +120,8 @@ steps: | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v5 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-python@v6 | - uses: actions/setup-python@v5 | ||||||
|   with: |   with: | ||||||
|     python-version: '3.13.0-alpha - 3.13.0' |     python-version: '3.13.0-alpha - 3.13.0' | ||||||
| - run: python my_script.py | - run: python my_script.py | ||||||
| @@ -131,8 +131,8 @@ steps: | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v5 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-python@v6 | - uses: actions/setup-python@v5 | ||||||
|   with: |   with: | ||||||
|     python-version: '3.x' |     python-version: '3.x' | ||||||
| - run: python my_script.py | - run: python my_script.py | ||||||
| @@ -164,8 +164,8 @@ jobs: | |||||||
|         - 'pypy3.10' # the latest available version of PyPy that supports Python 3.10 |         - 'pypy3.10' # the latest available version of PyPy that supports Python 3.10 | ||||||
|         - 'pypy3.10-v7.3.17' # Python 3.10 and PyPy 7.3.17 |         - 'pypy3.10-v7.3.17' # Python 3.10 and PyPy 7.3.17 | ||||||
|     steps: |     steps: | ||||||
|     - uses: actions/checkout@v5 |     - uses: actions/checkout@v4 | ||||||
|     - uses: actions/setup-python@v6 |     - uses: actions/setup-python@v5 | ||||||
|       with: |       with: | ||||||
|         python-version: ${{ matrix.python-version }} |         python-version: ${{ matrix.python-version }} | ||||||
|     - run: python my_script.py |     - run: python my_script.py | ||||||
| @@ -182,8 +182,8 @@ jobs: | |||||||
|   build: |   build: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|     - uses: actions/checkout@v5 |     - uses: actions/checkout@v4 | ||||||
|     - uses: actions/setup-python@v6 |     - uses: actions/setup-python@v5 | ||||||
|       with: |       with: | ||||||
|         python-version: | |         python-version: | | ||||||
|             3.11 |             3.11 | ||||||
| @@ -199,8 +199,8 @@ jobs: | |||||||
|   build: |   build: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|     - uses: actions/checkout@v5 |     - uses: actions/checkout@v4 | ||||||
|     - uses: actions/setup-python@v6 |     - uses: actions/setup-python@v5 | ||||||
|       with: |       with: | ||||||
|         python-version: | |         python-version: | | ||||||
|             pypy-3.10-v7.3.x |             pypy-3.10-v7.3.x | ||||||
| @@ -216,8 +216,8 @@ jobs: | |||||||
|   build: |   build: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|     - uses: actions/checkout@v5 |     - uses: actions/checkout@v4 | ||||||
|     - uses: actions/setup-python@v6 |     - uses: actions/setup-python@v5 | ||||||
|       with: |       with: | ||||||
|         python-version: | |         python-version: | | ||||||
|             3.11 |             3.11 | ||||||
| @@ -241,9 +241,9 @@ jobs: | |||||||
|         python-version: ['3.x', 'pypy3.8', 'pypy3.9' ] |         python-version: ['3.x', 'pypy3.8', 'pypy3.9' ] | ||||||
|     name: Python ${{ matrix.python-version }} sample |     name: Python ${{ matrix.python-version }} sample | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Set up Python |       - name: Set up Python | ||||||
|         uses: actions/setup-python@v6 |         uses: actions/setup-python@v5 | ||||||
|         with: |         with: | ||||||
|           python-version: ${{ matrix.python-version }} |           python-version: ${{ matrix.python-version }} | ||||||
|           architecture: x64 |           architecture: x64 | ||||||
| @@ -267,9 +267,9 @@ jobs: | |||||||
|           - os: windows-latest |           - os: windows-latest | ||||||
|             python-version: '3.9' |             python-version: '3.9' | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Set up Python |       - name: Set up Python | ||||||
|         uses: actions/setup-python@v6 |         uses: actions/setup-python@v5 | ||||||
|         with: |         with: | ||||||
|           python-version: ${{ matrix.python-version }} |           python-version: ${{ matrix.python-version }} | ||||||
|       - name: Display Python version |       - name: Display Python version | ||||||
| @@ -285,8 +285,8 @@ jobs: | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v5 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-python@v6 | - uses: actions/setup-python@v5 | ||||||
|   with: |   with: | ||||||
|     python-version-file: '.python-version' # Read python version from a file .python-version |     python-version-file: '.python-version' # Read python version from a file .python-version | ||||||
| - run: python my_script.py | - run: python my_script.py | ||||||
| @@ -294,8 +294,8 @@ steps: | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v5 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-python@v6 | - uses: actions/setup-python@v5 | ||||||
|   with: |   with: | ||||||
|     python-version-file: 'pyproject.toml' # Read python version from a file pyproject.toml |     python-version-file: 'pyproject.toml' # Read python version from a file pyproject.toml | ||||||
| - run: python my_script.py | - run: python my_script.py | ||||||
| @@ -303,22 +303,13 @@ steps: | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v5 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-python@v6 | - uses: actions/setup-python@v5 | ||||||
|   with: |   with: | ||||||
|     python-version-file: '.tool-versions' # Read python version from a file .tool-versions |     python-version-file: '.tool-versions' # Read python version from a file .tool-versions | ||||||
| - run: python my_script.py | - 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 | ## 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. | 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. | ||||||
| @@ -327,8 +318,8 @@ If `check-latest` is set to `true`, the action first checks if the cached versio | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
|   - uses: actions/checkout@v5 |   - uses: actions/checkout@v4 | ||||||
|   - uses: actions/setup-python@v6 |   - uses: actions/setup-python@v5 | ||||||
|     with: |     with: | ||||||
|       python-version: '3.13' |       python-version: '3.13' | ||||||
|       check-latest: true |       check-latest: true | ||||||
| @@ -342,8 +333,8 @@ steps: | |||||||
| **Caching pipenv dependencies:** | **Caching pipenv dependencies:** | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v5 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-python@v6 | - uses: actions/setup-python@v5 | ||||||
|   with: |   with: | ||||||
|     python-version: '3.13' |     python-version: '3.13' | ||||||
|     cache: 'pipenv' |     cache: 'pipenv' | ||||||
| @@ -355,10 +346,10 @@ steps: | |||||||
| **Caching poetry dependencies:** | **Caching poetry dependencies:** | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v5 | - uses: actions/checkout@v4 | ||||||
| - name: Install poetry | - name: Install poetry | ||||||
|   run: pipx install poetry |   run: pipx install poetry | ||||||
| - uses: actions/setup-python@v6 | - uses: actions/setup-python@v5 | ||||||
|   with: |   with: | ||||||
|     python-version: '3.13' |     python-version: '3.13' | ||||||
|     cache: 'poetry' |     cache: 'poetry' | ||||||
| @@ -370,8 +361,8 @@ steps: | |||||||
| **Using a list of file paths to cache dependencies** | **Using a list of file paths to cache dependencies** | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v5 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-python@v6 | - uses: actions/setup-python@v5 | ||||||
|   with: |   with: | ||||||
|     python-version: '3.13' |     python-version: '3.13' | ||||||
|     cache: 'pipenv' |     cache: 'pipenv' | ||||||
| @@ -385,8 +376,8 @@ steps: | |||||||
| **Using wildcard patterns to cache dependencies** | **Using wildcard patterns to cache dependencies** | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v5 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-python@v6 | - uses: actions/setup-python@v5 | ||||||
|   with: |   with: | ||||||
|     python-version: '3.13' |     python-version: '3.13' | ||||||
|     cache: 'pip' |     cache: 'pip' | ||||||
| @@ -397,8 +388,8 @@ steps: | |||||||
| **Using a list of wildcard patterns to cache dependencies** | **Using a list of wildcard patterns to cache dependencies** | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v5 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-python@v6 | - uses: actions/setup-python@v5 | ||||||
|   with: |   with: | ||||||
|     python-version: '3.13' |     python-version: '3.13' | ||||||
|     cache: 'pip' |     cache: 'pip' | ||||||
| @@ -412,8 +403,8 @@ steps: | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v5 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-python@v6 | - uses: actions/setup-python@v5 | ||||||
|   with: |   with: | ||||||
|     python-version: '3.13' |     python-version: '3.13' | ||||||
|     cache: 'pip' |     cache: 'pip' | ||||||
| @@ -421,7 +412,7 @@ steps: | |||||||
| - run: pip install -e . | - run: pip install -e . | ||||||
|   # Or pip install -e '.[test]' to install test dependencies |   # Or pip install -e '.[test]' to install test dependencies | ||||||
| ``` | ``` | ||||||
|  | Note: cache-dependency-path supports files located outside the workspace root by copying them into the workspace to enable proper caching. | ||||||
| # Outputs and environment variables | # Outputs and environment variables | ||||||
|  |  | ||||||
| ## Outputs | ## Outputs | ||||||
| @@ -435,8 +426,8 @@ jobs: | |||||||
|   build: |   build: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|     - uses: actions/checkout@v5 |     - uses: actions/checkout@v4 | ||||||
|     - uses: actions/setup-python@v6 |     - uses: actions/setup-python@v5 | ||||||
|       id: cp312 |       id: cp312 | ||||||
|       with: |       with: | ||||||
|         python-version: "3.9.0 - 3.12.0" |         python-version: "3.9.0 - 3.12.0" | ||||||
| @@ -452,8 +443,8 @@ jobs: | |||||||
|   build: |   build: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|     - uses: actions/checkout@v5 |     - uses: actions/checkout@v4 | ||||||
|     - uses: actions/setup-python@v6 |     - uses: actions/setup-python@v5 | ||||||
|       id: cp313 |       id: cp313 | ||||||
|       with: |       with: | ||||||
|         python-version: "3.13" |         python-version: "3.13" | ||||||
| @@ -468,8 +459,8 @@ jobs: | |||||||
|   build: |   build: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|     - uses: actions/checkout@v5 |     - uses: actions/checkout@v4 | ||||||
|     - uses: actions/setup-python@v6 |     - uses: actions/setup-python@v5 | ||||||
|       id: cp313 |       id: cp313 | ||||||
|       with: |       with: | ||||||
|         python-version: "3.13.0" |         python-version: "3.13.0" | ||||||
| @@ -477,16 +468,16 @@ jobs: | |||||||
|     - run: echo '${{ steps.cp313.outputs.cache-hit }}' # true if cache-hit occurred on the primary key |     - 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: | These environment variables become available after setup-python action execution: | ||||||
|  |  | ||||||
| | **Env.variable**      | **Description** | | | **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. | | | 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 | | | 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 | | | 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 | | | Python3_ROOT_DIR   |https://cmake.org/cmake/help/latest/module/FindPython3.html#module:FindPython3| | ||||||
|  |  | ||||||
| ## Using `update-environment` flag | ## Using `update-environment` flag | ||||||
|  |  | ||||||
| @@ -499,8 +490,8 @@ Such a requirement on side-effect could be because you don't want your composite | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
|  steps: |  steps: | ||||||
|    - uses: actions/checkout@v5 |    - uses: actions/checkout@v4 | ||||||
|    - uses: actions/setup-python@v6 |    - uses: actions/setup-python@v5 | ||||||
|      id: cp313 |      id: cp313 | ||||||
|      with: |      with: | ||||||
|        python-version: '3.13' |        python-version: '3.13' | ||||||
| @@ -645,8 +636,8 @@ jobs: | |||||||
|         python_version: ["3.11", "3.12", "3.13"] |         python_version: ["3.11", "3.12", "3.13"] | ||||||
|  |  | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - uses: actions/setup-python@v6 |       - uses: actions/setup-python@v5 | ||||||
|         with: |         with: | ||||||
|           python-version: "${{ matrix.python_version }}" |           python-version: "${{ matrix.python_version }}" | ||||||
|           allow-prereleases: true |           allow-prereleases: true | ||||||
| @@ -660,9 +651,9 @@ The version of Pip should be specified in the format `major`, `major.minor`, or | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
|       steps: |       steps: | ||||||
|       - uses: actions/checkout@v5 |       - uses: actions/checkout@v4 | ||||||
|       - name: Set up Python |       - name: Set up Python | ||||||
|         uses: actions/setup-python@v6 |         uses: actions/setup-python@v5 | ||||||
|         with: |         with: | ||||||
|           python-version: '3.13' |           python-version: '3.13' | ||||||
|           pip-version: '25.0.1' |           pip-version: '25.0.1' | ||||||
|   | |||||||
							
								
								
									
										262
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										262
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -1,12 +1,12 @@ | |||||||
| { | { | ||||||
|   "name": "setup-python", |   "name": "setup-python", | ||||||
|   "version": "6.0.0", |   "version": "5.0.0", | ||||||
|   "lockfileVersion": 3, |   "lockfileVersion": 3, | ||||||
|   "requires": true, |   "requires": true, | ||||||
|   "packages": { |   "packages": { | ||||||
|     "": { |     "": { | ||||||
|       "name": "setup-python", |       "name": "setup-python", | ||||||
|       "version": "6.0.0", |       "version": "5.0.0", | ||||||
|       "license": "MIT", |       "license": "MIT", | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@actions/cache": "^4.0.3", |         "@actions/cache": "^4.0.3", | ||||||
| @@ -21,7 +21,7 @@ | |||||||
|       }, |       }, | ||||||
|       "devDependencies": { |       "devDependencies": { | ||||||
|         "@types/jest": "^29.5.12", |         "@types/jest": "^29.5.12", | ||||||
|         "@types/node": "^24.1.0", |         "@types/node": "^20.11.25", | ||||||
|         "@types/semver": "^7.7.0", |         "@types/semver": "^7.7.0", | ||||||
|         "@typescript-eslint/eslint-plugin": "^5.54.0", |         "@typescript-eslint/eslint-plugin": "^5.54.0", | ||||||
|         "@typescript-eslint/parser": "^5.54.0", |         "@typescript-eslint/parser": "^5.54.0", | ||||||
| @@ -35,9 +35,6 @@ | |||||||
|         "prettier": "^3.5.3", |         "prettier": "^3.5.3", | ||||||
|         "ts-jest": "^29.3.2", |         "ts-jest": "^29.3.2", | ||||||
|         "typescript": "^5.4.2" |         "typescript": "^5.4.2" | ||||||
|       }, |  | ||||||
|       "engines": { |  | ||||||
|         "node": ">=24.0.0" |  | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/@aashutoshrathi/word-wrap": { |     "node_modules/@aashutoshrathi/word-wrap": { | ||||||
| @@ -208,15 +205,12 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/@azure/core-http/node_modules/form-data": { |     "node_modules/@azure/core-http/node_modules/form-data": { | ||||||
|       "version": "4.0.4", |       "version": "4.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", |       "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", | ||||||
|       "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", |       "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", | ||||||
|       "license": "MIT", |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "asynckit": "^0.4.0", |         "asynckit": "^0.4.0", | ||||||
|         "combined-stream": "^1.0.8", |         "combined-stream": "^1.0.8", | ||||||
|         "es-set-tostringtag": "^2.1.0", |  | ||||||
|         "hasown": "^2.0.2", |  | ||||||
|         "mime-types": "^2.1.12" |         "mime-types": "^2.1.12" | ||||||
|       }, |       }, | ||||||
|       "engines": { |       "engines": { | ||||||
| @@ -1596,12 +1590,11 @@ | |||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|     "node_modules/@types/node": { |     "node_modules/@types/node": { | ||||||
|       "version": "24.1.0", |       "version": "20.11.25", | ||||||
|       "resolved": "https://registry.npmjs.org/@types/node/-/node-24.1.0.tgz", |       "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.25.tgz", | ||||||
|       "integrity": "sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==", |       "integrity": "sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==", | ||||||
|       "license": "MIT", |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "undici-types": "~7.8.0" |         "undici-types": "~5.26.4" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/@types/node-fetch": { |     "node_modules/@types/node-fetch": { | ||||||
| @@ -1614,15 +1607,12 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/@types/node-fetch/node_modules/form-data": { |     "node_modules/@types/node-fetch/node_modules/form-data": { | ||||||
|       "version": "4.0.4", |       "version": "4.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", |       "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", | ||||||
|       "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", |       "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", | ||||||
|       "license": "MIT", |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "asynckit": "^0.4.0", |         "asynckit": "^0.4.0", | ||||||
|         "combined-stream": "^1.0.8", |         "combined-stream": "^1.0.8", | ||||||
|         "es-set-tostringtag": "^2.1.0", |  | ||||||
|         "hasown": "^2.0.2", |  | ||||||
|         "mime-types": "^2.1.12" |         "mime-types": "^2.1.12" | ||||||
|       }, |       }, | ||||||
|       "engines": { |       "engines": { | ||||||
| @@ -2130,10 +2120,9 @@ | |||||||
|       "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" |       "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" | ||||||
|     }, |     }, | ||||||
|     "node_modules/brace-expansion": { |     "node_modules/brace-expansion": { | ||||||
|       "version": "1.1.12", |       "version": "1.1.11", | ||||||
|       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", |       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", | ||||||
|       "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", |       "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", | ||||||
|       "license": "MIT", |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "balanced-match": "^1.0.0", |         "balanced-match": "^1.0.0", | ||||||
|         "concat-map": "0.0.1" |         "concat-map": "0.0.1" | ||||||
| @@ -2210,19 +2199,6 @@ | |||||||
|       "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", |       "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", | ||||||
|       "dev": true |       "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": { |     "node_modules/callsites": { | ||||||
|       "version": "3.1.0", |       "version": "3.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", |       "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", | ||||||
| @@ -2508,20 +2484,6 @@ | |||||||
|         "node": ">=6.0.0" |         "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": { |     "node_modules/ejs": { | ||||||
|       "version": "3.1.10", |       "version": "3.1.10", | ||||||
|       "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", |       "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", | ||||||
| @@ -2571,51 +2533,6 @@ | |||||||
|         "is-arrayish": "^0.2.1" |         "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": { |     "node_modules/escalade": { | ||||||
|       "version": "3.1.1", |       "version": "3.1.1", | ||||||
|       "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", |       "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", | ||||||
| @@ -3092,9 +3009,9 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/filelist/node_modules/brace-expansion": { |     "node_modules/filelist/node_modules/brace-expansion": { | ||||||
|       "version": "2.0.2", |       "version": "2.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", |       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", | ||||||
|       "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", |       "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "license": "MIT", |       "license": "MIT", | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
| @@ -3163,17 +3080,13 @@ | |||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|     "node_modules/form-data": { |     "node_modules/form-data": { | ||||||
|       "version": "2.5.5", |       "version": "2.5.1", | ||||||
|       "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.5.tgz", |       "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", | ||||||
|       "integrity": "sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A==", |       "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", | ||||||
|       "license": "MIT", |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "asynckit": "^0.4.0", |         "asynckit": "^0.4.0", | ||||||
|         "combined-stream": "^1.0.8", |         "combined-stream": "^1.0.6", | ||||||
|         "es-set-tostringtag": "^2.1.0", |         "mime-types": "^2.1.12" | ||||||
|         "hasown": "^2.0.2", |  | ||||||
|         "mime-types": "^2.1.35", |  | ||||||
|         "safe-buffer": "^5.2.1" |  | ||||||
|       }, |       }, | ||||||
|       "engines": { |       "engines": { | ||||||
|         "node": ">= 0.12" |         "node": ">= 0.12" | ||||||
| @@ -3203,6 +3116,7 @@ | |||||||
|       "version": "1.1.2", |       "version": "1.1.2", | ||||||
|       "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", |       "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", | ||||||
|       "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", |       "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", | ||||||
|  |       "dev": true, | ||||||
|       "funding": { |       "funding": { | ||||||
|         "url": "https://github.com/sponsors/ljharb" |         "url": "https://github.com/sponsors/ljharb" | ||||||
|       } |       } | ||||||
| @@ -3225,30 +3139,6 @@ | |||||||
|         "node": "6.* || 8.* || >= 10.*" |         "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": { |     "node_modules/get-package-type": { | ||||||
|       "version": "0.1.0", |       "version": "0.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", |       "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", | ||||||
| @@ -3258,19 +3148,6 @@ | |||||||
|         "node": ">=8.0.0" |         "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": { |     "node_modules/get-stream": { | ||||||
|       "version": "6.0.1", |       "version": "6.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", |       "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", | ||||||
| @@ -3350,18 +3227,6 @@ | |||||||
|         "url": "https://github.com/sponsors/sindresorhus" |         "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": { |     "node_modules/graceful-fs": { | ||||||
|       "version": "4.2.11", |       "version": "4.2.11", | ||||||
|       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", |       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", | ||||||
| @@ -3383,38 +3248,11 @@ | |||||||
|         "node": ">=8" |         "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": { |     "node_modules/hasown": { | ||||||
|       "version": "2.0.2", |       "version": "2.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", |       "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", | ||||||
|       "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", |       "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", | ||||||
|       "license": "MIT", |       "dev": true, | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "function-bind": "^1.1.2" |         "function-bind": "^1.1.2" | ||||||
|       }, |       }, | ||||||
| @@ -4417,15 +4255,6 @@ | |||||||
|         "tmpl": "1.0.5" |         "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": { |     "node_modules/merge-stream": { | ||||||
|       "version": "2.0.0", |       "version": "2.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", |       "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", | ||||||
| @@ -5054,26 +4883,6 @@ | |||||||
|         "queue-microtask": "^1.2.2" |         "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": { |     "node_modules/sax": { | ||||||
|       "version": "1.3.0", |       "version": "1.3.0", | ||||||
|       "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", |       "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", | ||||||
| @@ -5459,9 +5268,9 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/undici": { |     "node_modules/undici": { | ||||||
|       "version": "5.29.0", |       "version": "5.28.5", | ||||||
|       "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", |       "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.5.tgz", | ||||||
|       "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", |       "integrity": "sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==", | ||||||
|       "license": "MIT", |       "license": "MIT", | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@fastify/busboy": "^2.0.0" |         "@fastify/busboy": "^2.0.0" | ||||||
| @@ -5471,10 +5280,9 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/undici-types": { |     "node_modules/undici-types": { | ||||||
|       "version": "7.8.0", |       "version": "5.26.5", | ||||||
|       "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", |       "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", | ||||||
|       "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", |       "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" | ||||||
|       "license": "MIT" |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/update-browserslist-db": { |     "node_modules/update-browserslist-db": { | ||||||
|       "version": "1.0.13", |       "version": "1.0.13", | ||||||
|   | |||||||
| @@ -1,12 +1,9 @@ | |||||||
| { | { | ||||||
|   "name": "setup-python", |   "name": "setup-python", | ||||||
|   "version": "6.0.0", |   "version": "5.0.0", | ||||||
|   "private": true, |   "private": true, | ||||||
|   "description": "Setup python action", |   "description": "Setup python action", | ||||||
|   "main": "dist/index.js", |   "main": "dist/index.js", | ||||||
|   "engines": { |  | ||||||
|     "node": ">=24.0.0" |  | ||||||
|   }, |  | ||||||
|   "scripts": { |   "scripts": { | ||||||
|     "build": "ncc build -o dist/setup src/setup-python.ts && ncc build -o dist/cache-save src/cache-save.ts", |     "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}\"", |     "format": "prettier --no-error-on-unmatched-pattern --config ./.prettierrc.js --write \"**/*.{ts,yml,yaml}\"", | ||||||
| @@ -40,7 +37,7 @@ | |||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "@types/jest": "^29.5.12", |     "@types/jest": "^29.5.12", | ||||||
|     "@types/node": "^24.1.0", |     "@types/node": "^20.11.25", | ||||||
|     "@types/semver": "^7.7.0", |     "@types/semver": "^7.7.0", | ||||||
|     "@typescript-eslint/eslint-plugin": "^5.54.0", |     "@typescript-eslint/eslint-plugin": "^5.54.0", | ||||||
|     "@typescript-eslint/parser": "^5.54.0", |     "@typescript-eslint/parser": "^5.54.0", | ||||||
|   | |||||||
| @@ -38,12 +38,11 @@ async function saveCache(packageManager: string) { | |||||||
|   core.debug(`paths for caching are ${cachePaths.join(', ')}`); |   core.debug(`paths for caching are ${cachePaths.join(', ')}`); | ||||||
|  |  | ||||||
|   if (!isCacheDirectoryExists(cachePaths)) { |   if (!isCacheDirectoryExists(cachePaths)) { | ||||||
|     core.warning( |     throw new Error( | ||||||
|       `Cache folder path is retrieved for ${packageManager} but doesn't exist on disk: ${cachePaths.join( |       `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.` |       )}. 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); |   const primaryKey = core.getState(State.STATE_CACHE_PRIMARY_KEY); | ||||||
|   | |||||||
| @@ -22,13 +22,62 @@ function isGraalPyVersion(versionSpec: string) { | |||||||
|   return versionSpec.startsWith('graalpy'); |   return versionSpec.startsWith('graalpy'); | ||||||
| } | } | ||||||
|  |  | ||||||
| async function cacheDependencies(cache: string, pythonVersion: string) { | export async function cacheDependencies(cache: string, pythonVersion: string) { | ||||||
|   const cacheDependencyPath = |   const cacheDependencyPath = | ||||||
|     core.getInput('cache-dependency-path') || undefined; |     core.getInput('cache-dependency-path') || undefined; | ||||||
|  |   let resolvedDependencyPath: string | undefined = undefined; | ||||||
|  |  | ||||||
|  |   if (cacheDependencyPath) { | ||||||
|  |     const actionPath = process.env.GITHUB_ACTION_PATH || ''; | ||||||
|  |     const workspace = process.env.GITHUB_WORKSPACE || process.cwd(); | ||||||
|  |  | ||||||
|  |     const sourcePath = path.resolve(actionPath, cacheDependencyPath); | ||||||
|  |     const relativePath = path.relative(actionPath, sourcePath); | ||||||
|  |     const targetPath = path.resolve(workspace, relativePath); | ||||||
|  |  | ||||||
|  |     try { | ||||||
|  |       const sourceExists = await fs.promises | ||||||
|  |         .access(sourcePath, fs.constants.F_OK) | ||||||
|  |         .then(() => true) | ||||||
|  |         .catch(() => false); | ||||||
|  |  | ||||||
|  |       if (!sourceExists) { | ||||||
|  |         core.warning( | ||||||
|  |           `The resolved cache-dependency-path does not exist: ${sourcePath}` | ||||||
|  |         ); | ||||||
|  |       } else { | ||||||
|  |         if (sourcePath !== targetPath) { | ||||||
|  |           const targetDir = path.dirname(targetPath); | ||||||
|  |           // Create target directory if it doesn't exist | ||||||
|  |           await fs.promises.mkdir(targetDir, {recursive: true}); | ||||||
|  |           // Copy file asynchronously | ||||||
|  |           await fs.promises.copyFile(sourcePath, targetPath); | ||||||
|  |           core.info(`Copied ${sourcePath} to ${targetPath}`); | ||||||
|  |         } else { | ||||||
|  |           core.info( | ||||||
|  |             `Dependency file is already inside the workspace: ${sourcePath}` | ||||||
|  |           ); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         resolvedDependencyPath = path | ||||||
|  |           .relative(workspace, targetPath) | ||||||
|  |           .replace(/\\/g, '/'); | ||||||
|  |         core.info(`Resolved cache-dependency-path: ${resolvedDependencyPath}`); | ||||||
|  |       } | ||||||
|  |     } catch (error) { | ||||||
|  |       core.warning( | ||||||
|  |         `Failed to copy file from ${sourcePath} to ${targetPath}: ${error}` | ||||||
|  |       ); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   // Pass resolvedDependencyPath if available, else fallback to original input | ||||||
|  |   const dependencyPathForCache = resolvedDependencyPath ?? cacheDependencyPath; | ||||||
|  |  | ||||||
|   const cacheDistributor = getCacheDistributor( |   const cacheDistributor = getCacheDistributor( | ||||||
|     cache, |     cache, | ||||||
|     pythonVersion, |     pythonVersion, | ||||||
|     cacheDependencyPath |     dependencyPathForCache | ||||||
|   ); |   ); | ||||||
|   await cacheDistributor.restoreCache(); |   await cacheDistributor.restoreCache(); | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										42
									
								
								src/utils.ts
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								src/utils.ts
									
									
									
									
									
								
							| @@ -325,54 +325,14 @@ export function getVersionInputFromToolVersions(versionFile: string): string[] { | |||||||
|     return []; |     return []; | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Python version extracted from the Pipfile file. |  * Python version extracted from a plain, .tool-versions or TOML 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[] { | export function getVersionInputFromFile(versionFile: string): string[] { | ||||||
|   if (versionFile.endsWith('.toml')) { |   if (versionFile.endsWith('.toml')) { | ||||||
|     return getVersionInputFromTomlFile(versionFile); |     return getVersionInputFromTomlFile(versionFile); | ||||||
|   } else if (versionFile.match('.tool-versions')) { |   } else if (versionFile.match('.tool-versions')) { | ||||||
|     return getVersionInputFromToolVersions(versionFile); |     return getVersionInputFromToolVersions(versionFile); | ||||||
|   } else if (versionFile.match('Pipfile')) { |  | ||||||
|     return getVersionInputFromPipfileFile(versionFile); |  | ||||||
|   } else { |   } else { | ||||||
|     return getVersionsInputFromPlainFile(versionFile); |     return getVersionsInputFromPlainFile(versionFile); | ||||||
|   } |   } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user