|
1 | 1 | #!/usr/bin/env bash
|
2 | 2 |
|
3 |
| -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" |
| 3 | +echo "************************************************" |
| 4 | +echo "* Start post_push hook *" |
| 5 | +echo "************************************************" |
| 6 | +echo |
| 7 | + |
| 8 | +DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)" |
4 | 9 |
|
5 | 10 | # shellcheck source=./_common
|
6 | 11 | . "$DIR/_common"
|
7 | 12 |
|
| 13 | +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-]+)*)?$" |
| 14 | + |
8 | 15 | for php_version in $PHP_VERSIONS; do
|
9 | 16 | for php_variant in $PHP_VARIANTS; do
|
10 |
| - image_name="$DOCKER_REPO:$php_version-$php_variant-$SOURCE_BRANCH" |
11 |
| - echo Pushing tag: "$image_name" |
12 |
| - docker push "$image_name" |
| 17 | + if [ -z "$HAS_IMAGE_NAME" ] || [ -z "$IMAGE_NAME" ]; then |
| 18 | + IMAGE_NAME="$DOCKER_REPO:$php_version-$php_variant-$SOURCE_BRANCH" |
| 19 | + echo ">>> Set IMAGE_NAME to: $IMAGE_NAME" |
| 20 | + fi |
| 21 | + |
| 22 | + # Is this a release? |
| 23 | + if [[ $SOURCE_BRANCH =~ $SEMVER_REGEX ]]; then |
| 24 | + # Set the short tags |
| 25 | + short_tag="$DOCKER_REPO:$php_version-$php_variant" |
| 26 | + echo Pushing short tag: "$short_tag" |
| 27 | + docker tag "$IMAGE_NAME" "$short_tag" |
| 28 | + |
| 29 | + # Is this the latest PHP version/variant? |
| 30 | + if [ "$php_version" == "7.2" ] && [ "$php_variant" == "cli" ]; then |
| 31 | + latest_tag="$DOCKER_REPO:latest" |
| 32 | + echo Pushing latest tag: "$latest_tag" |
| 33 | + docker tag "$IMAGE_NAME" "$latest_tag" |
| 34 | + fi |
| 35 | + docker push "$latest_tag" |
| 36 | + fi |
13 | 37 | done
|
14 | 38 | done
|
15 | 39 |
|
| 40 | +echo |
| 41 | +echo "************************************************" |
| 42 | +echo "* End post_push hook *" |
| 43 | +echo "************************************************" |
| 44 | +echo |
| 45 | + |
16 | 46 | exit 0
|
0 commit comments