From a16a57d83db79c851a6de04c1450b275ce7ab5b3 Mon Sep 17 00:00:00 2001 From: raeperd Date: Sun, 12 Oct 2025 17:56:24 +0900 Subject: [PATCH] docs: document automatic go.mod detection --- README.md | 16 +++++++++++++++- action.yml | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 564d55f..4d9996d 100644 --- a/README.md +++ b/README.md @@ -187,11 +187,25 @@ from thils file will be: The version can specify a patch version or omit it altogether (e.g., `go 1.22.0` or `go 1.22`). -If a patch version is specified, that specific patch version will be used. +If a patch version is specified, that specific patch version will be used. If no patch version is specified, it will search for the latest available patch version in the cache, [versions-manifest.json](https://github.com/actions/go-versions/blob/main/versions-manifest.json), and the [official Go language website](https://golang.org/dl/?mode=json&include=all), in that order. +### Automatic go.mod detection + +**New in v6**: If neither `go-version` nor `go-version-file` is specified, the action will automatically look for a `go.mod` file in the repository root and use the Go version specified in it. This simplifies workflows for projects that already have a `go.mod` file. + +```yaml +steps: + - uses: actions/checkout@v5 + - uses: actions/setup-go@v6 + # Automatically uses go.mod from repository root + - run: go version +``` + +### Specifying a custom path + If both the `go-version` and the `go-version-file` inputs are provided then the `go-version` input is used. > The action will search for the `go.mod` file relative to the repository root diff --git a/action.yml b/action.yml index 9946e47..5edb460 100644 --- a/action.yml +++ b/action.yml @@ -5,7 +5,7 @@ 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 or go.work file.' + description: 'Path to the go.mod or go.work file. If not specified, the action will automatically use go.mod from the workspace root if it exists.' 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