mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-02-23 06:35:07 +01:00
To avoid the problem where multiple jobs try to create the same cache entry, we add the GitHub job ID to the cache key. The two restore keys make it possible that a job can also restore a cache entry from another job if none for the current job exist yet.
38 lines
1.1 KiB
YAML
38 lines
1.1 KiB
YAML
name: "Setup Golang environment"
|
|
description: "A reusable workflow that's used to set up the Go environment and cache."
|
|
inputs:
|
|
go-version:
|
|
description: "The version of Golang to set up"
|
|
required: true
|
|
|
|
runs:
|
|
using: "composite"
|
|
|
|
steps:
|
|
- name: setup go ${{ inputs.go-version }}
|
|
uses: actions/setup-go@v3
|
|
with:
|
|
go-version: '${{ inputs.go-version }}'
|
|
|
|
- name: go cache
|
|
uses: actions/cache@v3
|
|
with:
|
|
# In order:
|
|
# * Module download cache
|
|
# * Build cache (Linux)
|
|
# * Build cache (Mac)
|
|
# * Build cache (Windows)
|
|
path: |
|
|
~/go/pkg/mod
|
|
~/.cache/go-build
|
|
~/Library/Caches/go-build
|
|
~\AppData\Local\go-build
|
|
key: ${{ runner.os }}-go-${{ inputs.go-version }}-${{ github.job }}-${{ hashFiles('**/go.sum') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-go-${{ inputs.go-version }}-${{ github.job }}-
|
|
${{ runner.os }}-go-${{ inputs.go-version }}-
|
|
|
|
- name: set GOPATH
|
|
shell: bash
|
|
run: |
|
|
echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV
|