|
1 | 1 | #!/usr/bin/env bash |
2 | 2 |
|
| 3 | +LOCAL_IMAGE="sql-stream-store-browser" |
| 4 | +LOCAL="${LOCAL_IMAGE}:latest" |
| 5 | + |
| 6 | +REMOTE_IMAGE="sql-stream-store/browser" |
| 7 | + |
| 8 | +docker build \ |
| 9 | + --build-arg MYGET_API_KEY=$MYGET_API_KEY \ |
| 10 | + --tag ${LOCAL} \ |
| 11 | + . |
| 12 | + |
| 13 | +VERSION=$(docker run --entrypoint=cat ${LOCAL} /var/www/.version) |
| 14 | + |
3 | 15 | 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-]+)*)?$" |
4 | 16 |
|
5 | 17 | [[ $VERSION =~ $SEMVER_REGEX ]] |
6 | 18 |
|
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 |
| 19 | +LATEST="${REMOTE_IMAGE}:latest" |
| 20 | +MAJOR="${REMOTE_IMAGE}:${BASH_REMATCH[1]}" |
| 21 | +MAJOR_MINOR="${REMOTE_IMAGE}:${BASH_REMATCH[1]}.${BASH_REMATCH[2]}" |
| 22 | +MAJOR_MINOR_PATCH="${REMOTE_IMAGE}:${BASH_REMATCH[1]}.${BASH_REMATCH[2]}.${BASH_REMATCH[3]}" |
| 23 | +MAJOR_MINOR_PATCH_PRE="${REMOTE_IMAGE}:${BASH_REMATCH[1]}.${BASH_REMATCH[2]}.${BASH_REMATCH[3]}${BASH_REMATCH[4]}" |
| 24 | + |
| 25 | +if [[ -n $TRAVIS_TAG && -z ${BASH_REMATCH[4]} ]]; then |
22 | 26 | 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 | | - . |
| 27 | + docker tag $LOCAL $LATEST |
| 28 | + docker tag $LOCAL $MAJOR_MINOR_PATCH |
| 29 | + docker tag $LOCAL $MAJOR_MINOR |
| 30 | + if [[ ${BASH_REMATCH[1]} != "0" ]]; then |
| 31 | + docker tag $LOCAL $MAJOR |
| 32 | + else |
| 33 | + echo "Detected unstable version." |
| 34 | + fi |
31 | 35 | else |
32 | 36 | 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 | | - . |
| 37 | + docker tag $LOCAL $MAJOR_MINOR_PATCH_PRE |
39 | 38 | fi |
40 | 39 |
|
41 | | -docker images --filter=reference="${LATEST}" |
| 40 | +docker images --filter=reference="${REMOTE_IMAGE}" |
0 commit comments