Skip to content

Commit ced7762

Browse files
committed
build: enable custom toolchain use in crlib
We set up a patch to enable the crdb-specific code in crlib/crsync. We add a test in syncutil which verifies that the correct path is being used. Epic: none Release note: None
1 parent 0c9c77f commit ced7762

File tree

8 files changed

+70
-8
lines changed

8 files changed

+70
-8
lines changed

DEPS.bzl

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1750,10 +1750,14 @@ def go_deps():
17501750
name = "com_github_cockroachdb_crlib",
17511751
build_file_proto_mode = "disable_global",
17521752
importpath = "github.com/cockroachdb/crlib",
1753-
sha256 = "4e2aad9df48f99411a51186fdf92041c881adc642c87106776734e8a64578077",
1754-
strip_prefix = "github.com/cockroachdb/[email protected]",
1753+
patch_args = ["-p1"],
1754+
patches = [
1755+
"@com_github_cockroachdb_cockroach//build/patches:com_github_cockroachdb_crlib.patch",
1756+
],
1757+
sha256 = "539dd737ca1da53ee5c296ea0f3aad92f6d59f577e0d169dffb5a4ad706e1728",
1758+
strip_prefix = "github.com/cockroachdb/[email protected]",
17551759
urls = [
1756-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/crlib/com_github_cockroachdb_crlib-v0.0.0-20250916151006-1094cb39adac.zip",
1760+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/crlib/com_github_cockroachdb_crlib-v0.0.0-20251001180057-2a49e1873587.zip",
17571761
],
17581762
)
17591763
go_repository(

build/bazelutil/distdir_files.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,7 @@ DISTDIR_FILES = {
346346
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/cmux/com_github_cockroachdb_cmux-v0.0.0-20250514152509-914d3bf9ec58.zip": "c1cf4cd99a1ad6a00f2ccd4188cbcf004cb0d56895670b2c171061ce564cd791",
347347
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/cockroach-go/v2/com_github_cockroachdb_cockroach_go_v2-v2.4.1.zip": "ba646db91152f3121a6812c7b74d12d8c0e126f7b4d3b927618b159692ceb424",
348348
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/crlfmt/com_github_cockroachdb_crlfmt-v0.0.0-20221214225007-b2fc5c302548.zip": "fedc01bdd6d964da0425d5eaac8efadc951e78e13f102292cc0774197f09ab63",
349-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/crlib/com_github_cockroachdb_crlib-v0.0.0-20250916151006-1094cb39adac.zip": "4e2aad9df48f99411a51186fdf92041c881adc642c87106776734e8a64578077",
349+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/crlib/com_github_cockroachdb_crlib-v0.0.0-20251001180057-2a49e1873587.zip": "539dd737ca1da53ee5c296ea0f3aad92f6d59f577e0d169dffb5a4ad706e1728",
350350
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/datadriven/com_github_cockroachdb_datadriven-v1.0.3-0.20250911232732-d959cf14706c.zip": "417027b5ff27774000129768f79e9ae62021b95d3ac9d3181e132dbe46b44da3",
351351
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/drpc/com_github_cockroachdb_drpc-v0.0.0-20250924114114-78d4e121902a.zip": "98b44a51f82873f93f77da80230212ab40f35044e8d38645cb1392ae03462f0b",
352352
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/errors/com_github_cockroachdb_errors-v1.12.0.zip": "f73d8a5f4d8fcbc4ed61db2b47f17e2601d8b32e9a49c0665667489d9d9d6e7c",
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
diff --git a/crsync/BUILD.bazel b/crsync/BUILD.bazel
2+
index e787597..0c25863 100644
3+
--- a/crsync/BUILD.bazel
4+
+++ b/crsync/BUILD.bazel
5+
@@ -4,13 +4,22 @@ go_library(
6+
name = "crsync",
7+
srcs = [
8+
"counters.go",
9+
- "sharding_vanilla.go",
10+
+ ":gen-sharding_crdb",
11+
"typed_atomic.go",
12+
],
13+
importpath = "github.com/cockroachdb/crlib/crsync",
14+
visibility = ["//visibility:public"],
15+
)
16+
17+
+REMOVE_GO_BUILD_CONSTRAINTS = "cat $< | grep -v '//go:build' | grep -v '// +build' > $@"
18+
+
19+
+genrule(
20+
+ name = "gen-sharding_crdb",
21+
+ srcs = ["sharding_crdb.go"],
22+
+ outs = ["gen-sharding_crdb.go"],
23+
+ cmd = REMOVE_GO_BUILD_CONSTRAINTS,
24+
+)
25+
+
26+
alias(
27+
name = "go_default_library",
28+
actual = ":crsync",

build/scripts/patch-apply.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ echo ""
4949

5050
if patch -p1 < "$PATCH_FILE"; then
5151
echo "Patch applied successfully."
52+
echo ""
53+
echo "If you get an error applying the patch when building: comment out the patch in DEPS.bzl,"
54+
echo "build cockroach, then inspect the relevant files in _bazel/cockroach/external/<repo>".
5255
else
5356
echo "Failed to apply patch."
5457
echo "Make sure the repository is at the proper commit."

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ require (
136136
github.com/cockroachdb/cmux v0.0.0-20250514152509-914d3bf9ec58
137137
github.com/cockroachdb/cockroach-go/v2 v2.4.1
138138
github.com/cockroachdb/crlfmt v0.0.0-20221214225007-b2fc5c302548
139-
github.com/cockroachdb/crlib v0.0.0-20250916151006-1094cb39adac
139+
github.com/cockroachdb/crlib v0.0.0-20251001180057-2a49e1873587
140140
github.com/cockroachdb/datadriven v1.0.3-0.20250911232732-d959cf14706c
141141
github.com/cockroachdb/errors v1.12.0
142142
github.com/cockroachdb/go-test-teamcity v0.0.0-20191211140407-cff980ad0a55

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -555,8 +555,8 @@ github.com/cockroachdb/cockroach-go/v2 v2.4.1 h1:ACVT/zXsuK6waRPVYtDQpsM8pPA7IA/
555555
github.com/cockroachdb/cockroach-go/v2 v2.4.1/go.mod h1:9U179XbCx4qFWtNhc7BiWLPfuyMVQ7qdAhfrwLz1vH0=
556556
github.com/cockroachdb/crlfmt v0.0.0-20221214225007-b2fc5c302548 h1:i0bnjanlWAvM50wHMT7EFyxlt5HQusznWrkwl+HBIsU=
557557
github.com/cockroachdb/crlfmt v0.0.0-20221214225007-b2fc5c302548/go.mod h1:qtkxNlt5i3rrdirfJE/bQeW/IeLajKexErv7jEIV+Uc=
558-
github.com/cockroachdb/crlib v0.0.0-20250916151006-1094cb39adac h1:L+7nhSrQ9WzW91AJHP0LmjwMHEed2nl5b7PvN9eIw58=
559-
github.com/cockroachdb/crlib v0.0.0-20250916151006-1094cb39adac/go.mod h1:Gq51ZeKaFCXk6QwuGM0w1dnaOqc/F5zKT2zA9D6Xeac=
558+
github.com/cockroachdb/crlib v0.0.0-20251001180057-2a49e1873587 h1:qjG2TrBrPbGRVYp5obcAi8OSsuFJ8s1AElDImHLV9tY=
559+
github.com/cockroachdb/crlib v0.0.0-20251001180057-2a49e1873587/go.mod h1:ae57yNis2F1FThSNdPdoXfiPOVi8G1TLreCBQYPOdqo=
560560
github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=
561561
github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU=
562562
github.com/cockroachdb/datadriven v1.0.3-0.20250911232732-d959cf14706c h1:a0m7gmtv2mzJQ4wP9BkxCmJAnjZ7fsvCi2IORGD1als=

pkg/util/syncutil/BUILD.bazel

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ go_test(
2323
size = "small",
2424
srcs = [
2525
"atomic_test.go",
26+
"crsync_test.go",
2627
"map_bench_test.go",
2728
"map_reference_test.go",
2829
"map_test.go",
@@ -31,5 +32,8 @@ go_test(
3132
"set_test.go",
3233
],
3334
embed = [":syncutil"],
34-
deps = ["@com_github_stretchr_testify//require"],
35+
deps = [
36+
"@com_github_cockroachdb_crlib//crsync",
37+
"@com_github_stretchr_testify//require",
38+
],
3539
)

pkg/util/syncutil/crsync_test.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// Copyright 2026 The Cockroach Authors.
2+
//
3+
// Use of this software is governed by the CockroachDB Software License
4+
// included in the /LICENSE file.
5+
6+
// This file verifies that crlib is set up to use the CRDB Go toolchain when
7+
// built with bazel.
8+
//
9+
//go:build bazel
10+
11+
package syncutil
12+
13+
import (
14+
"testing"
15+
16+
"github.com/cockroachdb/crlib/crsync"
17+
)
18+
19+
func TestCRSync(t *testing.T) {
20+
if !crsync.UsingCockroachGo {
21+
t.Fatalf("expected crsync.UsingCockroachGo to be true")
22+
}
23+
}

0 commit comments

Comments
 (0)