26 lines
899 B
Bash
Executable File
26 lines
899 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -o errexit -o nounset -o pipefail
|
|
|
|
# This script is called by Bazel when it needs info about the git state.
|
|
# The --workspace_status_command flag tells Bazel the location of this script.
|
|
# This is configured in `/.bazelrc`.
|
|
set -o pipefail -o errexit -o nounset
|
|
|
|
function has_local_changes {
|
|
if [ "$(git status --porcelain)" != "" ]; then
|
|
echo dirty
|
|
else
|
|
echo clean
|
|
fi
|
|
}
|
|
|
|
# "stable" keys, should remain constant over rebuilds, therefore changed values will cause a
|
|
# rebuild of any stamped action that uses ctx.info_file or genrule with stamp = True
|
|
# Note, BUILD_USER is automatically available in the stable-status.txt, it matches $USER
|
|
echo "STABLE_BUILD_SCM_SHA $(git rev-parse HEAD)"
|
|
echo "STABLE_BUILD_SCM_LOCAL_CHANGES $(has_local_changes)"
|
|
|
|
if [ "$(git tag | wc -l)" -gt 0 ]; then
|
|
echo "STABLE_BUILD_SCM_TAG $(git describe --tags)"
|
|
fi
|