Skip to content
This repository was archived by the owner on Sep 30, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,10 @@ build --test_env=ENABLE_BAZEL_PACKAGES_LOAD_HACK=true

# Needed by https://github.com/uber/bazel-zig-cc which we use to cross-compile
# CGo code for cmd/symbols to be used in containers.
build --incompatible_enable_cc_toolchain_resolution
build:incompat-zig-linux-amd64 --incompatible_enable_cc_toolchain_resolution
build:incompat-zig-linux-amd64 --platforms @zig_sdk//platform:linux_amd64
build:incompat-zig-linux-amd64 --extra_toolchains @zig_sdk//toolchain:linux_amd64_musl


# Except in CI run E2E tests in headless mode
try-import %workspace%/user.bazelrc
Expand Down
27 changes: 15 additions & 12 deletions cmd/server/build-bazel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -57,41 +57,44 @@ MUSL_TARGETS=(

if [[ "${ENTERPRISE:-"false"}" == "false" ]]; then
MUSL_TARGETS+=(//cmd/symbols)
exit $?
else
MUSL_TARGETS+=(//enterprise/cmd/symbols)
fi

bazelrc=(
--bazelrc=.bazelrc
)
if [[ ${CI:-""} == "true" ]]; then
bazelrc+=(
--bazelrc=.aspect/bazelrc/ci.bazelrc
--bazelrc=.aspect/bazelrc/ci.sourcegraph.bazelrc
)
fi

echo "--- bazel build musl"
bazel \
--bazelrc=.bazelrc \
--bazelrc=.aspect/bazelrc/ci.bazelrc \
--bazelrc=.aspect/bazelrc/ci.sourcegraph.bazelrc \
"${bazelrc[@]}"
build \
"${MUSL_TARGETS[@]}" \
--stamp \
--workspace_status_command=./dev/bazel_stamp_vars.sh \
--platforms @zig_sdk//platform:linux_amd64 \
--extra_toolchains @zig_sdk//toolchain:linux_amd64_musl
--config incompat-zig-linux-amd64

for MUSL_TARGET in "${MUSL_TARGETS[@]}"; do
out=$(bazel --bazelrc=.bazelrc \
--bazelrc=.aspect/bazelrc/ci.bazelrc \
--bazelrc=.aspect/bazelrc/ci.sourcegraph.bazelrc \
out=$(bazel
"${bazelrc[@]}"
cquery \
"$MUSL_TARGET" \
--stamp \
--workspace_status_command=./dev/bazel_stamp_vars.sh \
--platforms @zig_sdk//platform:linux_amd64 \
--extra_toolchains @zig_sdk//toolchain:linux_amd64_musl \
--config incompat-zig-linux-amd64 \
--output=files)
cp "$out" "$BINDIR"
echo "copying $MUSL_TARGET"
done

if [[ "${ENTERPRISE:-"false"}" == "false" ]]; then
TARGETS=("${OSS_TARGETS[@]}")
exit $?
else
TARGETS=("${ENTERPRISE_TARGETS[@]}")
fi
Expand Down
30 changes: 18 additions & 12 deletions cmd/symbols/build-bazel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,25 +12,31 @@ cleanup() {
trap cleanup EXIT

echo "--- bazel build"
bazel build \
--bazelrc=.bazelrc \
--bazelrc=.aspect/bazelrc/ci.bazelrc \
--bazelrc=.aspect/bazelrc/ci.sourcegraph.bazelrc \

bazelrc=(
--bazelrc=.bazelrc
)
if [[ ${CI:-""} == "true" ]]; then
bazelrc+=(
--bazelrc=.aspect/bazelrc/ci.bazelrc
--bazelrc=.aspect/bazelrc/ci.sourcegraph.bazelrc
)
fi


bazel "${bazelrc[@]}" \
build \
//cmd/symbols \
--stamp \
--workspace_status_command=./dev/bazel_stamp_vars.sh \
--platforms @zig_sdk//platform:linux_amd64 \
--extra_toolchains @zig_sdk//toolchain:linux_amd64_musl
--config incompat-zig-linux-amd64

out=$(
bazel build \
--bazelrc=.bazelrc \
--bazelrc=.aspect/bazelrc/ci.bazelrc \
--bazelrc=.aspect/bazelrc/ci.sourcegraph.bazelrc \ cquery //cmd/symbols \
bazel "${bazelrc[@]}" \
cquery //cmd/symbols \
--stamp \
--workspace_status_command=./dev/bazel_stamp_vars.sh \
--platforms @zig_sdk//platform:linux_amd64 \
--extra_toolchains @zig_sdk//toolchain:linux_amd64_musl \
--config incompat-zig-linux-amd64 \
--output=files
)
cp "$out" "$OUTPUT"
Expand Down
27 changes: 16 additions & 11 deletions enterprise/cmd/symbols/build-bazel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,36 +3,41 @@
# This script builds the symbols docker image.

cd "$(dirname "${BASH_SOURCE[0]}")/../../.."
set -eux
set -eu

OUTPUT=$(mktemp -d -t sgdockerbuild_XXXXXXX)
cleanup() {
rm -rf "$OUTPUT"
}
trap cleanup EXIT

bazelrc=(
--bazelrc=.bazelrc
)
if [[ ${CI:-""} == "true" ]]; then
bazelrc+=(
--bazelrc=.aspect/bazelrc/ci.bazelrc
--bazelrc=.aspect/bazelrc/ci.sourcegraph.bazelrc
)
fi

echo "--- bazel build"
bazel \
--bazelrc=.bazelrc \
--bazelrc=.aspect/bazelrc/ci.bazelrc \
--bazelrc=.aspect/bazelrc/ci.sourcegraph.bazelrc \
"${bazelrc[@]}" \
build \
//enterprise/cmd/symbols \
--stamp \
--workspace_status_command=./dev/bazel_stamp_vars.sh \
--platforms @zig_sdk//platform:linux_amd64 \
--extra_toolchains @zig_sdk//toolchain:linux_amd64_musl
--config incompat-zig-linux-amd64

out=$(
bazel --bazelrc=.bazelrc \
--bazelrc=.aspect/bazelrc/ci.bazelrc \
--bazelrc=.aspect/bazelrc/ci.sourcegraph.bazelrc \
bazel \
"${bazelrc[@]}" \
cquery \
//enterprise/cmd/symbols \
--stamp \
--workspace_status_command=./dev/bazel_stamp_vars.sh \
--platforms @zig_sdk//platform:linux_amd64 \
--extra_toolchains @zig_sdk//toolchain:linux_amd64_musl \
--config incompat-zig-linux-amd64 \
--output=files
)
cp "$out" "$OUTPUT"
Expand Down
1 change: 1 addition & 0 deletions enterprise/dev/app/build-backend.sh
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ bazel_build() {
# for more info see the BUILD.bazel file in enterprise/cmd/sourcegraph
if [[ ${CROSS_COMPILE_X86_64_MACOS:-0} == 1 ]]; then
bazel_target="//enterprise/cmd/sourcegraph:sourcegraph_x86_64_darwin"
# we don't use the incompat-zig-linux-amd64 bazel config here, since we need bazel to pick up the host cc
bazel_opts="${bazel_opts} --platforms @zig_sdk//platform:darwin_amd64 --extra_toolchains @zig_sdk//toolchain:darwin_amd64"
fi

Expand Down