Set up your GitHub Actions workflow with a specific version of Go
Find a file
2021-08-25 11:43:04 -04:00
.github/workflows Add release action version workflow 2021-08-25 11:38:05 -04:00
.licenses/npm Swap to Environment Files (#76) 2020-10-01 10:45:00 -04:00
__tests__ Swap to Environment Files (#76) 2020-10-01 10:45:00 -04:00
dist Fix extractor selection on windows 2021-08-19 21:32:02 +02:00
docs Add setup-go 2019-06-19 09:44:17 -04:00
src Fix extractor selection on windows 2021-08-19 21:32:02 +02:00
.gitattributes Ignore Generated Files in Git PR's 2020-08-26 11:22:18 -04:00
.gitignore starting v2 and proxy support 2020-02-09 00:21:39 -05:00
.licensed.yml Add Licensed workflow and configuration files 2020-08-11 20:55:11 -04:00
.prettierrc.json Add setup-go 2019-06-19 09:44:17 -04:00
action.yml Use GitHub releases to download Go versions. (#58) 2020-06-29 11:41:13 -04:00
CODEOWNERS Add CODEOWNERS 2020-12-07 15:56:41 -05:00
CONDUCT starting v2 and proxy support 2020-02-09 00:21:39 -05:00
jest.config.js Add setup-go 2019-06-19 09:44:17 -04:00
LICENSE Add setup-go 2019-06-19 09:44:17 -04:00
matchers.json tabs or spaces 2020-03-30 10:46:01 -04:00
package-lock.json Swap to Environment Files (#76) 2020-10-01 10:45:00 -04:00
package.json Swap to Environment Files (#76) 2020-10-01 10:45:00 -04:00
README.md updating matrix in readme 2020-07-22 07:52:29 -04:00
tsconfig.json Add setup-go 2019-06-19 09:44:17 -04:00

setup-go

GitHub Actions status

versions status

This action sets up a go environment for use in actions by:

  • optionally downloading and caching a version of Go by version and adding to PATH
  • registering problem matchers for error output

V2

The V2 offers:

  • Adds GOBIN to the PATH
  • Proxy Support
  • stable input
  • Bug Fixes (including issues around version matching and semver)

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 repository and on miss or failure, it will fall back to the previous behavior of download directly from go dist.

Matching by semver spec:

steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
  with:
    go-version: '^1.13.1' # The Go version to download (if necessary) and use.
- run: go version

Matching an unstable pre-release:

steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
  with:
    stable: 'false'
    go-version: '1.14.0-rc1' # The Go version to download (if necessary) and use.
- run: go version

Usage

See action.yml

Basic:

steps:
- uses: actions/checkout@master
- uses: actions/setup-go@v1
  with:
    go-version: '1.9.3' # The Go version to download (if necessary) and use.
- run: go run hello.go

Matrix Testing:

jobs:
  build:
    runs-on: ubuntu-16.04
    strategy:
      matrix:
        go: [ '1.14', '1.13' ]
    name: Go ${{ matrix.go }} sample
    steps:
      - uses: actions/checkout@v2
      - name: Setup go
        uses: actions/setup-go@v1
        with:
          go-version: ${{ matrix.go }}
      - run: go run hello.go

License

The scripts and documentation in this project are released under the MIT License

Contributions

Contributions are welcome! See Contributor's Guide

Code of Conduct

👋 Be nice. See our code of conduct