mirror of
				https://github.com/actions/setup-go.git
				synced 2025-10-29 22:30:31 +00:00 
			
		
		
		
	Compare commits
	
		
			20 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | faf52423ec | ||
|   | 7bc60db215 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | c0137caad7 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 4469467582 | ||
|   | e093d1e9bb | ||
|   | 1d76b952eb | ||
|   | e75c3e80bc | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 8e57b58e57 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7c0b336c9a | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 6f26dcc668 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 8d4083a006 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | fa96338abe | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 4de67c04ab | ||
|   | d35c59abb0 | ||
|   | 29694d72cd | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 78535dd5f2 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | bb65d8857b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7f17e836c0 | ||
|   | dca8468d37 | ||
|   | 691cc3533f | 
							
								
								
									
										2
									
								
								.github/ISSUE_TEMPLATE/bug_report.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/ISSUE_TEMPLATE/bug_report.md
									
									
									
									
										vendored
									
									
								
							| @@ -7,7 +7,7 @@ assignees: '' | ||||
|  | ||||
| --- | ||||
|  | ||||
| <!--- Please direct any generic questions related to actions to our support community forum at https://github.community/c/code-to-cloud/github-actions/41 ---> | ||||
| <!--- Please direct any generic questions related to actions to our support community forum at https://github.com/orgs/community/discussions/categories/actions ---> | ||||
| <!--- Before opening up a new bug report, please make sure to check for similar existing issues --> | ||||
|  | ||||
| **Description:** | ||||
|   | ||||
							
								
								
									
										2
									
								
								.github/ISSUE_TEMPLATE/feature_request.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/ISSUE_TEMPLATE/feature_request.md
									
									
									
									
										vendored
									
									
								
							| @@ -5,7 +5,7 @@ title: '' | ||||
| labels: feature request, needs triage | ||||
| assignees: '' | ||||
| --- | ||||
| <!--- Please direct any generic questions related to actions to our support community forum at https://github.community/c/code-to-cloud/github-actions/41 ---> | ||||
| <!--- Please direct any generic questions related to actions to our support community forum at https://github.com/orgs/community/discussions/categories/actions ---> | ||||
| <!--- Before opening up a new feature request, please make sure to check for similar existing issues and pull requests --> | ||||
|  | ||||
| **Description:** | ||||
|   | ||||
							
								
								
									
										2
									
								
								.github/workflows/basic-validation.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/basic-validation.yml
									
									
									
									
										vendored
									
									
								
							| @@ -15,4 +15,4 @@ jobs: | ||||
|     name: Basic validation | ||||
|     uses: actions/reusable-workflows/.github/workflows/basic-validation.yml@main | ||||
|     with: | ||||
|       node-version: '20' | ||||
|       node-version: '24.x' | ||||
|   | ||||
							
								
								
									
										2
									
								
								.github/workflows/check-dist.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/check-dist.yml
									
									
									
									
										vendored
									
									
								
							| @@ -16,4 +16,4 @@ jobs: | ||||
|     name: Check dist/ | ||||
|     uses: actions/reusable-workflows/.github/workflows/check-dist.yml@main | ||||
|     with: | ||||
|       node-version: '20' | ||||
|       node-version: '24.x' | ||||
|   | ||||
| @@ -14,7 +14,7 @@ jobs: | ||||
|  | ||||
|     steps: | ||||
|       - name: Checking out | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|       - name: Publish | ||||
|         id: publish | ||||
|         uses: actions/publish-immutable-action@v0.0.4 | ||||
|   | ||||
							
								
								
									
										60
									
								
								.github/workflows/versions.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										60
									
								
								.github/workflows/versions.yml
									
									
									
									
										vendored
									
									
								
							| @@ -18,9 +18,9 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         os: [ubuntu-latest, windows-latest, macos-latest, macos-13] | ||||
