You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
DockerBUILDs/scripts/utils/prepare.sh

56 lines
1.2 KiB
Bash

#!/bin/sh
# --- VARIABLES ---
# Load variables
source $WORKDIR/info.env
# Check if certain vars are overwritten, set them if missing
if [ "${NAME}" = "" ]; then
NAME="$(basename $WORKDIR)"
fi
export NAME
printf "Name: ${NAME}\n"
repositoryFolder="$WORKDIR/.build/repository"
# --- SOURCES ---
# Get sources locally
if ! [ -d "$repositoryFolder" ]; then
git clone "${GIT_REPOSITORY}" .
cloned=True
fi
# Change into repository
cd "$repositoryFolder"
if [ "$cloned" != True ]; then
# Checkout default-branch in case GIT_CHECKOUT was different
defaultBranch=$(git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@')
git checkout "${defaultBranch}"
git pull # Get changes
fi
# Checkout when set
if [ "$GIT_CHECKOUT" != "" ]; then
# Handle special directives
if [ "$GIT_CHECKOUT" = "latest-tag" ]; then
GIT_CHECKOUT=$(git describe --tags `git rev-list --tags --max-count=1`) # Get latest tag
fi
git checkout $GIT_CHECKOUT
fi
# --- VERSION ---
# Get current version to build
VERSION=$(git describe --tags --long)
if [ $? -ne 0 ]; then
VERSION=$(git rev-parse HEAD)
fi
export VERSION
printf "Version: ${VERSION}\n"
TAG=${TAG:-"${TAG_PREFIX}${NAME}"}
printf "> ${TAG}\n"