Need help with setup-go?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

actions
628 Stars 257 Forks MIT License 127 Commits 30 Opened issues

Description

Set up your GitHub Actions workflow with a specific version of Go

Services available

!
?

Need anything else?

Contributors list

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:

yaml
steps:
  - uses: actions/[email protected]
  - uses: actions/[email protected]
    with:
      go-version: '^1.13.1' # The Go version to download (if necessary) and use.
  - run: go version

Matching an unstable pre-release:

yaml
steps:
  - uses: actions/[email protected]
  - uses: actions/[email protected]
    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:

yaml
steps:
  - uses: actions/[email protected]
  - uses: actions/[email protected]
    with:
      go-version: '1.9.3' # The Go version to download (if necessary) and use.
  - run: go run hello.go

Matrix Testing:

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

Supported version syntax

The

go-version
input supports the following syntax:

Specific versions:

1.15
,
1.16.1
,
1.17.0-rc2
,
1.16.0-beta1

SemVer's version range syntax:
^1.13.1

For more information about semantic versioning please refer semver documentation

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

:wave: Be nice. See our code of conduct

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.