Rules Go Versions Save

Go rules for Bazel

v0.46.0

2 months ago

WORKSPACE code

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "io_bazel_rules_go",
    sha256 = "80a98277ad1311dacd837f9b16db62887702e9f1d1c4c9f796d0121a46c8e184",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.46.0/rules_go-v0.46.0.zip",
        "https://github.com/bazelbuild/rules_go/releases/download/v0.46.0/rules_go-v0.46.0.zip",
    ],
)

load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")

go_rules_dependencies()

go_register_toolchains(version = "1.22.0")

What's Changed

New Contributors

Full Changelog: https://github.com/bazelbuild/rules_go/compare/v0.45.1...v0.46.0

v0.45.1

3 months ago

WORKSPACE code

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "io_bazel_rules_go",
    sha256 = "6734a719993b1ba4ebe9806e853864395a8d3968ad27f9dd759c196b3eb3abe8",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.45.1/rules_go-v0.45.1.zip",
        "https://github.com/bazelbuild/rules_go/releases/download/v0.45.1/rules_go-v0.45.1.zip",
    ],
)

load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")

go_rules_dependencies()

go_register_toolchains(version = "1.21.6")

What's Changed

Full Changelog: https://github.com/bazelbuild/rules_go/compare/v0.45.0...v0.45.1

v0.45.0

3 months ago

WORKSPACE code

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "io_bazel_rules_go",
    sha256 = "de7974538c31f76658e0d333086c69efdf6679dbc6a466ac29e65434bf47076d",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.45.0/rules_go-v0.45.0.zip",
        "https://github.com/bazelbuild/rules_go/releases/download/v0.45.0/rules_go-v0.45.0.zip",
    ],
)

load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")

go_rules_dependencies()

go_register_toolchains(version = "1.21.6")

What's Changed

New Contributors

Full Changelog: https://github.com/bazelbuild/rules_go/compare/v0.44.2...v0.45.0

v0.44.2

4 months ago

WORKSPACE code

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "io_bazel_rules_go",
    sha256 = "7c76d6236b28ff695aa28cf35f95de317a9472fd1fb14ac797c9bf684f09b37c",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.44.2/rules_go-v0.44.2.zip",
        "https://github.com/bazelbuild/rules_go/releases/download/v0.44.2/rules_go-v0.44.2.zip",
    ],
)

load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")

go_rules_dependencies()

go_register_toolchains(version = "1.21.5")

What's Changed

Full Changelog: https://github.com/bazelbuild/rules_go/compare/v0.44.1...v0.44.2

v0.44.1

4 months ago

Why a patch release

This patch release is to include https://github.com/bazelbuild/rules_go/commit/43c40a9a596fcf37a5b7b0ae5f32832277393587 which reverts a change to forcefully upgrade genproto transitively, which is causing linker failures since google.golang.org/genproto/googleapis/rpc was separated from google.golang.org/genproto

WORKSPACE code

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "io_bazel_rules_go",
    sha256 = "b6828eb2d03bb5ef76f2077f8670b211fe792e77ddb83450ea9f887df04db9c7",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.44.1/rules_go-v0.44.1.zip",
        "https://github.com/bazelbuild/rules_go/releases/download/v0.44.1/rules_go-v0.44.1.zip",
    ],
)

load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")

go_rules_dependencies()

go_register_toolchains(version = "1.21.5")

What's Changed

Full Changelog: https://github.com/bazelbuild/rules_go/compare/v0.44.0...v0.44.1

v0.44.0

4 months ago

IMPORTANT CHANGES

Tests now call panic() when they timeout

This means there is a running goroutine (which will fail goleak detection)

[Goroutine 26 in state chan receive, with github.com/bazelbuild/rules_go/go/tools/bzltestutil.RegisterTimeoutHandler.func1 on top of the

This also means there may be some different behavior when calling SIGTERM directly from within a test.

For more information see: https://github.com/bazelbuild/rules_go/pull/3749

Bzlmod support for nogo

This can be added in your MODULE.bazel file:

go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk")
go_sdk.download(
    name = "go_sdk",
    ...
)
go_sdk.nogo(
    nogo = "//:default_nogo",
)

For more information see https://github.com/bazelbuild/rules_go/pull/3782

WORKSPACE code

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "io_bazel_rules_go",
    sha256 = "c8035e8ae248b56040a65ad3f0b7434712e2037e5dfdcebfe97576e620422709",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.44.0/rules_go-v0.44.0.zip",
        "https://github.com/bazelbuild/rules_go/releases/download/v0.44.0/rules_go-v0.44.0.zip",
    ],
)

load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")

go_rules_dependencies()

go_register_toolchains(version = "1.21.5")

What's Changed

New Contributors

Full Changelog: https://github.com/bazelbuild/rules_go/compare/v0.43.0...v0.44.0

v0.43.0

5 months ago

Breaking x/tools upgrade

This change includes a breaking upgrade to golang.org/x/tools

Please make sure to upgrade x/tools to version v0.15.0 to ensure compatibility with rules_go's NoGo.

If you need to use an older version of x/tools (v0.13.0 or earlier), apply the following patch to rules_go: x-tools.patch

What's Changed

New Contributors

Full Changelog: https://github.com/bazelbuild/rules_go/compare/v0.42.0...v0.43.0

v0.42.0

7 months ago

What's Changed

Added patches to go_download_sdk:

Patches can now be applied to the standard library using go_download_sdk (and go_sdk.download for Bzlmod).

