#!/bin/bash set -euo pipefail # Emit extra version string (if any) to append to BROGUE_VERSION_STRING # Release builds should write nothing to stdout. Development builds # (everything else) should write something, but what depends on the information # available. # If we're in CI and the ref is the gha-build branch, assume we are a release if [[ ${GITHUB_ACTIONS:-false} == true ]] && [[ $GITHUB_REF =~ ^refs/heads/gha-build ]] then exit 0 fi # Otherwise we must be a development build if [[ ${GITHUB_ACTIONS:-false} == true ]] then # If we're in CI, use what they hand us # If it's a branch, strip refs/heads. Highlight tags by keeping the prefix EXTRA_VERSION="-dev.${GITHUB_SHA:0:7}.${GITHUB_REF##refs/heads/}" elif { which git && git rev-parse --show-toplevel; } >/dev/null 2>&1 then # Otherwise inspect git if it and a repo are available EXTRA_VERSION="-dev.$(git log -1 --format='%h').$(git rev-parse --abbrev-ref HEAD)" else # Finally, if nothing else just call it "development" EXTRA_VERSION=-dev fi # No matter what, limit the extra version to 64 characters echo "${EXTRA_VERSION:0:64}"