Skip to content

Commit

Permalink
Use the major version of golang at package time
Browse files Browse the repository at this point in the history
  • Loading branch information
SvenW committed Oct 18, 2024
1 parent 2d5c6b2 commit 8339035
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/python/pants/backend/go/util_rules/build_pkg.py
Original file line number Diff line number Diff line change
Expand Up @@ -715,7 +715,7 @@ async def build_go_package(

# See https://github.com/golang/go/blob/f229e7031a6efb2f23241b5da000c3b3203081d6/src/cmd/go/internal/work/gc.go#L79-L100
# for where this logic comes from.
go_version = request.minimum_go_version or "1.16"
go_version = go_root.major_version(request.minimum_go_version or "1.16")
if go_root.is_compatible_version(go_version):
compile_args.extend(["-lang", f"go{go_version}"])

Expand Down
2 changes: 1 addition & 1 deletion src/python/pants/backend/go/util_rules/build_pkg_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ def test_build_pkg(rule_runner: RuleRunner) -> None:
).digest,
s_files=(),
direct_dependencies=(),
minimum_go_version=None,
minimum_go_version="1.21.2",
)
direct_dep = BuildGoPackageRequest(
import_path="example.com/foo/dep",
Expand Down
5 changes: 5 additions & 0 deletions src/python/pants/backend/go/util_rules/goroot.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ def is_compatible_version(self, version: str) -> bool:
"""Can this Go compiler handle the target version?"""
return compatible_go_version(compiler_version=self.version, target_version=version)

def major_version(self, version: str) -> str:
_version_components = version.split(".") # e.g. [1, 17] or [1, 17, 1]
major_version = f"{_version_components[0]}.{_version_components[1]}"
return major_version

@property
def full_version(self) -> str:
return self._raw_metadata["GOVERSION"]
Expand Down

0 comments on commit 8339035

Please sign in to comment.