Example:

    go_download_sdk(
        name = "go_sdk",
        sdks = {
            "linux_amd64": (
                "go{}.linux-amd64.mirror6598503.tar.gz".format(go_version),
                "3f5c50e592d8845d30eebd08ddb9c670fd2d909e032b6c2b83ecf97afb34660c",
            ),
            "darwin_arm64": (
                "go{}.darwin-arm64.mirror6598503.tar.gz".format(go_version),
                "fbe78beee7861da09de9319498a1521bc41a8b79d3ead2218ce307b9fa5503e5",
            ),
        },
        patches = [
            "//patches:golang_osx_dns_workaround.patch",
        ],
        urls = ["https://dl.google.com/go/{}"],
        version = go_version,
    )

Other changes included:

  • d1da1bb5 Infer importpath if not set explicitly by @mering (#3705)
  • 7309aba8 Mark go_sdk module extension as {os,arch}_dependent by @fmeum (#3703)
  • 09a206c8 Symlink all SDK files with go_local_sdk by @fmeum (#3696)
  • 9ebc93cc [go_sdk download] allow patches to standard library by @tyler-french (#3684)
  • f03a723c bzltestutil: move os.Chdir call into new package by @jayconrod (#3681)
  • a8cb4b79 bzltestutil: set importmap to fix run_dir by @jayconrod (#3679)
  • 85f24400 Fix: update gomock.bzl by poping incompatible argument by @yongruilin (#3674)
  • 5206498b use carved out module for x/tools/go/vcs by @malt3 (#3671)
  • 2e821f66 cgo packages with assembly: Support CGO_ENABLED=0 by @evanj (#3661)
  • f64211a8 bzlmod: Add missing experiments and strip_prefix arguments by @fmeum (#3443) (#3663)
  • 0da92cd6 go_context: set GOTOOLCHAIN to 'local' by @sluongng (#3660)
  • edf5b64c compilepkg: cgo assembly uses the C compiler by @evanj (#3648)
  • 6e10f8c2 go/tools/gopackagesdriver: pass Compiler and Arch in DriverResponse by @matloob (#3657)
  • f5ae196b [proto] Allow multiple outputs from a proto compiler by @tingilee (#3650)
  • 57ef719d Add pgo support for go 1.20 by @prestonvanloon (#3641)
  • ce320216 Migrate exec_tools to tools on genrule by @fmeum (#3638)
  • 98165a62 Honor //go/config:linkmode for go_test by @fmeum (#3629)
  • 61c1e91d Fix //go/config:linkmode flag value not being effective by @fmeum (#3627)
  • b0a98519 Remove deprecated rules by @sluongng (#3538)
  • d2a3cf2d Fix compilation_outputs_test on Windows with latest Bazel by @fmeum (#3623)

Full Changelog: https://github.com/bazelbuild/rules_go/compare/v0.41.0...v0.42.0

WORKSPACE code

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "io_bazel_rules_go",
    sha256 = "91585017debb61982f7054c9688857a2ad1fd823fc3f9cb05048b0025c47d023",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.42.0/rules_go-v0.42.0.zip",
        "https://github.com/bazelbuild/rules_go/releases/download/v0.42.0/rules_go-v0.42.0.zip",
    ],
)

load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")

go_rules_dependencies()

go_register_toolchains(version = "1.21.1")

v0.41.0

9 months ago

What's Changed

Starting this release, rules_go no longer ship with @go_googleapis repo. Together with Gazelle v0.32.0, it means that all Go code importing generated code from Google APIs will depend on @org_golang_google_genproto, which is resolved by Go modules. For proto files importing Google APIs proto and generating Go code, users need to:

  1. Add an http_archive rule to download Google APIs, e.g.,
http_archive(
    name = "googleapis",
    sha256 = "9d1a930e767c93c825398b8f8692eca3fe353b9aaadedfbcf1fca2282c85df88",
    strip_prefix = "googleapis-64926d52febbf298cb82a8f472ade4a3969ba922",
    urls = [
        "https://github.com/googleapis/googleapis/archive/64926d52febbf298cb82a8f472ade4a3969ba922.zip",
    ],
)

load("@googleapis//:repository_rules.bzl", "switched_rules_by_language")

switched_rules_by_language(
    name = "com_google_googleapis_imports",
)

Note that the version of Google APIs archive needs to be compatible with the pre-generated code in @org_golang_google_genproto.

  1. Resolve the proto manually. If Gazelle is being used, directives like the following need to be added to a parent directory of the proto files:
# gazelle:resolve proto proto google/rpc/status.proto @googleapis//google/rpc:status_proto
# gazelle:resolve proto go google/rpc/status.proto  @org_golang_google_genproto//googleapis/rpc/status
# gazelle:resolve proto google/longrunning/operations.proto @googleapis//google/longrunning:operations_proto
# gazelle:resolve proto go google/longrunning/operations.proto @org_golang_google_genproto//googleapis/longrunning

Other changes included in this release

Full Changelog: https://github.com/bazelbuild/rules_go/compare/v0.40.1...v0.41.0

WORKSPACE code

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "io_bazel_rules_go",
    sha256 = "278b7ff5a826f3dc10f04feaf0b70d48b68748ccd512d7f98bf442077f043fe3",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.41.0/rules_go-v0.41.0.zip",
        "https://github.com/bazelbuild/rules_go/releases/download/v0.41.0/rules_go-v0.41.0.zip",
    ],
)

load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")

go_rules_dependencies()

go_register_toolchains(version = "1.20.5")

v0.40.1

10 months ago

WORKSPACE code

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "io_bazel_rules_go",
    sha256 = "51dc53293afe317d2696d4d6433a4c33feedb7748a9e352072e2ec3c0dafd2c6",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.40.1/rules_go-v0.40.1.zip",
        "https://github.com/bazelbuild/rules_go/releases/download/v0.40.1/rules_go-v0.40.1.zip",
    ],
)

load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")

go_rules_dependencies()

go_register_toolchains(version = "1.20.5")

Changes

This patch release cherry-picked two bug fixes related to Go package driver from master