mirror of
https://github.com/actions/setup-go.git
synced 2026-04-05 12:19:24 +00:00
Add a 'cache-write' input (default: true) that controls whether the cache is saved at the end of the workflow. When set to 'false', the action will restore cached dependencies but skip saving, providing a read-only cache mode. This is useful for preventing cache poisoning attacks from untrusted PR builds while still benefiting from cached dependencies.
34 lines
1.8 KiB
YAML
34 lines
1.8 KiB
YAML
name: 'Setup Go environment'
|
|
description: 'Setup a Go environment and add it to the PATH'
|
|
author: 'GitHub'
|
|
inputs:
|
|
go-version:
|
|
description: 'The Go version to download (if necessary) and use. Supports semver spec and ranges. Be sure to enclose this option in single quotation marks.'
|
|
go-version-file:
|
|
description: 'Path to the go.mod, go.work, .go-version, or .tool-versions file.'
|
|
check-latest:
|
|
description: 'Set this option to true if you want the action to always check for the latest available version that satisfies the version spec'
|
|
default: false
|
|
token:
|
|
description: Used to pull Go distributions from go-versions. Since there's a default, this is typically not supplied by the user. When running this action on github.com, the default value is sufficient. When running on GHES, you can pass a personal access token for github.com if you are experiencing rate limiting.
|
|
default: ${{ github.server_url == 'https://github.com' && github.token || '' }}
|
|
cache:
|
|
description: Used to specify whether caching is needed. Set to true, if you'd like to enable caching.
|
|
default: true
|
|
cache-dependency-path:
|
|
description: 'Used to specify the path to a dependency file (e.g., go.mod, go.sum)'
|
|
cache-write:
|
|
description: 'Whether to save the cache at the end of the workflow. Set to false for cache read-only mode, useful for preventing cache poisoning from untrusted PR builds.'
|
|
default: true
|
|
architecture:
|
|
description: 'Target architecture for Go to use. Examples: x86, x64. Will use system architecture by default.'
|
|
outputs:
|
|
go-version:
|
|
description: 'The installed Go version. Useful when given a version range as input.'
|
|
cache-hit:
|
|
description: 'A boolean value to indicate if a cache was hit'
|
|
runs:
|
|
using: 'node24'
|
|
main: 'dist/setup/index.js'
|
|
post: 'dist/cache-save/index.js'
|
|
post-if: success()
|