mirror of
				https://github.com/actions/setup-go.git
				synced 2025-10-30 23:10:30 +00:00 
			
		
		
		
	Compare commits
	
		
			42 Commits
		
	
	
		
			restore-v4
			...
			v5.5.0
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 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 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 0aaccfd150 | ||
|   | c4c1141886 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 5a083d0e9a | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 1d82324e53 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | f111f3307d | ||
|   | 3d10edb4c2 | ||
|   | 43e13893cf | ||
|   | f81f022188 | ||
|   | 3041bf56c9 | ||
|   | 41dfa10bad | ||
|   | 941977282c | ||
|   | d60b41a563 | ||
|   | e09f57f6a9 | ||
|   | df1a11710e | ||
|   | 49582f6476 | ||
|   | b26d40294f | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 0a12ed9d6a | ||
|   | 4ab57d7ea2 | ||
|   | cdcb360436 | ||
|   | 99176a8f9a | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | be1aa1186e | ||
|   | 6c1fd22b67 | ||
|   | 0c52d547c9 | ||
|   | bfd2fb341f | ||
|   | 3d65fa57fc | ||
|   | 8a505c9cf2 | ||
|   | 883490dfd0 | ||
|   | d45ebba0ce | ||
|   | 317c6617fa | ||
|   | f90673ad64 | ||
|   | 8018234347 | ||
|   | d085b4fe57 | ||
|   | 48ac8fd236 | ||
|   | 89a192af9d | ||
|   | aabcd82874 | 
							
								
								
									
										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 --> | <!--- Before opening up a new bug report, please make sure to check for similar existing issues --> | ||||||
|  |  | ||||||
| **Description:** | **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 | labels: feature request, needs triage | ||||||
| assignees: '' | 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 --> | <!--- Before opening up a new feature request, please make sure to check for similar existing issues and pull requests --> | ||||||
|  |  | ||||||
| **Description:** | **Description:** | ||||||
|   | |||||||
							
								
								
									
										22
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | |||||||
|  | # To get started with Dependabot version updates, you'll need to specify which | ||||||
|  | # package ecosystems to update and where the package manifests are located. | ||||||
|  | # Please see the documentation for all configuration options: | ||||||
|  | # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file | ||||||
|  |  | ||||||
|  | version: 2 | ||||||
|  | updates: | ||||||
|  |   # Enable version updates for npm | ||||||
|  |   - package-ecosystem: 'npm' | ||||||
|  |     # Look for `package.json` and `lock` files in the `root` directory | ||||||
|  |     directory: '/' | ||||||
|  |     # Check the npm registry for updates every day (weekdays) | ||||||
|  |     schedule: | ||||||
|  |       interval: 'weekly' | ||||||
|  |  | ||||||
|  |   # Enable version updates for GitHub Actions | ||||||
|  |   - package-ecosystem: 'github-actions' | ||||||
|  |     # Workflow files stored in the default location of `.github/workflows` | ||||||
|  |     # You don't need to specify `/.github/workflows` for `directory`. You can use `directory: "/"`. | ||||||
|  |     directory: '/' | ||||||
|  |     schedule: | ||||||
|  |       interval: 'weekly' | ||||||
							
								
								
									
										2
									
								
								.github/workflows/basic-validation.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/basic-validation.yml
									
									
									
									
										vendored
									
									
								
							| @@ -14,3 +14,5 @@ jobs: | |||||||
|   call-basic-validation: |   call-basic-validation: | ||||||
|     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: | ||||||
|  |       node-version: '20' | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.github/workflows/check-dist.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/check-dist.yml
									
									
									
									
										vendored
									
									
								
							| @@ -15,3 +15,5 @@ jobs: | |||||||
|   call-check-dist: |   call-check-dist: | ||||||
|     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: | ||||||
|  |       node-version: '20' | ||||||
|   | |||||||
| @@ -22,7 +22,7 @@ jobs: | |||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|       - name: Update the ${{ env.TAG_NAME }} tag |       - name: Update the ${{ env.TAG_NAME }} tag | ||||||
|         uses: actions/publish-action@v0.2.2 |         uses: actions/publish-action@v0.3.0 | ||||||
|         with: |         with: | ||||||
|           source-tag: ${{ env.TAG_NAME }} |           source-tag: ${{ env.TAG_NAME }} | ||||||
|           slack-webhook: ${{ secrets.SLACK_WEBHOOK }} |           slack-webhook: ${{ secrets.SLACK_WEBHOOK }} | ||||||
|   | |||||||
							
								
								
									
										78
									
								
								.github/workflows/versions.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										78
									
								
								.github/workflows/versions.yml
									
									
									
									
										vendored
									
									
								
							| @@ -18,9 +18,9 @@ jobs: | |||||||
|     strategy: |     strategy: | ||||||
|       fail-fast: false |       fail-fast: false | ||||||
|       matrix: |       matrix: | ||||||
|         os: [ubuntu-latest, windows-latest, macos-latest] |         os: [ubuntu-latest, windows-latest, macos-latest, macos-13] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v3 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup Go Stable |       - name: Setup Go Stable | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
| @@ -33,9 +33,9 @@ jobs: | |||||||
|     strategy: |     strategy: | ||||||
|       fail-fast: false |       fail-fast: false | ||||||
|       matrix: |       matrix: | ||||||
|         os: [ubuntu-latest, windows-latest, macos-latest] |         os: [ubuntu-latest, windows-latest, macos-latest, macos-13] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v3 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup Go oldStable |       - name: Setup Go oldStable | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
| @@ -48,14 +48,16 @@ jobs: | |||||||
|     strategy: |     strategy: | ||||||
|       fail-fast: false |       fail-fast: false | ||||||
|       matrix: |       matrix: | ||||||
|         os: [ubuntu-latest, windows-latest, macos-latest] |         os: [ubuntu-latest, windows-latest, macos-latest, macos-13] | ||||||
|         version: [stable, oldstable] |         version: [stable, oldstable] | ||||||
|         architecture: [x64, x32] |         architecture: [x64, x32] | ||||||
|         exclude: |         exclude: | ||||||
|           - os: macos-latest |           - os: macos-latest | ||||||
|             architecture: x32 |             architecture: x32 | ||||||
|  |           - os: macos-13 | ||||||
|  |             architecture: x32 | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v3 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup Go ${{ matrix.version }} ${{ matrix.architecture }} |       - name: Setup Go ${{ matrix.version }} ${{ matrix.architecture }} | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
| @@ -70,11 +72,17 @@ jobs: | |||||||
|     strategy: |     strategy: | ||||||
|       fail-fast: false |       fail-fast: false | ||||||
|       matrix: |       matrix: | ||||||
|         os: [macos-latest, windows-latest, ubuntu-latest] |         os: [macos-latest, windows-latest, ubuntu-latest, macos-13] | ||||||
|         go: [1.17, 1.18, 1.19] |         go: [1.21.13, 1.22.8, 1.23.2] | ||||||
|  |         include: | ||||||
|  |           - os: windows-latest | ||||||
|  |             go: 1.20.14 | ||||||
|  |         exclude: | ||||||
|  |           - os: windows-latest | ||||||
|  |             go: 1.23.2 | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v3 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: setup-go ${{ matrix.go }} |       - name: setup-go ${{ matrix.go }} | ||||||
|         uses: ./ |         uses: ./ | ||||||
| @@ -90,10 +98,10 @@ jobs: | |||||||
|     strategy: |     strategy: | ||||||
|       fail-fast: false |       fail-fast: false | ||||||
|       matrix: |       matrix: | ||||||
|         os: [ubuntu-latest, windows-latest, macos-latest] |         os: [ubuntu-latest, windows-latest, macos-latest, macos-13] | ||||||
|         go-version: [1.16, 1.17] |         go-version: ['1.20', '1.21', '1.22', '1.23'] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v3 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup Go and check latest |       - name: Setup Go and check latest | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
| @@ -107,15 +115,15 @@ jobs: | |||||||
|     strategy: |     strategy: | ||||||
|       fail-fast: false |       fail-fast: false | ||||||
|       matrix: |       matrix: | ||||||
|         os: [ubuntu-latest, windows-latest, macos-13] |         os: [ubuntu-latest, windows-latest, macos-latest, macos-13] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v3 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup Go and check latest |       - name: Setup Go and check latest | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           go-version-file: __tests__/data/go.mod |           go-version-file: __tests__/data/go.mod | ||||||
|       - name: verify go |       - name: verify go | ||||||
|         run: __tests__/verify-go.sh 1.14 |         run: __tests__/verify-go.sh 1.20.14 | ||||||
|         shell: bash |         shell: bash | ||||||
|  |  | ||||||
|   go-version-file-with-gowork: |   go-version-file-with-gowork: | ||||||
| @@ -123,28 +131,27 @@ jobs: | |||||||
|     strategy: |     strategy: | ||||||
|       fail-fast: false |       fail-fast: false | ||||||
|       matrix: |       matrix: | ||||||
|         os: [ubuntu-latest, windows-latest, macos-latest] |         os: [ubuntu-latest, windows-latest, macos-latest, macos-13] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v3 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup Go and check latest |       - name: Setup Go and check latest | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           go-version-file: __tests__/data/go.work |           go-version-file: __tests__/data/go.work | ||||||
|       - name: verify go |       - name: verify go | ||||||
|         run: __tests__/verify-go.sh 1.19 |         run: __tests__/verify-go.sh 1.21 | ||||||
|         shell: bash |         shell: bash | ||||||
|  |  | ||||||
|   setup-versions-from-manifest: |   setup-versions-from-manifest: | ||||||
|     name: Setup ${{ matrix.go }} ${{ matrix.os }} |  | ||||||
|     runs-on: ${{ matrix.os }} |     runs-on: ${{ matrix.os }} | ||||||
|     strategy: |     strategy: | ||||||
|       fail-fast: false |       fail-fast: false | ||||||
|       matrix: |       matrix: | ||||||
|         os: [macos-13, windows-latest, ubuntu-latest] |         os: [macos-latest, windows-latest, ubuntu-latest, macos-13] | ||||||
|         go: [1.12.16, 1.13.11, 1.14.3] |         go: [1.20.14, 1.21.10, 1.22.8, 1.23.2] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v3 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: setup-go ${{ matrix.go }} |       - name: setup-go ${{ matrix.go }} | ||||||
|         uses: ./ |         uses: ./ | ||||||
| @@ -156,19 +163,15 @@ jobs: | |||||||
|         shell: bash |         shell: bash | ||||||
|  |  | ||||||
|   setup-versions-from-dist: |   setup-versions-from-dist: | ||||||
|     name: Setup ${{ matrix.go }} ${{ matrix.os }} |  | ||||||
|     runs-on: ${{ matrix.os }} |     runs-on: ${{ matrix.os }} | ||||||
|     strategy: |     strategy: | ||||||
|       fail-fast: false |       fail-fast: false | ||||||
|       matrix: |       matrix: | ||||||
|         os: [macos-13, windows-latest, ubuntu-latest] |         os: [windows-latest, ubuntu-latest, macos-13] | ||||||
|         go: [1.11.12, 1.8.6] |         go: [1.11.12] | ||||||
|         exclude: |  | ||||||
|           - os: macos-13 |  | ||||||
|             go: 1.8.6 |  | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v3 |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: setup-go ${{ matrix.go }} |       - name: setup-go ${{ matrix.go }} | ||||||
|         uses: ./ |         uses: ./ | ||||||
| @@ -184,14 +187,23 @@ jobs: | |||||||
|     strategy: |     strategy: | ||||||
|       fail-fast: false |       fail-fast: false | ||||||
|       matrix: |       matrix: | ||||||
|         os: [ubuntu-latest, windows-latest, macos-latest] |         os: [ubuntu-latest, windows-latest, macos-latest, macos-13] | ||||||
|         go-version: [1.16, 1.17] |         go-version: [1.20.14, 1.21, 1.22, 1.23] | ||||||
|  |         include: | ||||||
|  |           - os: macos-latest | ||||||
|  |             architecture: arm64 | ||||||
|  |           - os: ubuntu-latest | ||||||
|  |             architecture: x64 | ||||||
|  |           - os: windows-latest | ||||||
|  |             architecture: x64 | ||||||
|  |           - os: macos-13 | ||||||
|  |             architecture: x64 | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v3 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup Go and check latest |       - name: Setup Go and check latest | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           go-version: ${{ matrix.go-version }} |           go-version: ${{ matrix.go-version }} | ||||||
|           architecture: x64 |           architecture: ${{ matrix.architecture }} | ||||||
|       - name: Verify Go |       - name: Verify Go | ||||||
|         run: go version |         run: go version | ||||||
|   | |||||||
							
								
								
									
										28
									
								
								.github/workflows/windows-validation.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										28
									
								
								.github/workflows/windows-validation.yml
									
									
									
									
										vendored
									
									
								
							| @@ -19,7 +19,7 @@ jobs: | |||||||
