Mercurial
diff hg-web/deploy.sh @ 227:8bb0ac8f4587
[hg-web] Add Bazel deployment target
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Sun, 02 Aug 2026 16:31:44 -0700 |
| parents | ce7f4400c2de |
| children | c5129452493e |
line wrap: on
line diff
--- a/hg-web/deploy.sh Sun Aug 02 14:42:01 2026 -0700 +++ b/hg-web/deploy.sh Sun Aug 02 16:31:44 2026 -0700 @@ -8,15 +8,45 @@ SERVICE_USER="${SERVICE_USER:-hg_web_server}" SERVICE_GROUP="${SERVICE_GROUP:-zenbu_team}" -workspace="$(hg root)" +workspace="${BUILD_WORKSPACE_DIRECTORY:-$(hg root)}" cd "$workspace" +if [[ -n "${BUILD_WORKSPACE_DIRECTORY:-}" ]]; then + if [[ -n "${RUNFILES_DIR:-}" ]]; then + source "$RUNFILES_DIR/bazel_tools/tools/bash/runfiles/runfiles.bash" + elif [[ -n "${RUNFILES_MANIFEST_FILE:-}" ]]; then + runfiles_library="$( + grep -sm1 '^bazel_tools/tools/bash/runfiles/runfiles.bash ' \ + "$RUNFILES_MANIFEST_FILE" | cut -d' ' -f2- + )" + source "$runfiles_library" + elif [[ -d "$0.runfiles" ]]; then + RUNFILES_DIR="$0.runfiles" + export RUNFILES_DIR + source "$RUNFILES_DIR/bazel_tools/tools/bash/runfiles/runfiles.bash" + elif [[ -f "$0.runfiles_manifest" ]]; then + RUNFILES_MANIFEST_FILE="$0.runfiles_manifest" + export RUNFILES_MANIFEST_FILE + runfiles_library="$( + grep -sm1 '^bazel_tools/tools/bash/runfiles/runfiles.bash ' \ + "$RUNFILES_MANIFEST_FILE" | cut -d' ' -f2- + )" + source "$runfiles_library" + else + echo "Bazel runfiles are unavailable." >&2 + exit 1 + fi + bundle_dir="$(rlocation _main/hg-web/hg_web_server_bundle)" +else + bazel build -c opt //hg-web:hg_web_server_bundle + bundle_dir="bazel-bin/hg-web/hg_web_server_bundle" +fi + revision="$(hg log -r . -T '{node|short}')" release_name="${revision}-$(date -u +%Y%m%dT%H%M%SZ)" release_dir="${RELEASE_ROOT}/${release_name}" staging_dir="${RELEASE_ROOT}/.${release_name}.tmp" next_link="${ACTIVE_PATH}.next" -bundle_dir="bazel-bin/hg-web/hg_web_server_bundle" previous_release="" promoted=0 @@ -53,8 +83,6 @@ } trap rollback ERR -bazel build -c opt //hg-web:hg_web_server_bundle - sudo install -d -o root -g "$SERVICE_GROUP" -m 0755 "$RELEASE_ROOT" sudo rm -rf "$staging_dir" sudo install -d -o "$SERVICE_USER" -g "$SERVICE_GROUP" -m 0755 "$staging_dir"