mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-22 23:11:41 +03:00
47 lines
1.3 KiB
Bash
47 lines
1.3 KiB
Bash
|
#!/usr/bin/env sh
|
||
|
set -e
|
||
|
|
||
|
get_changes_hash()
|
||
|
{
|
||
|
# We use this to determine if there are any new additions
|
||
|
local GIT_STATUS="$(git status --porcelain)"
|
||
|
# To determine if there are any changes
|
||
|
local GIT_DIFF_INDEX="$(git diff-index -p HEAD --)"
|
||
|
# Whether anything changed in the repo
|
||
|
export GIT_DIRTY="$GIT_STATUS$GIT_DIFF_INDEX"
|
||
|
if [ -n "$GIT_DIRTY" ]; then
|
||
|
DIRTY_HASH_SHORT="$(echo $GIT_DIRTY | sha256sum | awk '{print $1}' | tail -c 9)"
|
||
|
echo -dirty-$DIRTY_HASH_SHORT
|
||
|
else
|
||
|
echo ''
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
get_main_version()
|
||
|
{
|
||
|
# Get the branch name
|
||
|
local GIT_BRANCH="$(git rev-parse --abbrev-ref HEAD)"
|
||
|
# Get the current commit id
|
||
|
local COMMIT_HASH_SHORT="$(git rev-parse --short HEAD)"
|
||
|
|
||
|
case "$GIT_BRANCH" in
|
||
|
|
||
|
# The master branch
|
||
|
'master')
|
||
|
echo $COMMIT_HASH_SHORT;;
|
||
|
|
||
|
# The release branches
|
||
|
release-*)
|
||
|
local RELEASE_VER="$(git describe --match "v[0-9]*" HEAD 2>/dev/null)"
|
||
|
test -n "$RELEASE_VER" ||
|
||
|
RELEASE_VER="$(expr "$GIT_BRANCH" : release-*'\(.*\)')"-$COMMIT_HASH_SHORT
|
||
|
echo $RELEASE_VER;;
|
||
|
|
||
|
# Everything else
|
||
|
*)
|
||
|
echo $GIT_BRANCH-$COMMIT_HASH_SHORT;;
|
||
|
esac
|
||
|
}
|
||
|
|
||
|
echo "$(get_main_version)$(get_changes_hash)"
|