|         cache: [false, true] |         cache: [false, true] | ||||||
|         go: [1.20.1] |         go: [1.20.1] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v3 |       - uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: 'Setup ${{ matrix.cache }}, cache: ${{ matrix.go }}' |       - name: 'Setup ${{ matrix.cache }}, cache: ${{ matrix.go }}' | ||||||
|         uses: ./ |         uses: ./ | ||||||
| @@ -88,7 +88,7 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         cache: [false, true] |         cache: [false, true] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v3 |       - uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|       - name: 'Setup default go, cache: ${{ matrix.cache }}' |       - name: 'Setup default go, cache: ${{ matrix.cache }}' | ||||||
|         uses: ./ |         uses: ./ | ||||||
| @@ -105,10 +105,32 @@ jobs: | |||||||
|           fi |           fi | ||||||
|         shell: bash |         shell: bash | ||||||
|  |  | ||||||
|       - name: 'Drive D: should not have Go installation, cache: ${{ matrix.cache}}' |       - name: 'Drive D: should not have Go installation, cache: ${{ matrix.cache }}' | ||||||
|         run: | |         run: | | ||||||
|           if [ -e 'D:\hostedtoolcache\windows\go\${{ needs.find-default-go.outputs.version }}\x64' ];then |           if [ -e 'D:\hostedtoolcache\windows\go\${{ needs.find-default-go.outputs.version }}\x64' ];then | ||||||
|             echo 'D:\hostedtoolcache\windows\go\${{ needs.find-default-go.outputs.version }}\x64 should not exist for hosted version of go'; |             echo 'D:\hostedtoolcache\windows\go\${{ needs.find-default-go.outputs.version }}\x64 should not exist for hosted version of go'; | ||||||
|             exit 1 |             exit 1 | ||||||
|           fi |           fi | ||||||
|         shell: bash |         shell: bash | ||||||
|  |  | ||||||
|  |   hostedtoolcache: | ||||||
|  |     name: 'Validate if hostedtoolcache works as expected' | ||||||
|  |     runs-on: windows-latest | ||||||
|  |     strategy: | ||||||
|  |       matrix: | ||||||
|  |         cache: [false] | ||||||
|  |         go: [1.20.1] | ||||||
|  |     steps: | ||||||
|  |       - uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|  |       - name: 'Setup ${{ matrix.go }}, cache: ${{ matrix.cache }}' | ||||||
|  |         uses: ./ | ||||||
|  |         with: | ||||||
|  |           go-version: ${{ matrix.go }} | ||||||
|  |           cache: ${{ matrix.cache }} | ||||||
|  |  | ||||||
|  |       - name: 'Setup ${{ matrix.go }}, cache: ${{ matrix.cache }} (from hostedtoolcache)' | ||||||
|  |         uses: ./ | ||||||
|  |         with: | ||||||
|  |           go-version: ${{ matrix.go }} | ||||||
|  |           cache: ${{ matrix.cache }} | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: "@actions/glob" | name: "@actions/glob" | ||||||
| version: 0.2.1 | version: 0.5.0 | ||||||
| type: npm | type: npm | ||||||
| summary: Actions glob lib | summary: Actions glob lib | ||||||
| homepage: https://github.com/actions/toolkit/tree/main/packages/glob | homepage: https://github.com/actions/toolkit/tree/main/packages/glob | ||||||
							
								
								
									
										32
									
								
								.licenses/npm/@actions/http-client-1.0.11.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										32
									
								
								.licenses/npm/@actions/http-client-1.0.11.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,32 +0,0 @@ | |||||||
| --- |  | ||||||
| name: "@actions/http-client" |  | ||||||
| version: 1.0.11 |  | ||||||
| type: npm |  | ||||||
| summary: Actions Http Client |  | ||||||
| homepage: https://github.com/actions/http-client#readme |  | ||||||
| license: mit |  | ||||||
| licenses: |  | ||||||
| - sources: LICENSE |  | ||||||
|   text: | |  | ||||||
|     Actions Http Client for Node.js |  | ||||||
| 
 |  | ||||||
|     Copyright (c) GitHub, Inc. |  | ||||||
| 
 |  | ||||||
|     All rights reserved. |  | ||||||
| 
 |  | ||||||
|     MIT License |  | ||||||
| 
 |  | ||||||
|     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,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: "@actions/http-client" | name: "@actions/http-client" | ||||||
| version: 2.2.3 | version: 2.2.1 | ||||||
| type: npm | type: npm | ||||||
| summary: Actions Http Client | summary: Actions Http Client | ||||||
| homepage: https://github.com/actions/toolkit/tree/main/packages/http-client | homepage: https://github.com/actions/toolkit/tree/main/packages/http-client | ||||||
							
								
								
									
										2
									
								
								.licenses/npm/@actions/io.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@actions/io.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: "@actions/io" | name: "@actions/io" | ||||||
| version: 1.1.2 | version: 1.1.3 | ||||||
| type: npm | type: npm | ||||||
| summary: Actions io lib | summary: Actions io lib | ||||||
| homepage: https://github.com/actions/toolkit/tree/main/packages/io | homepage: https://github.com/actions/toolkit/tree/main/packages/io | ||||||
|   | |||||||
							
								
								
									
										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" | name: "@actions/tool-cache" | ||||||