|         os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Go Stable | ||||
|         uses: ./ | ||||
|         with: | ||||
| @@ -33,9 +33,9 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         os: [ubuntu-latest, windows-latest, macos-latest, macos-13] | ||||
|         os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Go oldStable | ||||
|         uses: ./ | ||||
|         with: | ||||
| @@ -48,16 +48,16 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         os: [ubuntu-latest, windows-latest, macos-latest, macos-13] | ||||
|         os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] | ||||
|         version: [stable, oldstable] | ||||
|         architecture: [x64, x32] | ||||
|         exclude: | ||||
|           - os: macos-latest | ||||
|             architecture: x32 | ||||
|           - os: macos-13 | ||||
|           - os: macos-latest-large | ||||
|             architecture: x32 | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Go ${{ matrix.version }} ${{ matrix.architecture }} | ||||
|         uses: ./ | ||||
|         with: | ||||
| @@ -72,7 +72,7 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         os: [macos-latest, windows-latest, ubuntu-latest, macos-13] | ||||
|         os: [macos-latest, windows-latest, ubuntu-latest, macos-latest-large] | ||||
|         go: [1.21.13, 1.22.8, 1.23.2] | ||||
|         include: | ||||
|           - os: windows-latest | ||||
| @@ -82,7 +82,7 @@ jobs: | ||||
|             go: 1.23.2 | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: setup-go ${{ matrix.go }} | ||||
|         uses: ./ | ||||
| @@ -98,10 +98,10 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         os: [ubuntu-latest, windows-latest, macos-latest, macos-13] | ||||
|         os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] | ||||
|         go-version: ['1.20', '1.21', '1.22', '1.23'] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Go and check latest | ||||
|         uses: ./ | ||||
|         with: | ||||
| @@ -115,9 +115,9 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         os: [ubuntu-latest, windows-latest, macos-latest, macos-13] | ||||
|         os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Go and check latest | ||||
|         uses: ./ | ||||
|         with: | ||||
| @@ -131,9 +131,9 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         os: [ubuntu-latest, windows-latest, macos-latest, macos-13] | ||||
|         os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Go and check latest | ||||
|         uses: ./ | ||||
|         with: | ||||
| @@ -142,16 +142,32 @@ jobs: | ||||
|         run: __tests__/verify-go.sh 1.21 | ||||
|         shell: bash | ||||
|  | ||||
|   go-version-file-with-tool-versions: | ||||
|     runs-on: ${{ matrix.os }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Go and check latest | ||||
|         uses: ./ | ||||
|         with: | ||||
|           go-version-file: __tests__/data/.tool-versions | ||||
|       - name: verify go | ||||
|         run: __tests__/verify-go.sh 1.23.2 | ||||
|         shell: bash | ||||
|  | ||||
|   setup-versions-from-manifest: | ||||
|     runs-on: ${{ matrix.os }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         os: [macos-latest, windows-latest, ubuntu-latest, macos-13] | ||||
|         os: [macos-latest, windows-latest, ubuntu-latest, macos-latest-large] | ||||
|         go: [1.20.14, 1.21.10, 1.22.8, 1.23.2] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: setup-go ${{ matrix.go }} | ||||
|         uses: ./ | ||||
| @@ -167,11 +183,11 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         os: [windows-latest, ubuntu-latest, macos-13] | ||||
|         os: [windows-latest, ubuntu-latest, macos-latest-large] | ||||
|         go: [1.11.12] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: setup-go ${{ matrix.go }} | ||||
|         uses: ./ | ||||
| @@ -187,7 +203,7 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         os: [ubuntu-latest, windows-latest, macos-latest, macos-13] | ||||
|         os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] | ||||
|         go-version: [1.20.14, 1.21, 1.22, 1.23] | ||||
|         include: | ||||
|           - os: macos-latest | ||||
| @@ -196,10 +212,10 @@ jobs: | ||||
|             architecture: x64 | ||||
|           - os: windows-latest | ||||
|             architecture: x64 | ||||
|           - os: macos-13 | ||||
|           - os: macos-latest-large | ||||
|             architecture: x64 | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup Go and check latest | ||||
|         uses: ./ | ||||
|         with: | ||||
|   | ||||
							
								
								
									
										6
									
								
								.github/workflows/windows-validation.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/windows-validation.yml
									
									
									
									
										vendored
									
									
								
							| @@ -19,7 +19,7 @@ jobs: | ||||
|         cache: [false, true] | ||||
|         go: [1.20.1] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: 'Setup ${{ matrix.cache }}, cache: ${{ matrix.go }}' | ||||
|         uses: ./ | ||||
| @@ -88,7 +88,7 @@ jobs: | ||||
|       matrix: | ||||
|         cache: [false, true] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: 'Setup default go, cache: ${{ matrix.cache }}' | ||||
|         uses: ./ | ||||
| @@ -121,7 +121,7 @@ jobs: | ||||
|         cache: [false] | ||||
|         go: [1.20.1] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: 'Setup ${{ matrix.go }}, cache: ${{ matrix.cache }}' | ||||
|         uses: ./ | ||||
|   | ||||
							
								
								
									
										2
									
								
								.licenses/npm/@actions/cache.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@actions/cache.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: "@actions/cache" | ||||
| version: 4.0.2 | ||||
| version: 4.0.3 | ||||
| type: npm | ||||
| summary: Actions cache lib | ||||
| homepage: https://github.com/actions/toolkit/tree/main/packages/cache | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: "@actions/glob" | ||||
| version: 0.4.0 | ||||
| version: 0.5.0 | ||||
| type: npm | ||||
| summary: Actions glob lib | ||||
| homepage: https://github.com/actions/toolkit/tree/main/packages/glob | ||||
							
								
								
									
										2
									
								
								.licenses/npm/@actions/tool-cache.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@actions/tool-cache.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: "@actions/tool-cache" | ||||
| version: 2.0.1 | ||||
| version: 2.0.2 | ||||
| type: npm | ||||
| summary: Actions tool-cache lib | ||||
| homepage: https://github.com/actions/toolkit/tree/main/packages/tool-cache | ||||
|   | ||||
							
								
								
									
										2
									
								
								.licenses/npm/@types/node.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@types/node.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: "@types/node" | ||||
| version: 20.11.28 | ||||
| version: 24.1.0 | ||||
| type: npm | ||||
| summary: TypeScript definitions for node | ||||
| homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node | ||||
|   | ||||
							
								
								
									
										2
									
								
								.licenses/npm/brace-expansion.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/brace-expansion.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: brace-expansion | ||||
| version: 1.1.11 | ||||
| version: 1.1.12 | ||||
| type: npm | ||||
| summary: Brace expansion as known from sh/bash | ||||
| homepage: https://github.com/juliangruber/brace-expansion | ||||
|   | ||||
| @@ -1,16 +1,16 @@ | ||||
| --- | ||||
| name: uuid | ||||
| version: 3.4.0 | ||||
| name: call-bind-apply-helpers | ||||
| version: 1.0.2 | ||||
| type: npm | ||||
| summary: RFC4122 (v1, v4, and v5) UUIDs | ||||
| homepage: https://github.com/uuidjs/uuid#readme | ||||
| summary: Helper functions around Function call/apply/bind, for use in `call-bind` | ||||
| homepage: https://github.com/ljharb/call-bind-apply-helpers#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE.md | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     The MIT License (MIT) | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2010-2016 Robert Kieffer and other contributors | ||||
|     Copyright (c) 2024 Jordan Harband | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
| @@ -29,11 +29,4 @@ licenses: | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: | ||||
| - sources: AUTHORS | ||||
|   text: |- | ||||
|     Robert Kieffer <robert@broofa.com> | ||||
|     Christoph Tavan <dev@tavan.de> | ||||
|     AJ ONeal <coolaj86@gmail.com> | ||||
|     Vincent Voyer <vincent@zeroload.net> | ||||
|     Roman Shtylman <shtylman@gmail.com> | ||||
| notices: [] | ||||
							
								
								
									
										32
									
								
								.licenses/npm/dunder-proto.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/dunder-proto.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| --- | ||||
| name: dunder-proto | ||||
| version: 1.0.1 | ||||
| type: npm | ||||
| summary: If available, the `Object.prototype.__proto__` accessor and mutator, call-bound | ||||
| homepage: https://github.com/es-shims/dunder-proto#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2024 ECMAScript Shims | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
							
								
								
									
										32
									
								
								.licenses/npm/es-define-property.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/es-define-property.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| --- | ||||
| name: es-define-property | ||||
| version: 1.0.1 | ||||
| type: npm | ||||
| summary: "`Object.defineProperty`, but not IE 8's broken one." | ||||
| homepage: https://github.com/ljharb/es-define-property#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2024 Jordan Harband | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
							
								
								
									
										32
									
								
								.licenses/npm/es-errors.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/es-errors.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| --- | ||||
| name: es-errors | ||||
| version: 1.3.0 | ||||
| type: npm | ||||
| summary: A simple cache for a few of the JS Error constructors. | ||||
| homepage: https://github.com/ljharb/es-errors#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2024 Jordan Harband | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
							
								
								
									
										32
									
								
								.licenses/npm/es-object-atoms.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/es-object-atoms.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| --- | ||||
| name: es-object-atoms | ||||
| version: 1.1.1 | ||||
| type: npm | ||||
| summary: 'ES Object-related atoms: Object, ToObject, RequireObjectCoercible' | ||||
| homepage: https://github.com/ljharb/es-object-atoms#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2024 Jordan Harband | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
							
								
								
									
										32
									
								
								.licenses/npm/es-set-tostringtag.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/es-set-tostringtag.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| --- | ||||
| name: es-set-tostringtag | ||||
| version: 2.1.0 | ||||
| type: npm | ||||
| summary: A helper to optimistically set Symbol.toStringTag, when possible. | ||||
| homepage: https://github.com/es-shims/es-set-tostringtag#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2022 ECMAScript Shims | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
| @@ -1,10 +1,10 @@ | ||||
| --- | ||||
| name: form-data | ||||
| version: 2.5.1 | ||||
| version: 2.5.5 | ||||
| type: npm | ||||
| summary: A library to create readable "multipart/form-data" streams. Can be used to | ||||
|   submit forms and file uploads to other web applications. | ||||
| homepage: https://github.com/form-data/form-data#readme | ||||
| homepage:  | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: License | ||||
| @@ -1,10 +1,10 @@ | ||||
| --- | ||||
| name: form-data | ||||
| version: 4.0.0 | ||||
| version: 4.0.4 | ||||
| type: npm | ||||
| summary: A library to create readable "multipart/form-data" streams. Can be used to | ||||
|   submit forms and file uploads to other web applications. | ||||
| homepage: https://github.com/form-data/form-data#readme | ||||
| homepage:  | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: License | ||||
| @@ -28,6 +28,6 @@ licenses: | ||||
|      LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|      OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||||
|      THE SOFTWARE. | ||||
| - sources: Readme.md | ||||
| - sources: README.md | ||||
|   text: Form-Data is released under the [MIT](License) license. | ||||
| notices: [] | ||||
							
								
								
									
										31
									
								
								.licenses/npm/function-bind.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								.licenses/npm/function-bind.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,31 @@ | ||||
| --- | ||||
| name: function-bind | ||||
| version: 1.1.2 | ||||
| type: npm | ||||
| summary: Implementation of Function.prototype.bind | ||||
| homepage: https://github.com/Raynos/function-bind | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: |+ | ||||
|     Copyright (c) 2013 Raynos. | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in | ||||
|     all copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||||
|     THE SOFTWARE. | ||||
| 
 | ||||
| notices: [] | ||||
							
								
								
									
										33
									
								
								.licenses/npm/get-intrinsic.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								.licenses/npm/get-intrinsic.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | ||||
| --- | ||||
| name: get-intrinsic | ||||
| version: 1.3.0 | ||||
| type: npm | ||||
| summary: Get and robustly cache all JS language-level intrinsics at first require | ||||
|   time | ||||
| homepage: https://github.com/ljharb/get-intrinsic#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2020 Jordan Harband | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
							
								
								
									
										32
									
								
								.licenses/npm/get-proto.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/get-proto.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| --- | ||||
| name: get-proto | ||||
| version: 1.0.1 | ||||
| type: npm | ||||
| summary: Robustly get the [[Prototype]] of an object | ||||
| homepage: https://github.com/ljharb/get-proto#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2025 Jordan Harband | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
							
								
								
									
										32
									
								
								.licenses/npm/gopd.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/gopd.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| --- | ||||
| name: gopd | ||||
| version: 1.2.0 | ||||
| type: npm | ||||
| summary: "`Object.getOwnPropertyDescriptor`, but accounts for IE's broken implementation." | ||||
| homepage: https://github.com/ljharb/gopd#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2022 Jordan Harband | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
							
								
								
									
										32
									
								
								.licenses/npm/has-symbols.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/has-symbols.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| --- | ||||
| name: has-symbols | ||||
| version: 1.1.0 | ||||
| type: npm | ||||
| summary: Determine if the JS environment has Symbol support. Supports spec, or shams. | ||||
| homepage: https://github.com/ljharb/has-symbols#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2016 Jordan Harband | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
							
								
								
									
										33
									
								
								.licenses/npm/has-tostringtag.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								.licenses/npm/has-tostringtag.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | ||||
| --- | ||||
| name: has-tostringtag | ||||
| version: 1.0.2 | ||||
| type: npm | ||||
| summary: Determine if the JS environment has `Symbol.toStringTag` support. Supports | ||||
|   spec, or shams. | ||||
| homepage: https://github.com/inspect-js/has-tostringtag#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2021 Inspect JS | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
							
								
								
									
										32
									
								
								.licenses/npm/hasown.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/hasown.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| --- | ||||
| name: hasown | ||||
| version: 2.0.2 | ||||
| type: npm | ||||
| summary: A robust, ES3 compatible, "has own property" predicate. | ||||
| homepage: https://github.com/inspect-js/hasOwn#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) Jordan Harband and contributors | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
							
								
								
									
										32
									
								
								.licenses/npm/math-intrinsics.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/math-intrinsics.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| --- | ||||
| name: math-intrinsics | ||||
| version: 1.1.0 | ||||
| type: npm | ||||
| summary: ES Math-related intrinsics and helpers, robustly cached. | ||||
| homepage: https://github.com/es-shims/math-intrinsics#readme | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) 2024 ECMAScript Shims | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: [] | ||||
							
								
								
									
										34
									
								
								.licenses/npm/safe-buffer.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								.licenses/npm/safe-buffer.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| --- | ||||
| name: safe-buffer | ||||
| version: 5.2.1 | ||||
| type: npm | ||||
| summary: Safer Node.js Buffer API | ||||
| homepage: https://github.com/feross/safe-buffer | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     The MIT License (MIT) | ||||
| 
 | ||||
|     Copyright (c) Feross Aboukhadijeh | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in | ||||
|     all copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||||
|     THE SOFTWARE. | ||||
| - sources: README.md | ||||
|   text: MIT. Copyright (C) [Feross Aboukhadijeh](http://feross.org) | ||||
| notices: [] | ||||
| @@ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: semver | ||||
| version: 7.6.3 | ||||
| version: 7.7.1 | ||||
| type: npm | ||||
| summary: The semantic version parser used by npm. | ||||
| homepage: | ||||
							
								
								
									
										6
									
								
								.licenses/npm/undici-types.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										6
									
								
								.licenses/npm/undici-types.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,15 +1,17 @@ | ||||
| --- | ||||
| name: undici-types | ||||
| version: 5.26.5 | ||||
| version: 7.8.0 | ||||
| type: npm | ||||
| summary: A stand-alone types package for Undici | ||||
| homepage: https://undici.nodejs.org | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: Auto-generated MIT license text | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     MIT License | ||||
| 
 | ||||
|     Copyright (c) Matteo Collina and Undici 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 | ||||
|   | ||||
							
								
								
									
										2
									
								
								.licenses/npm/undici.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/undici.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: undici | ||||
| version: 5.28.5 | ||||
| version: 5.29.0 | ||||
| type: npm | ||||
| summary: An HTTP/1.1 client, written from scratch for Node.js | ||||
| homepage: https://undici.nodejs.org | ||||
|   | ||||
| @@ -3,7 +3,7 @@ name: uuid | ||||
| version: 8.3.2 | ||||
| type: npm | ||||
| summary: RFC4122 (v1, v4, and v5) UUIDs | ||||
| homepage: https://github.com/uuidjs/uuid#readme | ||||
| homepage: | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE.md | ||||
							
								
								
									
										98
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										98
									
								
								README.md
									
									
									
									
									
								
							| @@ -8,6 +8,14 @@ This action sets up a go environment for use in actions by: | ||||
| - Optionally downloading and caching a version of Go by version and adding to `PATH`. | ||||
| - Registering problem matchers for error output. | ||||
|  | ||||
| # Breaking changes in V6 | ||||
|  | ||||
| - Improve toolchain handling to ensure more reliable and consistent toolchain selection and management. | ||||
| - Upgraded from node20 to node24. | ||||
|   > Make sure your runner is on version v2.327.1 or later to ensure compatibility with this release. [See Release Notes](https://github.com/actions/runner/releases/tag/v2.327.1) | ||||
|  | ||||
| For more details,  see the full release notes on the [releases page](https://github.com/actions/setup-go/releases/tag/v6.0.0) | ||||
|  | ||||
| # V5 | ||||
|  | ||||
| The V5 edition of the action offers: | ||||
| @@ -16,31 +24,10 @@ The V5 edition of the action offers: | ||||
|  | ||||
| See full release notes on the [releases page](https://github.com/actions/setup-go/releases). | ||||
|  | ||||
| # V4 | ||||
|  | ||||
| The V4 edition of the action offers: | ||||
|  | ||||
|  - Enabled caching by default | ||||
|  | ||||
| The action will try to enable caching unless the `cache` input is explicitly set to false. | ||||
|  | ||||
| Please see "[Caching dependency files and build outputs](https://github.com/actions/setup-go#caching-dependency-files-and-build-outputs)" for more information. | ||||
|  | ||||
| # V3 | ||||
|  | ||||
| The V3 edition of the action offers: | ||||
|  | ||||
| - Adds `GOBIN` to the `PATH` | ||||
| - Proxy support | ||||
| - Check latest version | ||||
| - Caching packages dependencies | ||||
| - stable and oldstable aliases | ||||
| - Bug Fixes (including issues around version matching and semver) | ||||
|  | ||||
| The action will first check the local cache for a version match. If a version is not found locally, it will pull it from | ||||
| the `main` branch of the [go-versions](https://github.com/actions/go-versions/blob/main/versions-manifest.json) | ||||
| repository. On miss or failure, it will fall back to downloading directly | ||||
| from [go dist](https://storage.googleapis.com/golang). To change the default behavior, please use | ||||
| from [go dist](https://go.dev/dl). To change the default behavior, please use | ||||
| the [check-latest input](#check-latest-version). | ||||
|  | ||||
| **Note:** The `setup-go` action uses executable binaries which are built by Golang side. The action does not build | ||||
| @@ -50,8 +37,8 @@ Matching by [semver spec](https://github.com/npm/node-semver): | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
|   - uses: actions/checkout@v4 | ||||
|   - uses: actions/setup-go@v5 | ||||
|   - uses: actions/checkout@v5 | ||||
|   - uses: actions/setup-go@v6 | ||||
|     with: | ||||
|       go-version: '^1.13.1' # The Go version to download (if necessary) and use. | ||||
|   - run: go version | ||||
| @@ -59,8 +46,8 @@ steps: | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
|   - uses: actions/checkout@v4 | ||||
|   - uses: actions/setup-go@v5 | ||||
|   - uses: actions/checkout@v5 | ||||
|   - uses: actions/setup-go@v6 | ||||
|     with: | ||||
|       go-version: '>=1.17.0' | ||||
|   - run: go version | ||||
| @@ -78,8 +65,8 @@ Matching an unstable pre-release: | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
|   - uses: actions/checkout@v4 | ||||
|   - uses: actions/setup-go@v5 | ||||
|   - uses: actions/checkout@v5 | ||||
|   - uses: actions/setup-go@v6 | ||||
|     with: | ||||
|       go-version: '1.18.0-rc.1' # The Go version to download (if necessary) and use. | ||||
|   - run: go version | ||||
| @@ -87,8 +74,8 @@ steps: | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
|   - uses: actions/checkout@v4 | ||||
|   - uses: actions/setup-go@v5 | ||||
|   - uses: actions/checkout@v5 | ||||
|   - uses: actions/setup-go@v6 | ||||
|     with: | ||||
|       go-version: '1.16.0-beta.1' # The Go version to download (if necessary) and use. | ||||
|   - run: go version | ||||
| @@ -102,8 +89,8 @@ See [action.yml](action.yml) | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
|   - uses: actions/checkout@v4 | ||||
|   - uses: actions/setup-go@v5 | ||||
|   - uses: actions/checkout@v5 | ||||
|   - uses: actions/setup-go@v6 | ||||
|     with: | ||||
|       go-version: '1.16.1' # The Go version to download (if necessary) and use. | ||||
|   - run: go run hello.go | ||||
| @@ -123,8 +110,8 @@ want the most up-to-date Go version to always be used. | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
|   - uses: actions/checkout@v4 | ||||
|   - uses: actions/setup-go@v5 | ||||
|   - uses: actions/checkout@v5 | ||||
|   - uses: actions/setup-go@v6 | ||||
|     with: | ||||
|       go-version: '1.14' | ||||
|       check-latest: true | ||||
| @@ -144,8 +131,8 @@ set to `true` | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
|   - uses: actions/checkout@v4 | ||||
|   - uses: actions/setup-go@v5 | ||||
|   - uses: actions/checkout@v5 | ||||
|   - uses: actions/setup-go@v6 | ||||
|     with: | ||||
|       go-version: 'stable' | ||||
|   - run: go run hello.go | ||||
| @@ -153,8 +140,8 @@ steps: | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
|   - uses: actions/checkout@v4 | ||||
|   - uses: actions/setup-go@v5 | ||||
|   - uses: actions/checkout@v5 | ||||
|   - uses: actions/setup-go@v6 | ||||
|     with: | ||||
|       go-version: 'oldstable' | ||||
|   - run: go run hello.go | ||||
| @@ -176,8 +163,8 @@ If some problem that prevents success caching happens then the action issues the | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
|   - uses: actions/checkout@v4 | ||||
|   - uses: actions/setup-go@v5 | ||||
|   - uses: actions/checkout@v5 | ||||
|   - uses: actions/setup-go@v6 | ||||
|     with: | ||||
|       go-version: '1.17' | ||||
|       check-latest: true | ||||
| @@ -191,9 +178,15 @@ steps: | ||||
|  | ||||
| ## Getting go version from the go.mod file | ||||
|  | ||||
| The `go-version-file` input accepts a path to a `go.mod` file or a `go.work` file that contains the version of Go to be used by a project. | ||||
| The `go-version-file` input accepts a path to a `go.mod` file, `.tool-versions` file or a `go.work` | ||||
| file that contains the version of Go to be used by a project. The version taken | ||||
| from thils file will be: | ||||
|  | ||||
|   - The version from the `toolchain` directive, if there is one, otherwise | ||||
|   - The version from the `go` directive | ||||
|  | ||||
| The version can specify a patch version or omit it altogether (e.g., `go 1.22.0` or `go 1.22`). | ||||
|  | ||||
| The `go` directive in `go.mod` can specify a patch version or omit it altogether (e.g., `go 1.22.0` or `go 1.22`).   | ||||
| If a patch version is specified, that specific patch version will be used.   | ||||
| If no patch version is specified, it will search for the latest available patch version in the cache, | ||||
| [versions-manifest.json](https://github.com/actions/go-versions/blob/main/versions-manifest.json), and the | ||||
| @@ -204,12 +197,21 @@ If both the `go-version` and the `go-version-file` inputs are provided then the | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
|   - uses: actions/checkout@v4 | ||||
|   - uses: actions/setup-go@v5 | ||||
|   - uses: actions/checkout@v5 | ||||
|   - uses: actions/setup-go@v6 | ||||
|     with: | ||||
|       go-version-file: 'path/to/go.mod' | ||||
|   - run: go version | ||||
| ``` | ||||
| ```yaml | ||||
| steps: | ||||
|   - uses: actions/checkout@v5 | ||||
|   - uses: actions/setup-go@v6 | ||||
|     with: | ||||
|       go-version-file: '.tool-versions' | ||||
|   - run: go version | ||||
| ``` | ||||
| > The [.tool-versions file](https://asdf-vm.com/manage/configuration.html#tool-versions) supports version specifications in accordance with asdf standards, adhering to Semantic Versioning ([semver](https://semver.org)). | ||||
|  | ||||
| ## Matrix testing | ||||
|  | ||||
| @@ -222,9 +224,9 @@ jobs: | ||||
|         go: [ '1.14', '1.13' ] | ||||
|     name: Go ${{ matrix.go }} sample | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup go | ||||
|         uses: actions/setup-go@v5 | ||||
|         uses: actions/setup-go@v6 | ||||
|         with: | ||||
|           go-version: ${{ matrix.go }} | ||||
|       - run: go run hello.go | ||||
| @@ -247,12 +249,12 @@ When dynamically downloading Go distributions, `setup-go` downloads distribution | ||||
|  | ||||
| These calls to `actions/go-versions` are made via unauthenticated requests, which are limited to [60 requests per hour per IP](https://docs.github.com/en/rest/overview/resources-in-the-rest-api#rate-limiting). | ||||
| If more requests are made within the time frame, then the action leverages the `raw API` to retrieve the version-manifest. This approach does not impose a rate limit and hence facilitates unrestricted consumption. This is particularly beneficial for GHES runners, which often share the same IP, to avoid the quick exhaustion of the unauthenticated rate limit. | ||||
| If that fails as well the action will try to download versions directly from https://storage.googleapis.com/golang. | ||||
| If that fails as well the action will try to download versions directly from https://go.dev/dl. | ||||
|  | ||||
| If that fails as well you can get a higher rate limit with [generating a personal access token on github.com](https://github.com/settings/tokens/new) and passing it as the `token` input to the action: | ||||
|  | ||||
| ```yaml | ||||
| uses: actions/setup-go@v5 | ||||
| uses: actions/setup-go@v6 | ||||
| with: | ||||
|   token: ${{ secrets.GH_DOTCOM_TOKEN }} | ||||
|   go-version: '1.18' | ||||
|   | ||||
							
								
								
									
										1
									
								
								__tests__/data/.tool-versions
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								__tests__/data/.tool-versions
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| golang 1.23.2 | ||||
| @@ -129,6 +129,9 @@ describe('setup-go', () => { | ||||
|   }); | ||||
|  | ||||
|   afterEach(() => { | ||||
|     // clear out env var set during 'run' | ||||
|     delete process.env[im.GOTOOLCHAIN_ENV_VAR]; | ||||
|  | ||||
|     //jest.resetAllMocks(); | ||||
|     jest.clearAllMocks(); | ||||
|     //jest.restoreAllMocks(); | ||||
| @@ -285,7 +288,7 @@ describe('setup-go', () => { | ||||
|     expect(logSpy).toHaveBeenCalledWith(`Setup go version spec 1.13.0`); | ||||
|   }); | ||||
|  | ||||
|   it('does not export any variables for Go versions >=1.9', async () => { | ||||
|   it('does not export GOROOT for Go versions >=1.9', async () => { | ||||
|     inputs['go-version'] = '1.13.0'; | ||||
|     inSpy.mockImplementation(name => inputs[name]); | ||||
|  | ||||
| @@ -298,7 +301,7 @@ describe('setup-go', () => { | ||||
|     }); | ||||
|  | ||||
|     await main.run(); | ||||
|     expect(vars).toStrictEqual({}); | ||||
|     expect(vars).not.toHaveProperty('GOROOT'); | ||||
|   }); | ||||
|  | ||||
|   it('exports GOROOT for Go versions <1.9', async () => { | ||||
| @@ -314,9 +317,7 @@ describe('setup-go', () => { | ||||
|     }); | ||||
|  | ||||
|     await main.run(); | ||||
|     expect(vars).toStrictEqual({ | ||||
|       GOROOT: toolPath | ||||
|     }); | ||||
|     expect(vars).toHaveProperty('GOROOT', toolPath); | ||||
|   }); | ||||
|  | ||||
|   it('finds a version of go already in the cache', async () => { | ||||
| @@ -388,7 +389,7 @@ describe('setup-go', () => { | ||||
|  | ||||
|     const expPath = path.win32.join(toolPath, 'bin'); | ||||
|     expect(dlSpy).toHaveBeenCalledWith( | ||||
|       'https://storage.googleapis.com/golang/go1.13.1.windows-amd64.zip', | ||||
|       'https://go.dev/dl/go1.13.1.windows-amd64.zip', | ||||
|       'C:\\temp\\go1.13.1.windows-amd64.zip', | ||||
|       undefined | ||||
|     ); | ||||
| @@ -865,6 +866,9 @@ exclude example.com/thismodule v1.3.0 | ||||
|  | ||||
| use . | ||||
|  | ||||
| `; | ||||
|  | ||||
|     const toolVersionsContents = `golang 1.23 | ||||
| `; | ||||
|  | ||||
|     it('reads version from go.mod', async () => { | ||||
| @@ -891,6 +895,18 @@ use . | ||||
|       expect(logSpy).toHaveBeenCalledWith('matching 1.19...'); | ||||
|     }); | ||||
|  | ||||
|     it('reads version from .tool-versions', async () => { | ||||
|       inputs['go-version-file'] = '.tool-versions'; | ||||
|       existsSpy.mockImplementation(() => true); | ||||
|       readFileSpy.mockImplementation(() => Buffer.from(toolVersionsContents)); | ||||
|  | ||||
|       await main.run(); | ||||
|  | ||||
|       expect(logSpy).toHaveBeenCalledWith('Setup go version spec 1.23'); | ||||
|       expect(logSpy).toHaveBeenCalledWith('Attempting to download 1.23...'); | ||||
|       expect(logSpy).toHaveBeenCalledWith('matching 1.23...'); | ||||
|     }); | ||||
|  | ||||
|     it('reads version from .go-version', async () => { | ||||
|       inputs['go-version-file'] = '.go-version'; | ||||
|       existsSpy.mockImplementation(() => true); | ||||
| @@ -945,7 +961,7 @@ use . | ||||
|         const expectedUrl = | ||||
|           platform === 'win32' | ||||
|             ? `https://github.com/actions/go-versions/releases/download/${version}/go-${version}-${platform}-${arch}.${fileExtension}` | ||||
|             : `https://storage.googleapis.com/golang/go${version}.${osSpec}-${arch}.${fileExtension}`; | ||||
|             : `https://go.dev/dl/go${version}.${osSpec}-${arch}.${fileExtension}`; | ||||
|  | ||||
|         // ... but not in the local cache | ||||
|         findSpy.mockImplementation(() => ''); | ||||
| @@ -989,4 +1005,104 @@ use . | ||||
|       } | ||||
|     ); | ||||
|   }); | ||||
|  | ||||
|   describe('go-version-file-toolchain', () => { | ||||
|     const goVersions = ['1.22.0', '1.21rc2', '1.18']; | ||||
|     const placeholderVersion = '1.19'; | ||||
|     const buildGoMod = ( | ||||
|       goVersion: string, | ||||
|       toolchainVersion: string | ||||
|     ) => `module example.com/mymodule | ||||
|  | ||||
| go ${goVersion} | ||||
|  | ||||
| toolchain go${toolchainVersion} | ||||
|  | ||||
| require ( | ||||
| 	example.com/othermodule v1.2.3 | ||||
| 	example.com/thismodule v1.2.3 | ||||
| 	example.com/thatmodule v1.2.3 | ||||
| ) | ||||
|  | ||||
| replace example.com/thatmodule => ../thatmodule | ||||
| exclude example.com/thismodule v1.3.0 | ||||
| `; | ||||
|  | ||||
|     const buildGoWork = ( | ||||
|       goVersion: string, | ||||
|       toolchainVersion: string | ||||
|     ) => `go 1.19 | ||||
|  | ||||
| toolchain go${toolchainVersion} | ||||
|  | ||||
| use . | ||||
|  | ||||
| `; | ||||
|  | ||||
|     goVersions.forEach(version => { | ||||
|       [ | ||||
|         { | ||||
|           goVersionfile: 'go.mod', | ||||
|           fileContents: Buffer.from(buildGoMod(placeholderVersion, version)), | ||||
|           expected_version: version, | ||||
|           desc: 'from toolchain directive' | ||||
|         }, | ||||
|         { | ||||
|           goVersionfile: 'go.work', | ||||
|           fileContents: Buffer.from(buildGoMod(placeholderVersion, version)), | ||||
|           expected_version: version, | ||||
|           desc: 'from toolchain directive' | ||||
|         }, | ||||
|         { | ||||
|           goVersionfile: 'go.mod', | ||||
|           fileContents: Buffer.from(buildGoMod(placeholderVersion, version)), | ||||
|           gotoolchain_env: 'local', | ||||
|           expected_version: placeholderVersion, | ||||
|           desc: 'from go directive when GOTOOLCHAIN is local' | ||||
|         }, | ||||
|         { | ||||
|           goVersionfile: 'go.work', | ||||
|           fileContents: Buffer.from(buildGoMod(placeholderVersion, version)), | ||||
|           gotoolchain_env: 'local', | ||||
|           expected_version: placeholderVersion, | ||||
|           desc: 'from go directive when GOTOOLCHAIN is local' | ||||
|         } | ||||
|       ].forEach(test => { | ||||
|         it(`reads version (${version}) in ${test.goVersionfile} ${test.desc}`, async () => { | ||||
|           inputs['go-version-file'] = test.goVersionfile; | ||||
|           if (test.gotoolchain_env !== undefined) { | ||||
|             process.env[im.GOTOOLCHAIN_ENV_VAR] = test.gotoolchain_env; | ||||
|           } | ||||
|           existsSpy.mockImplementation(() => true); | ||||
|           readFileSpy.mockImplementation(() => Buffer.from(test.fileContents)); | ||||
|  | ||||
|           await main.run(); | ||||
|  | ||||
|           expect(logSpy).toHaveBeenCalledWith( | ||||
|             `Setup go version spec ${test.expected_version}` | ||||
|           ); | ||||
|           expect(logSpy).toHaveBeenCalledWith( | ||||
|             `Attempting to download ${test.expected_version}...` | ||||
|           ); | ||||
|           expect(logSpy).toHaveBeenCalledWith( | ||||
|             `matching ${test.expected_version}...` | ||||
|           ); | ||||
|         }); | ||||
|       }); | ||||
|     }); | ||||
|   }); | ||||
|  | ||||
|   it('exports GOTOOLCHAIN and sets it in current process env', async () => { | ||||
|     inputs['go-version'] = '1.21.0'; | ||||
|     inSpy.mockImplementation(name => inputs[name]); | ||||
|  | ||||
|     const vars: {[key: string]: string} = {}; | ||||
|     exportVarSpy.mockImplementation((name: string, val: string) => { | ||||
|       vars[name] = val; | ||||
|     }); | ||||
|  | ||||
|     await main.run(); | ||||
|     expect(vars).toStrictEqual({GOTOOLCHAIN: 'local'}); | ||||
|     expect(process.env).toHaveProperty('GOTOOLCHAIN', 'local'); | ||||
|   }); | ||||
| }); | ||||
|   | ||||
							
								
								
									
										52
									
								
								__tests__/utils.test.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								__tests__/utils.test.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | ||||
| import {isSelfHosted} from '../src/utils'; | ||||
|  | ||||
| describe('utils', () => { | ||||
|   describe('isSelfHosted', () => { | ||||
|     let AGENT_ISSELFHOSTED: string | undefined; | ||||
|     let RUNNER_ENVIRONMENT: string | undefined; | ||||
|  | ||||
|     beforeEach(() => { | ||||
|       AGENT_ISSELFHOSTED = process.env['AGENT_ISSELFHOSTED']; | ||||
|       delete process.env['AGENT_ISSELFHOSTED']; | ||||
|       RUNNER_ENVIRONMENT = process.env['RUNNER_ENVIRONMENT']; | ||||
|       delete process.env['RUNNER_ENVIRONMENT']; | ||||
|     }); | ||||
|  | ||||
|     afterEach(() => { | ||||
|       if (AGENT_ISSELFHOSTED === undefined) { | ||||
|         delete process.env['AGENT_ISSELFHOSTED']; | ||||
|       } else { | ||||
|         process.env['AGENT_ISSELFHOSTED'] = AGENT_ISSELFHOSTED; | ||||
|       } | ||||
|       if (RUNNER_ENVIRONMENT === undefined) { | ||||
|         delete process.env['RUNNER_ENVIRONMENT']; | ||||
|       } else { | ||||
|         process.env['RUNNER_ENVIRONMENT'] = RUNNER_ENVIRONMENT; | ||||
|       } | ||||
|     }); | ||||
|  | ||||
|     it('isSelfHosted should be true if no environment variables set', () => { | ||||
|       expect(isSelfHosted()).toBeTruthy(); | ||||
|     }); | ||||
|  | ||||
|     it('isSelfHosted should be true if environment variable is not set to denote GitHub hosted', () => { | ||||
|       process.env['RUNNER_ENVIRONMENT'] = 'some'; | ||||
|       expect(isSelfHosted()).toBeTruthy(); | ||||
|     }); | ||||
|  | ||||
|     it('isSelfHosted should be true if environment variable set to denote Azure Pipelines self hosted', () => { | ||||
|       process.env['AGENT_ISSELFHOSTED'] = '1'; | ||||
|       expect(isSelfHosted()).toBeTruthy(); | ||||
|     }); | ||||
|  | ||||
|     it('isSelfHosted should be false if environment variable set to denote GitHub hosted', () => { | ||||
|       process.env['RUNNER_ENVIRONMENT'] = 'github-hosted'; | ||||
|       expect(isSelfHosted()).toBeFalsy(); | ||||
|     }); | ||||
|  | ||||
|     it('isSelfHosted should be false if environment variable is not set to denote Azure Pipelines self hosted', () => { | ||||
|       process.env['AGENT_ISSELFHOSTED'] = 'some'; | ||||
|       expect(isSelfHosted()).toBeFalsy(); | ||||
|     }); | ||||
|   }); | ||||
| }); | ||||
| @@ -5,7 +5,7 @@ inputs: | ||||
|   go-version: | ||||
|     description: 'The Go version to download (if necessary) and use. Supports semver spec and ranges. Be sure to enclose this option in single quotation marks.' | ||||
|   go-version-file: | ||||
|     description: 'Path to the go.mod or go.work file.' | ||||
|     description: 'Path to the go.mod, .tool-versions, or go.work file.' | ||||
|   check-latest: | ||||
|     description: 'Set this option to true if you want the action to always check for the latest available version that satisfies the version spec' | ||||
|     default: false | ||||
|   | ||||
							
								
								
									
										1584
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1584
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										2072
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2072
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1250
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1250
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										27
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								package.json
									
									
									
									
									
								
							| @@ -1,9 +1,12 @@ | ||||
| { | ||||
|   "name": "setup-go", | ||||
|   "version": "5.0.0", | ||||
|   "version": "6.0.0", | ||||
|   "private": true, | ||||
|   "description": "setup go action", | ||||
|   "main": "lib/setup-go.js", | ||||
|   "engines": { | ||||
|     "node": ">=24.0.0" | ||||
|   }, | ||||
|   "scripts": { | ||||
|     "build": "tsc && ncc build -o dist/setup src/setup-go.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}\"", | ||||
| @@ -25,31 +28,31 @@ | ||||
|   "author": "GitHub", | ||||
|   "license": "MIT", | ||||
|   "dependencies": { | ||||
|     "@actions/cache": "^4.0.2", | ||||
|     "@actions/cache": "^4.0.3", | ||||
|     "@actions/core": "^1.11.1", | ||||
|     "@actions/exec": "^1.1.1", | ||||
|     "@actions/glob": "^0.4.0", | ||||
|     "@actions/glob": "^0.5.0", | ||||
|     "@actions/http-client": "^2.2.1", | ||||
|     "@actions/io": "^1.0.2", | ||||
|     "@actions/tool-cache": "^2.0.1", | ||||
|     "@actions/tool-cache": "^2.0.2", | ||||
|     "semver": "^7.6.3" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@types/jest": "^29.5.12", | ||||
|     "@types/node": "^20.11.28", | ||||
|     "@types/jest": "^29.5.14", | ||||
|     "@types/node": "^24.1.0", | ||||
|     "@types/semver": "^7.5.8", | ||||
|     "@typescript-eslint/eslint-plugin": "^5.54.0", | ||||
|     "@typescript-eslint/parser": "^5.54.0", | ||||
|     "@typescript-eslint/eslint-plugin": "^8.31.1", | ||||
|     "@typescript-eslint/parser": "^8.35.1", | ||||
|     "@vercel/ncc": "^0.38.1", | ||||
|     "eslint": "^8.57.0", | ||||
|     "eslint-config-prettier": "^10.0.1", | ||||
|     "eslint-plugin-jest": "^27.9.0", | ||||
|     "eslint-config-prettier": "^10.1.8", | ||||
|     "eslint-plugin-jest": "^29.0.1", | ||||
|     "eslint-plugin-node": "^11.1.0", | ||||
|     "jest": "^29.7.0", | ||||
|     "jest-circus": "^29.7.0", | ||||
|     "nock": "^10.0.6", | ||||
|     "prettier": "^2.8.4", | ||||
|     "ts-jest": "^29.1.2", | ||||
|     "typescript": "^5.4.2" | ||||
|     "ts-jest": "^29.3.2", | ||||
|     "typescript": "^5.8.3" | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -15,6 +15,7 @@ process.on('uncaughtException', e => { | ||||
| // Added early exit to resolve issue with slow post action step: | ||||
| // - https://github.com/actions/setup-node/issues/878 | ||||
| // https://github.com/actions/cache/pull/1217 | ||||
|  | ||||
| export async function run(earlyExit?: boolean) { | ||||
|   try { | ||||
|     const cacheInput = core.getBooleanInput('cache'); | ||||
|   | ||||
| @@ -6,8 +6,11 @@ import * as httpm from '@actions/http-client'; | ||||
| import * as sys from './system'; | ||||
| import fs from 'fs'; | ||||
| import os from 'os'; | ||||
| import {StableReleaseAlias} from './utils'; | ||||
| import {StableReleaseAlias, isSelfHosted} from './utils'; | ||||
| import {Architecture} from './types'; | ||||
|  | ||||
| export const GOTOOLCHAIN_ENV_VAR = 'GOTOOLCHAIN'; | ||||
| export const GOTOOLCHAIN_LOCAL_VAL = 'local'; | ||||
| const MANIFEST_REPO_OWNER = 'actions'; | ||||
| const MANIFEST_REPO_NAME = 'go-versions'; | ||||
| const MANIFEST_REPO_BRANCH = 'main'; | ||||
| @@ -39,7 +42,7 @@ export async function getGo( | ||||
|   versionSpec: string, | ||||
|   checkLatest: boolean, | ||||
|   auth: string | undefined, | ||||
|   arch = os.arch() | ||||
|   arch: Architecture = os.arch() as Architecture | ||||
| ) { | ||||
|   let manifest: tc.IToolRelease[] | undefined; | ||||
|   const osPlat: string = os.platform(); | ||||
| @@ -151,7 +154,7 @@ async function resolveVersionFromManifest( | ||||
|   versionSpec: string, | ||||
|   stable: boolean, | ||||
|   auth: string | undefined, | ||||
|   arch: string, | ||||
|   arch: Architecture, | ||||
|   manifest: tc.IToolRelease[] | undefined | ||||
| ): Promise<string | undefined> { | ||||
|   try { | ||||
| @@ -180,11 +183,7 @@ async function cacheWindowsDir( | ||||
|   if (os.platform() !== 'win32') return false; | ||||
|  | ||||
|   // make sure the action runs in the hosted environment | ||||
|   if ( | ||||
|     process.env['RUNNER_ENVIRONMENT'] !== 'github-hosted' && | ||||
|     process.env['AGENT_ISSELFHOSTED'] === '1' | ||||
|   ) | ||||
|     return false; | ||||
|   if (isSelfHosted()) return false; | ||||
|  | ||||
|   const defaultToolCacheRoot = process.env['RUNNER_TOOL_CACHE']; | ||||
|   if (!defaultToolCacheRoot) return false; | ||||
| @@ -279,11 +278,46 @@ export async function extractGoArchive(archivePath: string): Promise<string> { | ||||
|   return extPath; | ||||
| } | ||||
|  | ||||
| function isIToolRelease(obj: any): obj is tc.IToolRelease { | ||||
|   return ( | ||||
|     typeof obj === 'object' && | ||||
|     obj !== null && | ||||
|     typeof obj.version === 'string' && | ||||
|     typeof obj.stable === 'boolean' && | ||||
|     Array.isArray(obj.files) && | ||||
|     obj.files.every( | ||||
|       (file: any) => | ||||
|         typeof file.filename === 'string' && | ||||
|         typeof file.platform === 'string' && | ||||
|         typeof file.arch === 'string' && | ||||
|         typeof file.download_url === 'string' | ||||
|     ) | ||||
|   ); | ||||
| } | ||||
|  | ||||
| export async function getManifest( | ||||
|   auth: string | undefined | ||||
| ): Promise<tc.IToolRelease[]> { | ||||
|   try { | ||||
|     return await getManifestFromRepo(auth); | ||||
|     const manifest = await getManifestFromRepo(auth); | ||||
|     if ( | ||||
|       Array.isArray(manifest) && | ||||
|       manifest.length && | ||||
|       manifest.every(isIToolRelease) | ||||
|     ) { | ||||
|       return manifest; | ||||
|     } | ||||
|  | ||||
|     let errorMessage = | ||||
|       'An unexpected error occurred while fetching the manifest.'; | ||||
|     if ( | ||||
|       typeof manifest === 'object' && | ||||
|       manifest !== null && | ||||
|       'message' in manifest | ||||
|     ) { | ||||
|       errorMessage = (manifest as {message: string}).message; | ||||
|     } | ||||
|     throw new Error(errorMessage); | ||||
|   } catch (err) { | ||||
|     core.debug('Fetching the manifest via the API failed.'); | ||||
|     if (err instanceof Error) { | ||||
| @@ -322,7 +356,7 @@ export async function getInfoFromManifest( | ||||
|   versionSpec: string, | ||||
|   stable: boolean, | ||||
|   auth: string | undefined, | ||||
|   arch = os.arch(), | ||||
|   arch: Architecture = os.arch() as Architecture, | ||||
|   manifest?: tc.IToolRelease[] | undefined | ||||
| ): Promise<IGoVersionInfo | null> { | ||||
|   let info: IGoVersionInfo | null = null; | ||||
| @@ -348,14 +382,14 @@ export async function getInfoFromManifest( | ||||
|  | ||||
| async function getInfoFromDist( | ||||
|   versionSpec: string, | ||||
|   arch: string | ||||
|   arch: Architecture | ||||
| ): Promise<IGoVersionInfo | null> { | ||||
|   const version: IGoVersion | undefined = await findMatch(versionSpec, arch); | ||||
|   if (!version) { | ||||
|     return null; | ||||
|   } | ||||
|  | ||||
|   const downloadUrl = `https://storage.googleapis.com/golang/${version.files[0].filename}`; | ||||
|   const downloadUrl = `https://go.dev/dl/${version.files[0].filename}`; | ||||
|  | ||||
|   return <IGoVersionInfo>{ | ||||
|     type: 'dist', | ||||
| @@ -367,7 +401,7 @@ async function getInfoFromDist( | ||||
|  | ||||
| export async function findMatch( | ||||
|   versionSpec: string, | ||||
|   arch = os.arch() | ||||
|   arch: Architecture = os.arch() as Architecture | ||||
| ): Promise<IGoVersion | undefined> { | ||||
|   const archFilter = sys.getArch(arch); | ||||
|   const platFilter = sys.getPlatform(); | ||||
| @@ -464,14 +498,33 @@ export function parseGoVersionFile(versionFilePath: string): string { | ||||
|     path.basename(versionFilePath) === 'go.mod' || | ||||
|     path.basename(versionFilePath) === 'go.work' | ||||
|   ) { | ||||
|     const match = contents.match(/^go (\d+(\.\d+)*)/m); | ||||
|     return match ? match[1] : ''; | ||||
|     // for backwards compatibility: use version from go directive if | ||||
|     // 'GOTOOLCHAIN' has been explicitly set | ||||
|     if (process.env[GOTOOLCHAIN_ENV_VAR] !== GOTOOLCHAIN_LOCAL_VAL) { | ||||
|       // toolchain directive: https://go.dev/ref/mod#go-mod-file-toolchain | ||||
|       const matchToolchain = contents.match( | ||||
|         /^toolchain go(1\.\d+(?:\.\d+|rc\d+)?)/m | ||||
|       ); | ||||
|       if (matchToolchain) { | ||||
|         return matchToolchain[1]; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     // go directive: https://go.dev/ref/mod#go-mod-file-go | ||||
|     const matchGo = contents.match(/^go (\d+(\.\d+)*)/m); | ||||
|     return matchGo ? matchGo[1] : ''; | ||||
|   } else if (path.basename(versionFilePath) === '.tool-versions') { | ||||
|     const match = contents.match(/^golang\s+([^\n#]+)/m); | ||||
|     return match ? match[1].trim() : ''; | ||||
|   } | ||||
|  | ||||
|   return contents.trim(); | ||||
| } | ||||
|  | ||||
| async function resolveStableVersionDist(versionSpec: string, arch: string) { | ||||
| async function resolveStableVersionDist( | ||||
|   versionSpec: string, | ||||
|   arch: Architecture | ||||
| ) { | ||||
|   const archFilter = sys.getArch(arch); | ||||
|   const platFilter = sys.getPlatform(); | ||||
|   const dlUrl = 'https://golang.org/dl/?mode=json&include=all'; | ||||
|   | ||||
							
								
								
									
										23
									
								
								src/main.ts
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								src/main.ts
									
									
									
									
									
								
							| @@ -8,6 +8,7 @@ import {isCacheFeatureAvailable} from './cache-utils'; | ||||
| import cp from 'child_process'; | ||||
| import fs from 'fs'; | ||||
| import os from 'os'; | ||||
| import {Architecture} from './types'; | ||||
|  | ||||
| export async function run() { | ||||
|   try { | ||||
| @@ -16,14 +17,15 @@ export async function run() { | ||||
|     // If not supplied then problem matchers will still be setup.  Useful for self-hosted. | ||||
|     // | ||||
|     const versionSpec = resolveVersionInput(); | ||||
|     setGoToolchain(); | ||||
|  | ||||
|     const cache = core.getBooleanInput('cache'); | ||||
|     core.info(`Setup go version spec ${versionSpec}`); | ||||
|  | ||||
|     let arch = core.getInput('architecture'); | ||||
|     let arch = core.getInput('architecture') as Architecture; | ||||
|  | ||||
|     if (!arch) { | ||||
|       arch = os.arch(); | ||||
|       arch = os.arch() as Architecture; | ||||
|     } | ||||
|  | ||||
|     if (versionSpec) { | ||||
| @@ -160,3 +162,20 @@ function resolveVersionInput(): string { | ||||
|  | ||||
|   return version; | ||||
| } | ||||
|  | ||||
| function setGoToolchain() { | ||||
|   // docs: https://go.dev/doc/toolchain | ||||
|   // "local indicates the bundled Go toolchain (the one that shipped with the go command being run)" | ||||
|   // this is so any 'go' command is run with the selected Go version | ||||
|   // and doesn't trigger a toolchain download and run commands with that | ||||
|   // see e.g. issue #424 | ||||
|   // and a similar discussion: https://github.com/docker-library/golang/issues/472. | ||||
|   // Set the value in process env so any `go` commands run as child-process | ||||
|   // don't cause toolchain downloads | ||||
|   process.env[installer.GOTOOLCHAIN_ENV_VAR] = installer.GOTOOLCHAIN_LOCAL_VAL; | ||||
|   // and in the runner env so e.g. a user running `go mod tidy` won't cause it | ||||
|   core.exportVariable( | ||||
|     installer.GOTOOLCHAIN_ENV_VAR, | ||||
|     installer.GOTOOLCHAIN_LOCAL_VAL | ||||
|   ); | ||||
| } | ||||
|   | ||||
| @@ -1,4 +1,5 @@ | ||||
| import os from 'os'; | ||||
| import {Architecture} from './types'; | ||||
|  | ||||
| export function getPlatform(): string { | ||||
|   // darwin and linux match already | ||||
| @@ -15,7 +16,7 @@ export function getPlatform(): string { | ||||
|   return plat; | ||||
| } | ||||
|  | ||||
| export function getArch(arch: string): string { | ||||
| export function getArch(arch: Architecture): string { | ||||
|   // 'arm', 'arm64', 'ia32', 'mips', 'mipsel', 'ppc', 'ppc64', 's390', 's390x', 'x32', and 'x64'. | ||||
|  | ||||
|   // wants amd64, 386, arm64, armv61, ppc641e, s390x | ||||
|   | ||||
							
								
								
									
										2
									
								
								src/types.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								src/types.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| // match what @actions/tool-cache expects | ||||
| export type Architecture = string; | ||||
							
								
								
									
										10
									
								
								src/utils.ts
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								src/utils.ts
									
									
									
									
									
								
							| @@ -2,3 +2,13 @@ export enum StableReleaseAlias { | ||||
|   Stable = 'stable', | ||||
|   OldStable = 'oldstable' | ||||
| } | ||||
|  | ||||
| export const isSelfHosted = (): boolean => | ||||
|   process.env['RUNNER_ENVIRONMENT'] !== 'github-hosted' && | ||||
|   (process.env['AGENT_ISSELFHOSTED'] === '1' || | ||||
|     process.env['AGENT_ISSELFHOSTED'] === undefined); | ||||
| /* the above is simplified from: | ||||
|     process.env['RUNNER_ENVIRONMENT'] !== 'github-hosted' && process.env['AGENT_ISSELFHOSTED'] === '1' | ||||
|     || | ||||
|     process.env['RUNNER_ENVIRONMENT'] !== 'github-hosted' && process.env['AGENT_ISSELFHOSTED'] === undefined | ||||
| */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user