Change how builds are made

main
Ruakij 1 year ago
parent 9c7f2ebfbc
commit a74f81c399

@ -2,8 +2,7 @@
PLATFORM=${PLATFORM:-"linux/amd64,linux/arm64/v8,linux/arm/v7"} PLATFORM=${PLATFORM:-"linux/amd64,linux/arm64/v8,linux/arm/v7"}
docker buildx build \ docker buildx build \
--platform $PLATFORM \ --platform $PLATFORM \
--tag $TAG:latest \ $TAGS_ARG \
--tag "${TAG}:${VERSION}" \ $EXTRA_ARGS \
$EXTRA_ARGS \ $WORKDIR
$WORKDIR

@ -1,7 +1,6 @@
#!/bin/bash #!/bin/bash
docker build \ docker build \
--tag $TAG:latest \ $TAGS_ARG \
--tag $TAG:$VERSION \ $EXTRA_ARGS \
$EXTRA_ARGS \ "$WORKDIR"
"$WORKDIR"

@ -28,28 +28,52 @@ if [ "$cloned" != True ]; then
defaultBranch=$(git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@') defaultBranch=$(git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@')
git checkout "${defaultBranch}" git checkout "${defaultBranch}"
git pull # Get changes git pull # Get changes
fi fi
# Checkout when set # Checkout when set
if [ "$GIT_CHECKOUT" != "" ]; then if [ "$GIT_CHECKOUT" != "" ]; then
# Handle special directives # Handle special directives
if [ "$GIT_CHECKOUT" = "latest-tag" ]; then if [ "$GIT_CHECKOUT" = "latest-tag" ]; then
GIT_CHECKOUT=$(git describe --tags `git rev-list --tags --max-count=1`) # Get latest tag GIT_CHECKOUT=$(git describe --tags $(git rev-list --tags --max-count=1)) # Get latest tag
fi fi
git checkout $GIT_CHECKOUT git checkout $GIT_CHECKOUT
fi fi
# --- VERSION --- # --- VERSION ---
# Get current version to build # When not set
VERSION=$(git describe --tags --long) if [ "$GIT_CHECKOUT" == "" ]; then
if [ $? -ne 0 ]; then # Get current version to build
VERSION=$(git rev-parse HEAD) VERSION=$(git describe --tags --long)
if [ $? -ne 0 ]; then
VERSION=$(git rev-parse HEAD)
fi
export VERSION
fi fi
export VERSION
printf "Version: ${VERSION}\n" printf "Version: ${VERSION}\n"
TAG=${TAG:-"${TAGPREFIX}${NAME}"} # --- TAGS ---
printf "> ${TAG}\n" IFS='-.' read -ra ADDR <<<"$VERSION"
TAG_VERS=("latest")
currentTag="${ADDR[0]}"
TAG_VERS+=("$currentTag")
for i in $(seq 1 $((${#ADDR[@]} - 1))); do
delimiter="."
if [[ $VERSION == *"${currentTag}-${ADDR[$i]}"* ]]; then
delimiter="-"
fi
currentTag="${currentTag}${delimiter}${ADDR[$i]}"
TAG_VERS+=("$currentTag")
done
# Generate TAG_VERS_ARG
printf "TAG_VERS:\n"
for tag_ver in "${TAG_VERS[@]}"; do
TAG="${TAGPREFIX}${NAME}:${tag_ver}"
TAGS_ARG="$TAGS_ARG --tag $TAG"
echo "- $TAG"
done

Loading…
Cancel
Save