Skip to content
This repository was archived by the owner on Sep 3, 2024. It is now read-only.

Commit 929a927

Browse files
detecting a tagged version with no prerelease
1 parent dbb6139 commit 929a927

File tree

1 file changed

+38
-6
lines changed

1 file changed

+38
-6
lines changed

build.sh

Lines changed: 38 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,41 @@
11
#!/usr/bin/env bash
2-
DOCKERTAG=${TRAVIS_TAG:-latest}
32

4-
docker build \
5-
--build-arg VERSION=$VERSION \
6-
--build-arg MYGET_API_KEY=$MYGET_API_KEY \
7-
--tag sql-stream-store-browser:${DOCKERTAG} .
3+
SEMVER_REGEX="^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)(\\-[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"
84

9-
docker images --filter=reference="sql-stream-store-browser:${DOCKERTAG}"
5+
[[ $VERSION =~ $SEMVER_REGEX ]]
6+
7+
IMAGE="sql-stream-store-browser"
8+
MAJOR="${IMAGE}.${BASH_REMATCH[1]}"
9+
MAJOR_MINOR="${IMAGE}.${BASH_REMATCH[1]}.${BASH_REMATCH[2]}"
10+
MAJOR_MINOR_PATCH="${IMAGE}.${BASH_REMATCH[1]}.${BASH_REMATCH[2]}.${BASH_REMATCH[3]}"
11+
MAJOR_MINOR_PATCH_PRE="${IMAGE}.${BASH_REMATCH[1]}.${BASH_REMATCH[2]}.${BASH_REMATCH[3]}${BASH_REMATCH[4]}"
12+
LATEST="${IMAGE}:latest"
13+
if [[ -z $VERSION ]]
14+
then
15+
echo "Detected no version information, assuming local build."
16+
docker build \
17+
--tag ${LATEST} \
18+
.
19+
20+
elif [[ $TRAVIS_TAG && -z ${BASH_REMATCH[4]} ]]
21+
then
22+
echo "Detected a tag with no prerelease."
23+
docker build \
24+
--build-arg VERSION=$VERSION \
25+
--build-arg MYGET_API_KEY=$MYGET_API_KEY \
26+
--tag ${MAJOR} \
27+
--tag ${MAJOR_MINOR} \
28+
--tag ${MAJOR_MINOR_PATCH} \
29+
--tag ${LATEST} \
30+
.
31+
else
32+
echo "Detected a prerelease."
33+
docker build \
34+
--build-arg VERSION=$VERSION \
35+
--build-arg MYGET_API_KEY=$MYGET_API_KEY \
36+
--tag ${MAJOR_MINOR_PATCH_PRE} \
37+
--tag ${LATEST} \
38+
.
39+
fi
40+
41+
docker images --filter=reference="${LATEST}"

0 commit comments

Comments
 (0)