mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-16 01:44:03 +03:00
776c550654
Includes version command and makefile integration along with docs command
47 lines
1.3 KiB
Bash
Executable File
47 lines
1.3 KiB
Bash
Executable File
#!/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)"
|