| version: 1.7.2 | version: 2.0.1 | ||||||
| type: npm | type: npm | ||||||
| summary: Actions tool-cache lib | summary: Actions tool-cache lib | ||||||
| homepage: https://github.com/actions/toolkit/tree/main/packages/tool-cache | homepage: https://github.com/actions/toolkit/tree/main/packages/tool-cache | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.licenses/npm/@azure/core-auth.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@azure/core-auth.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: "@azure/core-auth" | name: "@azure/core-auth" | ||||||
| version: 1.3.2 | version: 1.5.0 | ||||||
| type: npm | type: npm | ||||||
| summary: Provides low-level interfaces and helper methods for authentication in Azure | summary: Provides low-level interfaces and helper methods for authentication in Azure | ||||||
|   SDK |   SDK | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.licenses/npm/@azure/core-http.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@azure/core-http.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: "@azure/core-http" | name: "@azure/core-http" | ||||||
| version: 3.0.1 | version: 3.0.4 | ||||||
| type: npm | type: npm | ||||||
| summary: Isomorphic client Runtime for Typescript/node.js/browser javascript client | summary: Isomorphic client Runtime for Typescript/node.js/browser javascript client | ||||||
|   libraries generated using AutoRest |   libraries generated using AutoRest | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.licenses/npm/@azure/core-lro.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@azure/core-lro.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: "@azure/core-lro" | name: "@azure/core-lro" | ||||||
| version: 2.2.4 | version: 2.5.4 | ||||||
| type: npm | type: npm | ||||||
| summary: Isomorphic client library for supporting long-running operations in node.js | summary: Isomorphic client library for supporting long-running operations in node.js | ||||||
|   and browser. |   and browser. | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.licenses/npm/@azure/core-paging.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@azure/core-paging.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: "@azure/core-paging" | name: "@azure/core-paging" | ||||||
| version: 1.2.1 | version: 1.5.0 | ||||||
| type: npm | type: npm | ||||||
| summary: Core types for paging async iterable iterators | summary: Core types for paging async iterable iterators | ||||||
| homepage: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/core-paging/README.md | homepage: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/core-paging/README.md | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.licenses/npm/@azure/core-util.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@azure/core-util.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: "@azure/core-util" | name: "@azure/core-util" | ||||||
| version: 1.3.1 | version: 1.6.1 | ||||||
| type: npm | type: npm | ||||||
| summary: Core library for shared utility methods | summary: Core library for shared utility methods | ||||||
| homepage: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/core/core-util/ | homepage: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/core/core-util/ | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.licenses/npm/@azure/logger.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@azure/logger.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: "@azure/logger" | name: "@azure/logger" | ||||||
| version: 1.0.3 | version: 1.0.4 | ||||||
| type: npm | type: npm | ||||||
| summary: Microsoft Azure SDK for JavaScript - Logger | summary: Microsoft Azure SDK for JavaScript - Logger | ||||||
| homepage: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/logger/README.md | homepage: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/logger/README.md | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.licenses/npm/@azure/storage-blob.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@azure/storage-blob.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: "@azure/storage-blob" | name: "@azure/storage-blob" | ||||||
| version: 12.14.0 | version: 12.17.0 | ||||||
| type: npm | type: npm | ||||||
| summary: Microsoft Azure Storage SDK for JavaScript - Blob | summary: Microsoft Azure Storage SDK for JavaScript - Blob | ||||||
| homepage: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/storage/storage-blob/ | homepage: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/storage/storage-blob/ | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.licenses/npm/@fastify/busboy.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@fastify/busboy.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: "@fastify/busboy" | name: "@fastify/busboy" | ||||||
| version: 2.1.1 | version: 2.1.0 | ||||||
| type: npm | type: npm | ||||||
| summary: A streaming parser for HTML form data for node.js | summary: A streaming parser for HTML form data for node.js | ||||||
| homepage:  | homepage:  | ||||||
|   | |||||||
							
								
								
									
										12
									
								
								.licenses/npm/@opentelemetry/api.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										12
									
								
								.licenses/npm/@opentelemetry/api.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,9 +1,9 @@ | |||||||
| --- | --- | ||||||
| name: "@opentelemetry/api" | name: "@opentelemetry/api" | ||||||
| version: 1.0.4 | version: 1.7.0 | ||||||
| type: npm | type: npm | ||||||
| summary: Public API for OpenTelemetry | summary: Public API for OpenTelemetry | ||||||
| homepage: https://github.com/open-telemetry/opentelemetry-js-api#readme | homepage: https://github.com/open-telemetry/opentelemetry-js/tree/main/api | ||||||
| license: apache-2.0 | license: apache-2.0 | ||||||
| licenses: | licenses: | ||||||
| - sources: LICENSE | - sources: LICENSE | ||||||
| @@ -216,10 +216,8 @@ licenses: | |||||||
|     [opentelemetry-js]: https://github.com/open-telemetry/opentelemetry-js |     [opentelemetry-js]: https://github.com/open-telemetry/opentelemetry-js | ||||||
| 
 | 
 | ||||||
