Support for Outputting or Exporting Go Environment Variables #54
Open
Description
Version
actions/setup-go@v2
Description
In some of our GitHub Actions workflows, we opt to cache the GOCACHE
between jobs to save compilation time. It seems like we currently need to run go env GOCACHE
to fetch the correct GOCACHE
path after this action is run, e.g.
jobs:
example:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
with:
go-version: "1.14"
- name: go env
run: |
echo "::set-env name=GOCACHE::$(go env GOCACHE)"
- uses: actions/cache@v2
with:
path: ${{ env.GOCACHE }}
key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('src/**') }}
Since this action already runs go env
, it would be great if those values were either available as outputs, e.g.
jobs:
example:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
id: setup_go
with:
go-version: "1.14"
- uses: actions/cache@v2
with:
path: ${{ steps.setup_go.outputs.GOCACHE }}
key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('src/**') }}
Or if we could configure environment variables to automatically be exported:
jobs:
example:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
with:
go-version: "1.14"
export-environment-variables: [GOCACHE]
- uses: actions/cache@v2
with:
path: ${{ env.GOCACHE }}
key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('src/**') }}
Thank you for the consideration! Please reach out if I'm missing something and this is already possible or if this would be acceptable as an enhancement.