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: 1 addition & 4 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,7 @@ 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: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

build --incompatible_enable_cc_toolchain_resolution

# Except in CI run E2E tests in headless mode
try-import %workspace%/user.bazelrc
Expand Down
27 changes: 12 additions & 15 deletions cmd/server/build-bazel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -57,44 +57,41 @@ 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 \
--bazelrc=.aspect/bazelrc/ci.bazelrc \
--bazelrc=.aspect/bazelrc/ci.sourcegraph.bazelrc \
build \
"${MUSL_TARGETS[@]}" \
--stamp \
--workspace_status_command=./dev/bazel_stamp_vars.sh \
--config incompat-zig-linux-amd64
--platforms @zig_sdk//platform:linux_amd64 \
--extra_toolchains @zig_sdk//toolchain:linux_amd64_musl

for MUSL_TARGET in "${MUSL_TARGETS[@]}"; do
out=$(bazel
"${bazelrc[@]}"
out=$(bazel --bazelrc=.bazelrc \
--bazelrc=.aspect/bazelrc/ci.bazelrc \
--bazelrc=.aspect/bazelrc/ci.sourcegraph.bazelrc \
cquery \
"$MUSL_TARGET" \
--stamp \
--workspace_status_command=./dev/bazel_stamp_vars.sh \
--config incompat-zig-linux-amd64 \
--platforms @zig_sdk//platform:linux_amd64 \
--extra_toolchains @zig_sdk//toolchain:linux_amd64_musl \
--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: 12 additions & 18 deletions cmd/symbols/build-bazel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,31 +12,25 @@ cleanup() {
trap cleanup EXIT

echo "--- bazel build"

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


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

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

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

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 \
--bazelrc=.aspect/bazelrc/ci.bazelrc \
--bazelrc=.aspect/bazelrc/ci.sourcegraph.bazelrc \
build \
//enterprise/cmd/symbols \
--stamp \
--workspace_status_command=./dev/bazel_stamp_vars.sh \
--config incompat-zig-linux-amd64
--platforms @zig_sdk//platform:linux_amd64 \
--extra_toolchains @zig_sdk//toolchain:linux_amd64_musl

out=$(
bazel \
"${bazelrc[@]}" \
bazel --bazelrc=.bazelrc \
--bazelrc=.aspect/bazelrc/ci.bazelrc \
--bazelrc=.aspect/bazelrc/ci.sourcegraph.bazelrc \
cquery \
//enterprise/cmd/symbols \
--stamp \
--workspace_status_command=./dev/bazel_stamp_vars.sh \
--config incompat-zig-linux-amd64 \
--platforms @zig_sdk//platform:linux_amd64 \
--extra_toolchains @zig_sdk//toolchain:linux_amd64_musl \
--output=files
)
cp "$out" "$OUTPUT"
Expand Down
1 change: 0 additions & 1 deletion enterprise/dev/app/build-backend.sh
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@ 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