2019-07-17 10:50:58 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# setup-go
  
						 
					
						
							
								
									
										
										
										
											2019-06-19 09:44:17 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-08-12 15:13:31 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< p  align = "left" >  
						 
					
						
							
								
									
										
										
										
											2020-02-09 00:21:39 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  < a  href = "https://github.com/actions/setup-go/actions" > < img  alt = "GitHub Actions status"  src = "https://github.com/actions/setup-go/workflows/build-test/badge.svg" > < / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  < a  href = "https://github.com/actions/setup-go/actions" > < img  alt = "versions status"  src = "https://github.com/actions/setup-go/workflows/go-versions/badge.svg" > < / a >   
							 
						 
					
						
							
								
									
										
										
										
											2019-08-12 15:13:31 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:50:58 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								This action sets up a go environment for use in actions by:
							 
						 
					
						
							
								
									
										
										
										
											2019-06-19 09:44:17 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-08-13 16:31:11 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  optionally downloading and caching a version of Go by version and adding to PATH 
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:50:58 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  registering problem matchers for error output 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-16 18:52:17 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# V2
  
						 
					
						
							
								
									
										
										
										
											2020-02-09 14:39:34 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-16 18:52:17 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								The V2 offers:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Adds GOBIN to the PATH 
						 
					
						
							
								
									
										
										
										
											2020-02-09 14:39:34 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  Proxy Support 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  stable input  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Bug Fixes (including issues around version matching and semver) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-07-20 19:50:40 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								It will first check the local cache for a version match. If version is not found locally, It will pull it from `main`  branch of [go-versions ](https://github.com/actions/go-versions/blob/main/versions-manifest.json ) repository and on miss or failure, it will fall back to the previous behavior of download directly from [go dist ](https://storage.googleapis.com/golang ).
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-02-10 19:18:01 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Matching by semver spec:
							 
						 
					
						
							
								
									
										
										
										
											2020-02-09 14:39:34 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```yaml
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								steps:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  uses: actions/checkout@v2  
						 
					
						
							
								
									
										
										
										
											2020-04-16 18:52:49 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  uses: actions/setup-go@v2  
						 
					
						
							
								
									
										
										
										
											2020-02-09 14:39:34 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  with:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    go-version: '^1.13.1' # The Go version to download (if necessary) and use.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  run: go version 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-02-10 19:18:01 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Matching an unstable pre-release:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```yaml
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								steps:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  uses: actions/checkout@v2  
						 
					
						
							
								
									
										
										
										
											2020-04-16 18:52:49 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  uses: actions/setup-go@v2  
						 
					
						
							
								
									
										
										
										
											2020-02-10 19:18:01 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  with:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    stable: 'false'
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    go-version: '1.14.0-rc1' # The Go version to download (if necessary) and use.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  run: go version 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:50:58 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Usage
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								See [action.yml ](action.yml )
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Basic:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```yaml
							 
						 
					
						
							
								
									
										
										
										
											2019-07-25 21:28:46 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								steps:
							 
						 
					
						
							
								
									
										
										
										
											2019-07-23 15:46:37 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  uses: actions/checkout@master  
						 
					
						
							
								
									
										
										
										
											2019-08-01 09:19:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  uses: actions/setup-go@v1  
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:50:58 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  with:
							 
						 
					
						
							
								
									
										
										
										
											2019-08-16 10:21:05 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    go-version: '1.9.3' # The Go version to download (if necessary) and use.
							 
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:50:58 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  run: go run hello.go 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Matrix Testing:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```yaml
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								jobs:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  build:
							 
						 
					
						
							
								
									
										
										
										
											2019-08-01 11:05:15 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    runs-on: ubuntu-16.04
							 
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:50:58 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    strategy:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      matrix:
							 
						 
					
						
							
								
									
										
										
										
											2020-07-22 07:52:29 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        go: [ '1.14', '1.13' ]
							 
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:50:58 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    name: Go ${{ matrix.go }} sample
							 
						 
					
						
							
								
									
										
										
										
											2019-07-25 21:28:46 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    steps:
							 
						 
					
						
							
								
									
										
										
										
											2020-02-09 00:21:39 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      -  uses: actions/checkout@v2 
							 
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:50:58 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      -  name: Setup go
							 
						 
					
						
							
								
									
										
										
										
											2019-08-01 09:19:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        uses: actions/setup-go@v1 
							 
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:50:58 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        with:
							 
						 
					
						
							
								
									
										
										
										
											2019-08-13 16:31:11 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          go-version: ${{ matrix.go }}
							 
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:50:58 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      -  run: go run hello.go
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2019-06-19 09:44:17 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# License
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								The scripts and documentation in this project are released under the [MIT License ](LICENSE )
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Contributions
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Contributions are welcome!  See [Contributor's Guide ](docs/contributors.md )
							 
						 
					
						
							
								
									
										
										
										
											2020-02-09 00:21:39 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## Code of Conduct
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								:wave: Be nice.  See [our code of conduct ](CONDUCT )