|     [discussions-url]: https://github.com/open-telemetry/opentelemetry-js/discussions |     [discussions-url]: https://github.com/open-telemetry/opentelemetry-js/discussions | ||||||
|     [license-url]: https://github.com/open-telemetry/opentelemetry-js-api/blob/main/LICENSE |     [license-url]: https://github.com/open-telemetry/opentelemetry-js/blob/main/api/LICENSE | ||||||
|     [license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat |     [license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat | ||||||
|     [npm-url]: https://www.npmjs.com/package/@opentelemetry/api |     [docs-tracing]: https://github.com/open-telemetry/opentelemetry-js/blob/main/doc/tracing.md | ||||||
|     [npm-img]: https://badge.fury.io/js/%40opentelemetry%2Fapi.svg |     [docs-sdk-registration]: https://github.com/open-telemetry/opentelemetry-js/blob/main/doc/sdk-registration.md | ||||||
|     [docs-tracing]: https://github.com/open-telemetry/opentelemetry-js-api/blob/main/docs/tracing.md |  | ||||||
|     [docs-sdk-registration]: https://github.com/open-telemetry/opentelemetry-js-api/blob/main/docs/sdk-registration.md |  | ||||||
| notices: [] | notices: [] | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: "@protobuf-ts/plugin-framework" | name: "@protobuf-ts/plugin-framework" | ||||||
| version: 2.9.6 | version: 2.9.5 | ||||||
| type: npm | type: npm | ||||||
| summary: framework to create protoc plugins | summary: framework to create protoc plugins | ||||||
| homepage: https://github.com/timostamm/protobuf-ts | homepage: https://github.com/timostamm/protobuf-ts | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.licenses/npm/@protobuf-ts/plugin.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@protobuf-ts/plugin.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: "@protobuf-ts/plugin" | name: "@protobuf-ts/plugin" | ||||||
| version: 2.9.6 | version: 2.9.5 | ||||||
| type: npm | type: npm | ||||||
| summary: The protocol buffer compiler plugin "protobuf-ts" generates TypeScript, gRPC-web, | summary: The protocol buffer compiler plugin "protobuf-ts" generates TypeScript, gRPC-web, | ||||||
|   Twirp, and more. |   Twirp, and more. | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.licenses/npm/@protobuf-ts/protoc.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@protobuf-ts/protoc.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: "@protobuf-ts/protoc" | name: "@protobuf-ts/protoc" | ||||||
| version: 2.9.6 | version: 2.9.5 | ||||||
| type: npm | type: npm | ||||||
| summary: Installs the protocol buffer compiler "protoc" for you. | summary: Installs the protocol buffer compiler "protoc" for you. | ||||||
| homepage: https://github.com/timostamm/protobuf-ts | homepage: https://github.com/timostamm/protobuf-ts | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.licenses/npm/@protobuf-ts/runtime-rpc.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@protobuf-ts/runtime-rpc.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: "@protobuf-ts/runtime-rpc" | name: "@protobuf-ts/runtime-rpc" | ||||||
| version: 2.9.6 | version: 2.9.5 | ||||||
| type: npm | type: npm | ||||||
| summary: Runtime library for RPC clients generated by the protoc plugin "protobuf-ts" | summary: Runtime library for RPC clients generated by the protoc plugin "protobuf-ts" | ||||||
| homepage: https://github.com/timostamm/protobuf-ts | homepage: https://github.com/timostamm/protobuf-ts | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.licenses/npm/@protobuf-ts/runtime.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@protobuf-ts/runtime.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: "@protobuf-ts/runtime" | name: "@protobuf-ts/runtime" | ||||||
| version: 2.9.6 | version: 2.9.5 | ||||||
| type: npm | type: npm | ||||||
| summary: Runtime library for code generated by the protoc plugin "protobuf-ts" | summary: Runtime library for code generated by the protoc plugin "protobuf-ts" | ||||||
| homepage: https://github.com/timostamm/protobuf-ts | homepage: https://github.com/timostamm/protobuf-ts | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.licenses/npm/@types/node-fetch.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@types/node-fetch.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: "@types/node-fetch" | name: "@types/node-fetch" | ||||||
| version: 2.6.3 | version: 2.6.9 | ||||||
| type: npm | type: npm | ||||||
| summary: TypeScript definitions for node-fetch | summary: TypeScript definitions for node-fetch | ||||||
| homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node-fetch | homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node-fetch | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								.licenses/npm/@types/node.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								.licenses/npm/@types/node.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,8 +1,8 @@ | |||||||
| --- | --- | ||||||
| name: "@types/node" | name: "@types/node" | ||||||
| version: 16.11.26 | version: 20.11.28 | ||||||
| type: npm | type: npm | ||||||
| summary: TypeScript definitions for Node.js | 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 | ||||||
| license: mit | license: mit | ||||||
| licenses: | licenses: | ||||||
|   | |||||||
							
								
								
									
										33
									
								
								.licenses/npm/form-data-3.0.1.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										33
									
								
								.licenses/npm/form-data-3.0.1.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,33 +0,0 @@ | |||||||
| --- |  | ||||||
| name: form-data |  | ||||||
| version: 3.0.1 |  | ||||||
| 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 |  | ||||||
| license: mit |  | ||||||
| licenses: |  | ||||||
| - sources: License |  | ||||||
|   text: | |  | ||||||
|     Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) 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. |  | ||||||
| - sources: Readme.md |  | ||||||
|   text: Form-Data is released under the [MIT](License) license. |  | ||||||
| notices: [] |  | ||||||
							
								
								
									
										2
									
								
								.licenses/npm/node-fetch.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/node-fetch.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: node-fetch | name: node-fetch | ||||||
| version: 2.6.7 | version: 2.7.0 | ||||||
| type: npm | type: npm | ||||||
| summary: A light-weight module that brings window.fetch to node.js | summary: A light-weight module that brings window.fetch to node.js | ||||||
| homepage: https://github.com/bitinn/node-fetch | homepage: https://github.com/bitinn/node-fetch | ||||||
|   | |||||||
							
								
								
									
										8
									
								
								.licenses/npm/sax.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										8
									
								
								.licenses/npm/sax.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,16 +1,16 @@ | |||||||
| --- | --- | ||||||
| name: sax | name: sax | ||||||
| version: 1.2.4 | version: 1.3.0 | ||||||
| type: npm | type: npm | ||||||
| summary: An evented streaming XML parser in JavaScript | summary: An evented streaming XML parser in JavaScript | ||||||
| homepage: https://github.com/isaacs/sax-js#readme | homepage:  | ||||||
| license: isc | license: isc | ||||||
| licenses: | licenses: | ||||||
| - sources: LICENSE | - sources: LICENSE | ||||||
|   text: | |   text: | | ||||||
|     The ISC License |     The ISC License | ||||||
| 
 | 
 | ||||||
|     Copyright (c) Isaac Z. Schlueter and Contributors |     Copyright (c) 2010-2022 Isaac Z. Schlueter and Contributors | ||||||
| 
 | 
 | ||||||
|     Permission to use, copy, modify, and/or distribute this software for any |     Permission to use, copy, modify, and/or distribute this software for any | ||||||
|     purpose with or without fee is hereby granted, provided that the above |     purpose with or without fee is hereby granted, provided that the above | ||||||
| @@ -29,7 +29,7 @@ licenses: | |||||||
|     `String.fromCodePoint` by Mathias Bynens used according to terms of MIT |     `String.fromCodePoint` by Mathias Bynens used according to terms of MIT | ||||||
|     License, as follows: |     License, as follows: | ||||||
| 
 | 
 | ||||||
|         Copyright Mathias Bynens <https://mathiasbynens.be/> |     Copyright (c) 2010-2022 Mathias Bynens <https://mathiasbynens.be/> | ||||||
| 
 | 
 | ||||||
|         Permission is hereby granted, free of charge, to any person obtaining |         Permission is hereby granted, free of charge, to any person obtaining | ||||||
|         a copy of this software and associated documentation files (the |         a copy of this software and associated documentation files (the | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ name: semver | |||||||
| version: 6.3.1 | version: 6.3.1 | ||||||
| type: npm | type: npm | ||||||
| summary: The semantic version parser used by npm. | summary: The semantic version parser used by npm. | ||||||
| homepage: https://github.com/npm/node-semver#readme | homepage:  | ||||||
| license: isc | license: isc | ||||||
| licenses: | licenses: | ||||||
| - sources: LICENSE | - sources: LICENSE | ||||||
							
								
								
									
										26
									
								
								.licenses/npm/semver-7.7.1.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								.licenses/npm/semver-7.7.1.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | |||||||
|  | --- | ||||||
|  | name: semver | ||||||
|  | version: 7.7.1 | ||||||
|  | type: npm | ||||||
|  | summary: The semantic version parser used by npm. | ||||||
|  | homepage: | ||||||
|  | license: isc | ||||||
|  | licenses: | ||||||
|  | - sources: LICENSE | ||||||
|  |   text: | | ||||||
|  |     The ISC License | ||||||
|  | 
 | ||||||
|  |     Copyright (c) Isaac Z. Schlueter and Contributors | ||||||
|  | 
 | ||||||
|  |     Permission to use, copy, modify, and/or distribute this software for any | ||||||
|  |     purpose with or without fee is hereby granted, provided that the above | ||||||
|  |     copyright notice and this permission notice appear in all copies. | ||||||
|  | 
 | ||||||
|  |     THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||||||
|  |     WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||||||
|  |     MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||||||
|  |     ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||||||
|  |     WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||||||
|  |     ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR | ||||||
|  |     IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||||||
|  | notices: [] | ||||||
							
								
								
									
										35
									
								
								.licenses/npm/tslib-2.3.1.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										35
									
								
								.licenses/npm/tslib-2.3.1.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,35 +0,0 @@ | |||||||
| --- |  | ||||||
| name: tslib |  | ||||||
| version: 2.3.1 |  | ||||||
| type: npm |  | ||||||
| summary: Runtime library for TypeScript helper functions |  | ||||||
| homepage: https://www.typescriptlang.org/ |  | ||||||
| license: 0bsd |  | ||||||
| licenses: |  | ||||||
| - sources: LICENSE.txt |  | ||||||
|   text: |- |  | ||||||
|     Copyright (c) Microsoft Corporation. |  | ||||||
| 
 |  | ||||||
|     Permission to use, copy, modify, and/or distribute this software for any |  | ||||||
|     purpose with or without fee is hereby granted. |  | ||||||
| 
 |  | ||||||
|     THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH |  | ||||||
|     REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |  | ||||||
|     AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, |  | ||||||
|     INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM |  | ||||||
|     LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR |  | ||||||
|     OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR |  | ||||||
|     PERFORMANCE OF THIS SOFTWARE. |  | ||||||
| notices: |  | ||||||
| - sources: CopyrightNotice.txt |  | ||||||
|   text: "/*! *****************************************************************************\r\nCopyright |  | ||||||
|     (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute |  | ||||||
|     this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE |  | ||||||
|     SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD |  | ||||||
|     TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. |  | ||||||
|     IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR |  | ||||||
|     CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, |  | ||||||
|     DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS |  | ||||||
|     ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS |  | ||||||
|     SOFTWARE.\r\n***************************************************************************** |  | ||||||
|     */" |  | ||||||
| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: tslib | name: tslib | ||||||
| version: 2.5.0 | version: 2.6.2 | ||||||
| type: npm | type: npm | ||||||
| summary: Runtime library for TypeScript helper functions | summary: Runtime library for TypeScript helper functions | ||||||
| homepage: https://www.typescriptlang.org/ | homepage: https://www.typescriptlang.org/ | ||||||
| @@ -1,16 +1,14 @@ | |||||||
| --- | --- | ||||||
| name: "@azure/core-asynciterator-polyfill" | name: undici-types | ||||||
| version: 1.0.2 | version: 5.26.5 | ||||||
| type: npm | type: npm | ||||||
| summary: Polyfill for IE/Node 8 for Symbol.asyncIterator | summary: A stand-alone types package for Undici | ||||||
| homepage: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/core-asynciterator-polyfill/README.md | homepage: https://undici.nodejs.org | ||||||
| license: mit | license: mit | ||||||
| licenses: | licenses: | ||||||
| - sources: LICENSE | - sources: Auto-generated MIT license text | ||||||
|   text: | |   text: | | ||||||
|     The MIT License (MIT) |     MIT License | ||||||
| 
 |  | ||||||
|     Copyright (c) 2020 Microsoft |  | ||||||
| 
 | 
 | ||||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy |     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||||
|     of this software and associated documentation files (the "Software"), to deal |     of this software and associated documentation files (the "Software"), to deal | ||||||
							
								
								
									
										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 | ||||||
|   | |||||||
							
								
								
									
										107
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										107
									
								
								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`. | - Optionally downloading and caching a version of Go by version and adding to `PATH`. | ||||||
| - Registering problem matchers for error output. | - Registering problem matchers for error output. | ||||||
|  |  | ||||||
|  | # V5 | ||||||
|  |  | ||||||
|  | The V5 edition of the action offers: | ||||||
|  |  | ||||||
|  | - Upgraded Node.js runtime from node16 to node20 | ||||||
|  |  | ||||||
|  | See full release notes on the [releases page](https://github.com/actions/setup-go/releases). | ||||||
|  |  | ||||||
| # V4 | # V4 | ||||||
|  |  | ||||||
| The V4 edition of the action offers: | The V4 edition of the action offers: | ||||||
| @@ -42,8 +50,8 @@ Matching by [semver spec](https://github.com/npm/node-semver): | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
|   - uses: actions/checkout@v3 |   - uses: actions/checkout@v4 | ||||||
|   - uses: actions/setup-go@v4 |   - uses: actions/setup-go@v5 | ||||||
|     with: |     with: | ||||||
|       go-version: '^1.13.1' # The Go version to download (if necessary) and use. |       go-version: '^1.13.1' # The Go version to download (if necessary) and use. | ||||||
|   - run: go version |   - run: go version | ||||||
| @@ -51,8 +59,8 @@ steps: | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
|   - uses: actions/checkout@v3 |   - uses: actions/checkout@v4 | ||||||
|   - uses: actions/setup-go@v4 |   - uses: actions/setup-go@v5 | ||||||
|     with: |     with: | ||||||
|       go-version: '>=1.17.0' |       go-version: '>=1.17.0' | ||||||
|   - run: go version |   - run: go version | ||||||
| @@ -62,15 +70,16 @@ steps: | |||||||
| > | > | ||||||
| > ```yaml | > ```yaml | ||||||
| >   go-version: '1.20' | >   go-version: '1.20' | ||||||
| >  ``` | > ``` | ||||||
| > | > | ||||||
| > The recommendation is based on the YAML parser's behavior, which interprets non-wrapped values as numbers and, in the case of version 1.20, trims it down to 1.2, which may not be very obvious. | > The recommendation is based on the YAML parser's behavior, which interprets non-wrapped values as numbers and, in the case of version 1.20, trims it down to 1.2, which may not be very obvious. | ||||||
|  |  | ||||||
| Matching an unstable pre-release: | Matching an unstable pre-release: | ||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
|   - uses: actions/checkout@v3 |   - uses: actions/checkout@v4 | ||||||
|   - uses: actions/setup-go@v4 |   - uses: actions/setup-go@v5 | ||||||
|     with: |     with: | ||||||
|       go-version: '1.18.0-rc.1' # The Go version to download (if necessary) and use. |       go-version: '1.18.0-rc.1' # The Go version to download (if necessary) and use. | ||||||
|   - run: go version |   - run: go version | ||||||
| @@ -78,8 +87,8 @@ steps: | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
|   - uses: actions/checkout@v3 |   - uses: actions/checkout@v4 | ||||||
|   - uses: actions/setup-go@v4 |   - uses: actions/setup-go@v5 | ||||||
|     with: |     with: | ||||||
|       go-version: '1.16.0-beta.1' # The Go version to download (if necessary) and use. |       go-version: '1.16.0-beta.1' # The Go version to download (if necessary) and use. | ||||||
|   - run: go version |   - run: go version | ||||||
| @@ -93,8 +102,8 @@ See [action.yml](action.yml) | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
|   - uses: actions/checkout@v3 |   - uses: actions/checkout@v4 | ||||||
|   - uses: actions/setup-go@v4 |   - uses: actions/setup-go@v5 | ||||||
|     with: |     with: | ||||||
|       go-version: '1.16.1' # The Go version to download (if necessary) and use. |       go-version: '1.16.1' # The Go version to download (if necessary) and use. | ||||||
|   - run: go run hello.go |   - run: go run hello.go | ||||||
| @@ -114,8 +123,8 @@ want the most up-to-date Go version to always be used. | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
|   - uses: actions/checkout@v3 |   - uses: actions/checkout@v4 | ||||||
|   - uses: actions/setup-go@v4 |   - uses: actions/setup-go@v5 | ||||||
|     with: |     with: | ||||||
|       go-version: '1.14' |       go-version: '1.14' | ||||||
|       check-latest: true |       check-latest: true | ||||||
| @@ -135,8 +144,8 @@ set to `true` | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
|   - uses: actions/checkout@v3 |   - uses: actions/checkout@v4 | ||||||
|   - uses: actions/setup-go@v4 |   - uses: actions/setup-go@v5 | ||||||
|     with: |     with: | ||||||
|       go-version: 'stable' |       go-version: 'stable' | ||||||
|   - run: go run hello.go |   - run: go run hello.go | ||||||
| @@ -144,8 +153,8 @@ steps: | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
|   - uses: actions/checkout@v3 |   - uses: actions/checkout@v4 | ||||||
|   - uses: actions/setup-go@v4 |   - uses: actions/setup-go@v5 | ||||||
|     with: |     with: | ||||||
|       go-version: 'oldstable' |       go-version: 'oldstable' | ||||||
|   - run: go run hello.go |   - run: go run hello.go | ||||||
| @@ -159,7 +168,7 @@ The `cache` input is optional, and caching is turned on by default. | |||||||
|  |  | ||||||
| The action defaults to search for the dependency file - go.sum in the repository root, and uses its hash as a part of | The action defaults to search for the dependency file - go.sum in the repository root, and uses its hash as a part of | ||||||
| the cache key. Use `cache-dependency-path` input for cases when multiple dependency files are used, or they are located | the cache key. Use `cache-dependency-path` input for cases when multiple dependency files are used, or they are located | ||||||
| in different subdirectories. | in different subdirectories. The input supports glob patterns. | ||||||
|  |  | ||||||
| If some problem that prevents success caching happens then the action issues the warning in the log and continues the execution of the pipeline. | If some problem that prevents success caching happens then the action issues the warning in the log and continues the execution of the pipeline. | ||||||
|  |  | ||||||
| @@ -167,30 +176,36 @@ If some problem that prevents success caching happens then the action issues the | |||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
|   - uses: actions/checkout@v3 |   - uses: actions/checkout@v4 | ||||||
|   - uses: actions/setup-go@v4 |   - uses: actions/setup-go@v5 | ||||||
|     with: |     with: | ||||||
|       go-version: '1.17' |       go-version: '1.17' | ||||||
|       check-latest: true |       check-latest: true | ||||||
|       cache-dependency-path: subdir/go.sum |       cache-dependency-path: | | ||||||
|  |              subdir/go.sum | ||||||
|  |              tools/go.sum | ||||||
|  |     # cache-dependency-path: "**/*.sum" | ||||||
|  |  | ||||||
|   - run: go run hello.go |   - run: go run hello.go | ||||||
|   ``` |   ``` | ||||||
|  |  | ||||||
| ## Getting go version from the go.mod file | ## 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 | 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. | ||||||
| used by a project. As the `go.mod` file contains only major and minor (e.g. 1.18) tags, the action will search for the |  | ||||||
| latest available patch version sequentially in the runner's directory with the cached tools, in | 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`).   | ||||||
| the [versions-manifest.json](https://github.com/actions/go-versions/blob/main/versions-manifest.json) file or at the go | If a patch version is specified, that specific patch version will be used.   | ||||||
| servers. | 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 | ||||||
|  | [official Go language website](https://golang.org/dl/?mode=json&include=all), in that order. | ||||||
|  |  | ||||||
| If both the `go-version` and the `go-version-file` inputs are provided then the `go-version` input is used. | If both the `go-version` and the `go-version-file` inputs are provided then the `go-version` input is used. | ||||||
| > The action will search for the `go.mod` file relative to the repository root | > The action will search for the `go.mod` file relative to the repository root | ||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
|   - uses: actions/checkout@v3 |   - uses: actions/checkout@v4 | ||||||
|   - uses: actions/setup-go@v4 |   - uses: actions/setup-go@v5 | ||||||
|     with: |     with: | ||||||
|       go-version-file: 'path/to/go.mod' |       go-version-file: 'path/to/go.mod' | ||||||
|   - run: go version |   - run: go version | ||||||
| @@ -207,9 +222,9 @@ jobs: | |||||||
|         go: [ '1.14', '1.13' ] |         go: [ '1.14', '1.13' ] | ||||||
|     name: Go ${{ matrix.go }} sample |     name: Go ${{ matrix.go }} sample | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v3 |       - uses: actions/checkout@v4 | ||||||
|       - name: Setup go |       - name: Setup go | ||||||
|         uses: actions/setup-go@v4 |         uses: actions/setup-go@v5 | ||||||
|         with: |         with: | ||||||
|           go-version: ${{ matrix.go }} |           go-version: ${{ matrix.go }} | ||||||
|       - run: go run hello.go |       - run: go run hello.go | ||||||
| @@ -227,31 +242,35 @@ documentation. | |||||||
|  |  | ||||||
| ## Using `setup-go` on GHES | ## Using `setup-go` on GHES | ||||||
|  |  | ||||||
| `setup-go` comes pre-installed on the appliance with GHES if Actions is enabled. When dynamically downloading Go | `setup-go` comes pre-installed on the appliance with GHES if Actions is enabled. | ||||||
| distributions, `setup-go` downloads distributions from [`actions/go-versions`](https://github.com/actions/go-versions) | When dynamically downloading Go distributions, `setup-go` downloads distributions from [`actions/go-versions`](https://github.com/actions/go-versions) on github.com (outside of the appliance). | ||||||
| on github.com (outside of the appliance). 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 you will start to see rate-limit errors during downloading that looks |  | ||||||
| like: `##[error]API rate limit exceeded for...`. After that error the action will try to download versions directly |  | ||||||
| from https://storage.googleapis.com/golang, but it also can have rate limit so it's better to put token. |  | ||||||
|  |  | ||||||
| To get a higher rate limit, you | 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). | ||||||
| can [generate a personal access token on github.com](https://github.com/settings/tokens/new) and pass it as the `token` | 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. | ||||||
| input for the action: | If that fails as well the action will try to download versions directly from https://storage.googleapis.com/golang. | ||||||
|  |  | ||||||
|  | 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 | ```yaml | ||||||
| uses: actions/setup-go@v4 | uses: actions/setup-go@v5 | ||||||
| with: | with: | ||||||
|   token: ${{ secrets.GH_DOTCOM_TOKEN }} |   token: ${{ secrets.GH_DOTCOM_TOKEN }} | ||||||
|   go-version: '1.18' |   go-version: '1.18' | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| If the runner is not able to access github.com, any Go versions requested during a workflow run must come from the | If the runner is not able to access github.com, any Go versions requested during a workflow run must come from the runner's tool cache. | ||||||
| runner's tool cache. |  | ||||||
| See "[Setting up the tool cache on self-hosted runners without internet access](https://docs.github.com/en/enterprise-server@3.2/admin/github-actions/managing-access-to-actions-from-githubcom/setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access)" | See "[Setting up the tool cache on self-hosted runners without internet access](https://docs.github.com/en/enterprise-server@3.2/admin/github-actions/managing-access-to-actions-from-githubcom/setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access)" | ||||||
| for more information. | for more information. | ||||||
|  |  | ||||||
|  | ## Recommended permissions | ||||||
|  |  | ||||||
|  | When using the `setup-go` action in your GitHub Actions workflow, it is recommended to set the following permissions to ensure proper functionality: | ||||||
|  |  | ||||||
|  | ```yaml | ||||||
|  | permissions: | ||||||
|  |   contents: read # access to check out code and install dependencies | ||||||
|  | ``` | ||||||
|  |  | ||||||
| # License | # License | ||||||
|  |  | ||||||
| The scripts and documentation in this project are released under the [MIT License](LICENSE) | The scripts and documentation in this project are released under the [MIT License](LICENSE) | ||||||
|   | |||||||
| @@ -209,3 +209,41 @@ describe('isCacheFeatureAvailable', () => { | |||||||
|     expect(warningSpy).toHaveBeenCalledWith(warningMessage); |     expect(warningSpy).toHaveBeenCalledWith(warningMessage); | ||||||
|   }); |   }); | ||||||
| }); | }); | ||||||
|  |  | ||||||
|  | describe('isGhes', () => { | ||||||
|  |   const pristineEnv = process.env; | ||||||
|  |  | ||||||
|  |   beforeEach(() => { | ||||||
|  |     jest.resetModules(); | ||||||
|  |     process.env = {...pristineEnv}; | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   afterAll(() => { | ||||||
|  |     process.env = pristineEnv; | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('returns false when the GITHUB_SERVER_URL environment variable is not defined', async () => { | ||||||
|  |     delete process.env['GITHUB_SERVER_URL']; | ||||||
|  |     expect(cacheUtils.isGhes()).toBeFalsy(); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('returns false when the GITHUB_SERVER_URL environment variable is set to github.com', async () => { | ||||||
|  |     process.env['GITHUB_SERVER_URL'] = 'https://github.com'; | ||||||
|  |     expect(cacheUtils.isGhes()).toBeFalsy(); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('returns false when the GITHUB_SERVER_URL environment variable is set to a GitHub Enterprise Cloud-style URL', async () => { | ||||||
|  |     process.env['GITHUB_SERVER_URL'] = 'https://contoso.ghe.com'; | ||||||
|  |     expect(cacheUtils.isGhes()).toBeFalsy(); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('returns false when the GITHUB_SERVER_URL environment variable has a .localhost suffix', async () => { | ||||||
|  |     process.env['GITHUB_SERVER_URL'] = 'https://mock-github.localhost'; | ||||||
|  |     expect(cacheUtils.isGhes()).toBeFalsy(); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('returns true when the GITHUB_SERVER_URL environment variable is set to some other URL', async () => { | ||||||
|  |     process.env['GITHUB_SERVER_URL'] = 'https://src.onpremise.fabrikam.com'; | ||||||
|  |     expect(cacheUtils.isGhes()).toBeTruthy(); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| module example.com/mymodule | module example.com/mymodule | ||||||
|  |  | ||||||
| go 1.14 | go 1.20 | ||||||
|  |  | ||||||
| require ( | require ( | ||||||
| 	example.com/othermodule v1.2.3 | 	example.com/othermodule v1.2.3 | ||||||
|   | |||||||
| @@ -1,3 +1,3 @@ | |||||||
| go 1.19 | go 1.21 | ||||||
|  |  | ||||||
| use . | use . | ||||||
|   | |||||||
| @@ -7,6 +7,7 @@ import osm, {type} from 'os'; | |||||||
| import path from 'path'; | import path from 'path'; | ||||||
| import * as main from '../src/main'; | import * as main from '../src/main'; | ||||||
| import * as im from '../src/installer'; | import * as im from '../src/installer'; | ||||||
|  | import * as httpm from '@actions/http-client'; | ||||||
|  |  | ||||||
| import goJsonData from './data/golang-dl.json'; | import goJsonData from './data/golang-dl.json'; | ||||||
| import matchers from '../matchers.json'; | import matchers from '../matchers.json'; | ||||||
| @@ -46,6 +47,7 @@ describe('setup-go', () => { | |||||||
|   let execSpy: jest.SpyInstance; |   let execSpy: jest.SpyInstance; | ||||||
|   let getManifestSpy: jest.SpyInstance; |   let getManifestSpy: jest.SpyInstance; | ||||||
|   let getAllVersionsSpy: jest.SpyInstance; |   let getAllVersionsSpy: jest.SpyInstance; | ||||||
|  |   let httpmGetJsonSpy: jest.SpyInstance; | ||||||
|  |  | ||||||
|   beforeAll(async () => { |   beforeAll(async () => { | ||||||
|     process.env['GITHUB_ENV'] = ''; // Stub out Environment file functionality so we can verify it writes to standard out (toolkit is backwards compatible) |     process.env['GITHUB_ENV'] = ''; // Stub out Environment file functionality so we can verify it writes to standard out (toolkit is backwards compatible) | ||||||
| @@ -90,6 +92,9 @@ describe('setup-go', () => { | |||||||
|     getManifestSpy = jest.spyOn(tc, 'getManifestFromRepo'); |     getManifestSpy = jest.spyOn(tc, 'getManifestFromRepo'); | ||||||
|     getAllVersionsSpy = jest.spyOn(im, 'getManifest'); |     getAllVersionsSpy = jest.spyOn(im, 'getManifest'); | ||||||
|  |  | ||||||
|  |     // httm | ||||||
|  |     httpmGetJsonSpy = jest.spyOn(httpm.HttpClient.prototype, 'getJson'); | ||||||
|  |  | ||||||
|     // io |     // io | ||||||
|     whichSpy = jest.spyOn(io, 'which'); |     whichSpy = jest.spyOn(io, 'which'); | ||||||
|     existsSpy = jest.spyOn(fs, 'existsSync'); |     existsSpy = jest.spyOn(fs, 'existsSync'); | ||||||
| @@ -151,6 +156,21 @@ describe('setup-go', () => { | |||||||
|     ); |     ); | ||||||
|   }); |   }); | ||||||
|  |  | ||||||
|  |   it('should return manifest from repo', async () => { | ||||||
|  |     const manifest = await im.getManifest(undefined); | ||||||
|  |     expect(manifest).toEqual(goTestManifest); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('should return manifest from raw URL if repo fetch fails', async () => { | ||||||
|  |     getManifestSpy.mockRejectedValue(new Error('Fetch failed')); | ||||||
|  |     httpmGetJsonSpy.mockResolvedValue({ | ||||||
|  |       result: goTestManifest | ||||||
|  |     }); | ||||||
|  |     const manifest = await im.getManifest(undefined); | ||||||
|  |     expect(httpmGetJsonSpy).toHaveBeenCalled(); | ||||||
|  |     expect(manifest).toEqual(goTestManifest); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|   it('can find 1.9 from manifest on linux', async () => { |   it('can find 1.9 from manifest on linux', async () => { | ||||||
|     os.platform = 'linux'; |     os.platform = 'linux'; | ||||||
|     os.arch = 'x64'; |     os.arch = 'x64'; | ||||||
| @@ -790,6 +810,9 @@ describe('setup-go', () => { | |||||||
|       getManifestSpy.mockImplementation(() => { |       getManifestSpy.mockImplementation(() => { | ||||||
|         throw new Error('Unable to download manifest'); |         throw new Error('Unable to download manifest'); | ||||||
|       }); |       }); | ||||||
|  |       httpmGetJsonSpy.mockRejectedValue( | ||||||
|  |         new Error('Unable to download manifest from raw URL') | ||||||
|  |       ); | ||||||
|       getAllVersionsSpy.mockImplementationOnce(() => undefined); |       getAllVersionsSpy.mockImplementationOnce(() => undefined); | ||||||
|  |  | ||||||
|       dlSpy.mockImplementation(async () => '/some/temp/path'); |       dlSpy.mockImplementation(async () => '/some/temp/path'); | ||||||
|   | |||||||
							
								
								
									
										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(); | ||||||
|  |     }); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
| @@ -25,7 +25,7 @@ outputs: | |||||||
|   cache-hit: |   cache-hit: | ||||||
|     description: 'A boolean value to indicate if a cache was hit' |     description: 'A boolean value to indicate if a cache was hit' | ||||||
| runs: | runs: | ||||||
|   using: 'node16' |   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() | ||||||
|   | |||||||
							
								
								
									
										12491
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12491
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										16859
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16859
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -32,7 +32,7 @@ We don't pursue the goal to provide wide customization of caching in scope of `a | |||||||
|  |  | ||||||
| ```yml | ```yml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v3 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-go@v3 | - uses: actions/setup-go@v3 | ||||||
|   with: |   with: | ||||||
|     go-version: '18' |     go-version: '18' | ||||||
| @@ -43,7 +43,7 @@ steps: | |||||||
|  |  | ||||||
|  ```yml |  ```yml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v3 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-go@v3 | - uses: actions/setup-go@v3 | ||||||
|   with: |   with: | ||||||
|     go-version: '18' |     go-version: '18' | ||||||
| @@ -53,7 +53,7 @@ steps: | |||||||
|  |  | ||||||
|  ```yml |  ```yml | ||||||
| steps: | steps: | ||||||
| - uses: actions/checkout@v3 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-go@v3 | - uses: actions/setup-go@v3 | ||||||
|   with: |   with: | ||||||
|     go-version: '18' |     go-version: '18' | ||||||
|   | |||||||
| @@ -6,13 +6,13 @@ We have prepared a short guide so that the process of making your contribution i | |||||||
|  |  | ||||||
| ## How can I contribute... | ## How can I contribute... | ||||||
|  |  | ||||||
| * [Contribute Documentation:green_book:](#contribute-documentation) | * [Contribute Documentation :green_book:](#contribute-documentation) | ||||||
|  |  | ||||||
| * [Contribute Code :computer:](#contribute-code) | * [Contribute Code :computer:](#contribute-code) | ||||||
|  |  | ||||||
| * [Provide Support on Issues:pencil:](#provide-support-on-issues) | * [Provide Support on Issues :pencil:](#provide-support-on-issues) | ||||||
|  |  | ||||||
| * [Review Pull Requests:mag:](#review-pull-requests) | * [Review Pull Requests :mag:](#review-pull-requests) | ||||||
|  |  | ||||||
| ## Contribute documentation | ## Contribute documentation | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										8800
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										8800
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										40
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										40
									
								
								package.json
									
									
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "name": "setup-go", |   "name": "setup-go", | ||||||
|   "version": "4.0.0", |   "version": "5.0.0", | ||||||
|   "private": true, |   "private": true, | ||||||
|   "description": "setup go action", |   "description": "setup go action", | ||||||
|   "main": "lib/setup-go.js", |   "main": "lib/setup-go.js", | ||||||
| @@ -26,30 +26,30 @@ | |||||||
|   "license": "MIT", |   "license": "MIT", | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "@actions/cache": "^4.0.3", |     "@actions/cache": "^4.0.3", | ||||||
|     "@actions/core": "^1.10.0", |     "@actions/core": "^1.11.1", | ||||||
|     "@actions/exec": "^1.1.0", |     "@actions/exec": "^1.1.1", | ||||||
|     "@actions/glob": "^0.2.0", |     "@actions/glob": "^0.5.0", | ||||||
|     "@actions/http-client": "^2.0.1", |     "@actions/http-client": "^2.2.1", | ||||||
|     "@actions/io": "^1.0.2", |     "@actions/io": "^1.0.2", | ||||||
|     "@actions/tool-cache": "^1.5.5", |     "@actions/tool-cache": "^2.0.1", | ||||||
|     "semver": "^6.3.1" |     "semver": "^7.6.3" | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "@types/jest": "^27.0.2", |     "@types/jest": "^29.5.12", | ||||||
|     "@types/node": "^16.11.25", |     "@types/node": "^20.11.28", | ||||||
|     "@types/semver": "^6.0.0", |     "@types/semver": "^7.5.8", | ||||||
|     "@typescript-eslint/eslint-plugin": "^5.54.0", |     "@typescript-eslint/eslint-plugin": "^8.31.1", | ||||||
|     "@typescript-eslint/parser": "^5.54.0", |     "@typescript-eslint/parser": "^8.31.1", | ||||||
|     "@vercel/ncc": "^0.33.4", |     "@vercel/ncc": "^0.38.1", | ||||||
|     "eslint": "^8.35.0", |     "eslint": "^8.57.0", | ||||||
|     "eslint-config-prettier": "^8.6.0", |     "eslint-config-prettier": "^10.0.1", | ||||||
|     "eslint-plugin-jest": "^27.2.1", |     "eslint-plugin-jest": "^28.11.0", | ||||||
|     "eslint-plugin-node": "^11.1.0", |     "eslint-plugin-node": "^11.1.0", | ||||||
|     "jest": "^27.2.5", |     "jest": "^29.7.0", | ||||||
|     "jest-circus": "^27.2.5", |     "jest-circus": "^29.7.0", | ||||||
|     "nock": "^10.0.6", |     "nock": "^10.0.6", | ||||||
|     "prettier": "^2.8.4", |     "prettier": "^2.8.4", | ||||||
|     "ts-jest": "^27.0.5", |     "ts-jest": "^29.3.2", | ||||||
|     "typescript": "^4.3.3" |     "typescript": "^5.4.2" | ||||||
|   } |   } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -15,6 +15,7 @@ export const restoreCache = async ( | |||||||
| ) => { | ) => { | ||||||
|   const packageManagerInfo = await getPackageManagerInfo(packageManager); |   const packageManagerInfo = await getPackageManagerInfo(packageManager); | ||||||
|   const platform = process.env.RUNNER_OS; |   const platform = process.env.RUNNER_OS; | ||||||
|  |   const arch = process.arch; | ||||||
|  |  | ||||||
|   const cachePaths = await getCacheDirectoryPath(packageManagerInfo); |   const cachePaths = await getCacheDirectoryPath(packageManagerInfo); | ||||||
|  |  | ||||||
| @@ -31,7 +32,7 @@ export const restoreCache = async ( | |||||||
|  |  | ||||||
|   const linuxVersion = |   const linuxVersion = | ||||||
|     process.env.RUNNER_OS === 'Linux' ? `${process.env.ImageOS}-` : ''; |     process.env.RUNNER_OS === 'Linux' ? `${process.env.ImageOS}-` : ''; | ||||||
|   const primaryKey = `setup-go-${platform}-${linuxVersion}go-${versionSpec}-${fileHash}`; |   const primaryKey = `setup-go-${platform}-${arch}-${linuxVersion}go-${versionSpec}-${fileHash}`; | ||||||
|   core.debug(`primary key is ${primaryKey}`); |   core.debug(`primary key is ${primaryKey}`); | ||||||
|  |  | ||||||
|   core.saveState(State.CachePrimaryKey, primaryKey); |   core.saveState(State.CachePrimaryKey, primaryKey); | ||||||
|   | |||||||
| @@ -12,9 +12,19 @@ process.on('uncaughtException', e => { | |||||||
|   core.info(`${warningPrefix}${e.message}`); |   core.info(`${warningPrefix}${e.message}`); | ||||||
| }); | }); | ||||||
|  |  | ||||||
| export async function run() { | // 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 { |   try { | ||||||
|     await cachePackages(); |     const cacheInput = core.getBooleanInput('cache'); | ||||||
|  |     if (cacheInput) { | ||||||
|  |       await cachePackages(); | ||||||
|  |  | ||||||
|  |       if (earlyExit) { | ||||||
|  |         process.exit(0); | ||||||
|  |       } | ||||||
|  |     } | ||||||
|   } catch (error) { |   } catch (error) { | ||||||
|     let message = 'Unknown error!'; |     let message = 'Unknown error!'; | ||||||
|     if (error instanceof Error) { |     if (error instanceof Error) { | ||||||
| @@ -28,11 +38,6 @@ export async function run() { | |||||||
| } | } | ||||||
|  |  | ||||||
| const cachePackages = async () => { | const cachePackages = async () => { | ||||||
|   const cacheInput = core.getBooleanInput('cache'); |  | ||||||
|   if (!cacheInput) { |  | ||||||
|     return; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   const packageManager = 'default'; |   const packageManager = 'default'; | ||||||
|  |  | ||||||
|   const state = core.getState(State.CacheMatchedKey); |   const state = core.getState(State.CacheMatchedKey); | ||||||
| @@ -85,4 +90,4 @@ function logWarning(message: string): void { | |||||||
|   core.info(`${warningPrefix}${message}`); |   core.info(`${warningPrefix}${message}`); | ||||||
| } | } | ||||||
|  |  | ||||||
| run(); | run(true); | ||||||
|   | |||||||
| @@ -63,7 +63,13 @@ export function isGhes(): boolean { | |||||||
|   const ghUrl = new URL( |   const ghUrl = new URL( | ||||||
|     process.env['GITHUB_SERVER_URL'] || 'https://github.com' |     process.env['GITHUB_SERVER_URL'] || 'https://github.com' | ||||||
|   ); |   ); | ||||||
|   return ghUrl.hostname.toUpperCase() !== 'GITHUB.COM'; |  | ||||||
|  |   const hostname = ghUrl.hostname.trimEnd().toUpperCase(); | ||||||
|  |   const isGitHubHost = hostname === 'GITHUB.COM'; | ||||||
|  |   const isGitHubEnterpriseCloudHost = hostname.endsWith('.GHE.COM'); | ||||||
|  |   const isLocalHost = hostname.endsWith('.LOCALHOST'); | ||||||
|  |  | ||||||
|  |   return !isGitHubHost && !isGitHubEnterpriseCloudHost && !isLocalHost; | ||||||
| } | } | ||||||
|  |  | ||||||
| export function isCacheFeatureAvailable(): boolean { | export function isCacheFeatureAvailable(): boolean { | ||||||
|   | |||||||
							
								
								
									
										104
									
								
								src/installer.ts
									
									
									
									
									
								
							
							
						
						
									
										104
									
								
								src/installer.ts
									
									
									
									
									
								
							| @@ -6,7 +6,12 @@ import * as httpm from '@actions/http-client'; | |||||||
| import * as sys from './system'; | import * as sys from './system'; | ||||||
| import fs from 'fs'; | import fs from 'fs'; | ||||||
| import os from 'os'; | import os from 'os'; | ||||||
| import {StableReleaseAlias} from './utils'; | import {StableReleaseAlias, isSelfHosted} from './utils'; | ||||||
|  |  | ||||||
|  | const MANIFEST_REPO_OWNER = 'actions'; | ||||||
|  | const MANIFEST_REPO_NAME = 'go-versions'; | ||||||
|  | const MANIFEST_REPO_BRANCH = 'main'; | ||||||
|  | const MANIFEST_URL = `https://raw.githubusercontent.com/${MANIFEST_REPO_OWNER}/${MANIFEST_REPO_NAME}/${MANIFEST_REPO_BRANCH}/versions-manifest.json`; | ||||||
|  |  | ||||||
| type InstallationType = 'dist' | 'manifest'; | type InstallationType = 'dist' | 'manifest'; | ||||||
|  |  | ||||||
| @@ -114,9 +119,9 @@ export async function getGo( | |||||||
|         `Received HTTP status code ${err.httpStatusCode}.  This usually indicates the rate limit has been exceeded` |         `Received HTTP status code ${err.httpStatusCode}.  This usually indicates the rate limit has been exceeded` | ||||||
|       ); |       ); | ||||||
|     } else { |     } else { | ||||||
|       core.info(err.message); |       core.info((err as Error).message); | ||||||
|     } |     } | ||||||
|     core.debug(err.stack); |     core.debug((err as Error).stack ?? ''); | ||||||
|     core.info('Falling back to download directly from Go'); |     core.info('Falling back to download directly from Go'); | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -160,7 +165,7 @@ async function resolveVersionFromManifest( | |||||||
|     return info?.resolvedVersion; |     return info?.resolvedVersion; | ||||||
|   } catch (err) { |   } catch (err) { | ||||||
|     core.info('Unable to resolve a version from the manifest...'); |     core.info('Unable to resolve a version from the manifest...'); | ||||||
|     core.debug(err.message); |     core.debug((err as Error).message); | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -175,11 +180,7 @@ async function cacheWindowsDir( | |||||||
|   if (os.platform() !== 'win32') return false; |   if (os.platform() !== 'win32') return false; | ||||||
|  |  | ||||||
|   // make sure the action runs in the hosted environment |   // make sure the action runs in the hosted environment | ||||||
|   if ( |   if (isSelfHosted()) return false; | ||||||
|     process.env['RUNNER_ENVIRONMENT'] !== 'github-hosted' && |  | ||||||
|     process.env['AGENT_ISSELFHOSTED'] === '1' |  | ||||||
|   ) |  | ||||||
|     return false; |  | ||||||
|  |  | ||||||
|   const defaultToolCacheRoot = process.env['RUNNER_TOOL_CACHE']; |   const defaultToolCacheRoot = process.env['RUNNER_TOOL_CACHE']; | ||||||
|   if (!defaultToolCacheRoot) return false; |   if (!defaultToolCacheRoot) return false; | ||||||
| @@ -203,6 +204,17 @@ async function cacheWindowsDir( | |||||||
|   fs.symlinkSync(actualToolCacheDir, defaultToolCacheDir, 'junction'); |   fs.symlinkSync(actualToolCacheDir, defaultToolCacheDir, 'junction'); | ||||||
|   core.info(`Created link ${defaultToolCacheDir} => ${actualToolCacheDir}`); |   core.info(`Created link ${defaultToolCacheDir} => ${actualToolCacheDir}`); | ||||||
|  |  | ||||||
|  |   const actualToolCacheCompleteFile = `${actualToolCacheDir}.complete`; | ||||||
|  |   const defaultToolCacheCompleteFile = `${defaultToolCacheDir}.complete`; | ||||||
|  |   fs.symlinkSync( | ||||||
|  |     actualToolCacheCompleteFile, | ||||||
|  |     defaultToolCacheCompleteFile, | ||||||
|  |     'file' | ||||||
|  |   ); | ||||||
|  |   core.info( | ||||||
|  |     `Created link ${defaultToolCacheCompleteFile} => ${actualToolCacheCompleteFile}` | ||||||
|  |   ); | ||||||
|  |  | ||||||
|   // make outer code to continue using toolcache as if it were installed on c: |   // make outer code to continue using toolcache as if it were installed on c: | ||||||
|   // restore toolcache root to default drive c: |   // restore toolcache root to default drive c: | ||||||
|   process.env['RUNNER_TOOL_CACHE'] = defaultToolCacheRoot; |   process.env['RUNNER_TOOL_CACHE'] = defaultToolCacheRoot; | ||||||
| @@ -263,8 +275,78 @@ export async function extractGoArchive(archivePath: string): Promise<string> { | |||||||
|   return extPath; |   return extPath; | ||||||
| } | } | ||||||
|  |  | ||||||
| export async function getManifest(auth: string | undefined) { | function isIToolRelease(obj: any): obj is tc.IToolRelease { | ||||||
|   return tc.getManifestFromRepo('actions', 'go-versions', auth, 'main'); |   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 { | ||||||
|  |     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) { | ||||||
|  |       core.debug(err.message); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   return await getManifestFromURL(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function getManifestFromRepo( | ||||||
|  |   auth: string | undefined | ||||||
|  | ): Promise<tc.IToolRelease[]> { | ||||||
|  |   core.debug( | ||||||
|  |     `Getting manifest from ${MANIFEST_REPO_OWNER}/${MANIFEST_REPO_NAME}@${MANIFEST_REPO_BRANCH}` | ||||||
|  |   ); | ||||||
|  |   return tc.getManifestFromRepo( | ||||||
|  |     MANIFEST_REPO_OWNER, | ||||||
|  |     MANIFEST_REPO_NAME, | ||||||
|  |     auth, | ||||||
|  |     MANIFEST_REPO_BRANCH | ||||||
|  |   ); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | async function getManifestFromURL(): Promise<tc.IToolRelease[]> { | ||||||
|  |   core.debug('Falling back to fetching the manifest using raw URL.'); | ||||||
|  |  | ||||||
|  |   const http: httpm.HttpClient = new httpm.HttpClient('tool-cache'); | ||||||
|  |   const response = await http.getJson<tc.IToolRelease[]>(MANIFEST_URL); | ||||||
|  |   if (!response.result) { | ||||||
|  |     throw new Error(`Unable to get manifest from ${MANIFEST_URL}`); | ||||||
|  |   } | ||||||
|  |   return response.result; | ||||||
| } | } | ||||||
|  |  | ||||||
| export async function getInfoFromManifest( | export async function getInfoFromManifest( | ||||||
|   | |||||||
| @@ -74,7 +74,7 @@ export async function run() { | |||||||
|           cacheDependencyPath |           cacheDependencyPath | ||||||
|         ); |         ); | ||||||
|       } catch (error) { |       } catch (error) { | ||||||
|         core.warning(`Restore cache failed: ${error.message}`); |         core.warning(`Restore cache failed: ${(error as Error).message}`); | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @@ -92,7 +92,7 @@ export async function run() { | |||||||
|     core.info(goEnv); |     core.info(goEnv); | ||||||
|     core.endGroup(); |     core.endGroup(); | ||||||
|   } catch (error) { |   } catch (error) { | ||||||
|     core.setFailed(error.message); |     core.setFailed((error as Error).message); | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										10
									
								
								src/utils.ts
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								src/utils.ts
									
									
									
									
									
								
							| @@ -2,3 +2,13 @@ export enum StableReleaseAlias { | |||||||
|   Stable = 'stable', |   Stable = 'stable', | ||||||
|   OldStable = 'oldstable' |   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