Skip to content

Commit

Permalink
Generate common Bazel CI settings using a helper script
Browse files Browse the repository at this point in the history
  • Loading branch information
avdv committed Dec 6, 2022
1 parent 3ef8023 commit bfdf529
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 36 deletions.
18 changes: 18 additions & 0 deletions .github/workflows/bazelrc-config.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/usr/bin/env bash

set -e -o pipefail -o nounset

if [ -z "$BUILDBUDDY_API_KEY" ]; then
cache_setting='--noremote_upload_local_results'
else
cache_setting="--remote_header=x-buildbuddy-api-key=$BUILDBUDDY_API_KEY"
fi

cat <<EOF
common --config=ci
build --build_metadata=REPO_URL=${GITHUB_REPOSITORY}
build --build_metadata=BRANCH_NAME=${GITHUB_REF_NAME}
build --build_metadata=COMMIT_SHA=${GITHUB_SHA}
build:ci --build_metadata=ROLE=CI
build $cache_setting
EOF
4 changes: 2 additions & 2 deletions .github/workflows/patch-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,10 @@ jobs:
Linux) BUILD_CONFIG=ci-linux-bindist;;
Windows) BUILD_CONFIG=ci-windows-bindist;;
esac
.github/workflows/bazelrc-config.sh >.bazelrc.ci
cat >.bazelrc.local <<EOF
common --config=ci
build --config=$BUILD_CONFIG
build --remote_header=x-buildbuddy-api-key="$BUILDBUDDY_API_KEY"
import %workspace%/.bazelrc.ci
EOF
cat >~/.netrc <<EOF
machine api.github.com
Expand Down
39 changes: 6 additions & 33 deletions .github/workflows/workflow.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,19 +41,10 @@ jobs:
macOS) BUILD_CONFIG=ci-macos-nixpkgs;;
Linux) BUILD_CONFIG=ci-linux-nixpkgs;;
esac
if [ -z "$BUILDBUDDY_API_KEY" ]; then
cache_setting='--noremote_upload_local_results'
else
cache_setting="--remote_header=x-buildbuddy-api-key=$BUILDBUDDY_API_KEY"
fi
.github/workflows/bazelrc-config.sh >.bazelrc.ci
cat >.bazelrc.local <<EOF
common --config=ci
build --config=$BUILD_CONFIG
build --build_metadata=REPO_URL=${GITHUB_REPOSITORY}
build --build_metadata=BRANCH_NAME=${GITHUB_REF_NAME}
build --build_metadata=COMMIT_SHA=${GITHUB_SHA}
build --build_metadata=ROLE=CI
build $cache_setting
import %workspace%/.bazelrc.ci
EOF
cat >~/.netrc <<EOF
machine api.github.com
Expand Down Expand Up @@ -97,19 +88,10 @@ jobs:
# Avoid failures of the form `deadline exceeded after 14999958197ns DEADLINE_EXCEEDED`.
# See https://github.com/tweag/rules_haskell/issues/1498 and https://github.com/tweag/rules_haskell/pull/1692.
sudo sysctl -w net.ipv4.tcp_keepalive_time=60
if [ -z "$BUILDBUDDY_API_KEY" ]; then
cache_setting='--noremote_upload_local_results'
else
cache_setting="--remote_header=x-buildbuddy-api-key=$BUILDBUDDY_API_KEY"
fi
.github/workflows/bazelrc-config.sh >.bazelrc.ci
cat >.bazelrc.local <<EOF
common --config=ci
build --config=linux-nixpkgs
build --build_metadata=REPO_URL=${GITHUB_REPOSITORY}
build --build_metadata=BRANCH_NAME=${GITHUB_REF_NAME}
build --build_metadata=COMMIT_SHA=${GITHUB_SHA}
build --build_metadata=ROLE=CI
build $cache_setting
import %workspace%/.bazelrc.ci
EOF
ln -sr .bazelrc.local examples/arm/.bazelrc.local
cat >~/.netrc <<EOF
Expand Down Expand Up @@ -164,19 +146,10 @@ jobs:
Linux) BUILD_CONFIG=ci-linux-bindist;;
Windows) BUILD_CONFIG=ci-windows-bindist;;
esac
if [ -z "$BUILDBUDDY_API_KEY" ]; then
cache_setting='--noremote_upload_local_results'
else
cache_setting="--remote_header=x-buildbuddy-api-key=$BUILDBUDDY_API_KEY"
fi
.github/workflows/bazelrc-config.sh >.bazelrc.ci
cat >.bazelrc.local <<EOF
common --config=ci
build --config=$BUILD_CONFIG
build --build_metadata=REPO_URL=${GITHUB_REPOSITORY}
build --build_metadata=BRANCH_NAME=${GITHUB_REF_NAME}
build --build_metadata=COMMIT_SHA=${GITHUB_SHA}
build --build_metadata=ROLE=CI
build $cache_setting
import %workspace%/.bazelrc.ci
EOF
cat >~/.netrc <<EOF
machine api.github.com
Expand Down
2 changes: 1 addition & 1 deletion tests/run-start-script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ case "$OSTYPE" in
;;
esac

cp "${pwd}/.bazelrc.local" .
cp "${pwd}/.bazelrc.ci" .bazelrc.local

NIX_PATH=nixpkgs="$pwd/nixpkgs/default.nix" \
bazel run \
Expand Down

0 comments on commit bfdf529

Please sign in to comment.