setup-go

by actions

actions / setup-go

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

279 Stars 73 Forks Last release: 23 days ago (v1.1.3) MIT License 108 Commits 17 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

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

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.