c798918475259188006e10e6edf2a09d6a581874
.github/workflows/create-docker-image.yml
| ... | ... | @@ -17,6 +17,15 @@ jobs: |
| 17 | 17 | if: ${{ github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success' }} |
| 18 | 18 | runs-on: ubuntu-latest |
| 19 | 19 | steps: |
| 20 | + - name: Convert repo name to lowercase GHCR package |
|
| 21 | + id: ghcr |
|
| 22 | + run: | |
|
| 23 | + # $GITHUB_REPOSITORY is in format owner/repo |
|
| 24 | + OWNER=${GITHUB_REPOSITORY%%/*} # extract owner |
|
| 25 | + REPO=${GITHUB_REPOSITORY##*/} # extract repo |
|
| 26 | + REPO_LOWER=$(echo "$REPO" | tr '[:upper:]' '[:lower:]') # lowercase repo |
|
| 27 | + PACKAGE="ghcr.io/$OWNER/$REPO_LOWER" |
|
| 28 | + echo "PACKAGE=$OWNER/$REPO_LOWER" >> $GITHUB_OUTPUT |
|
| 20 | 29 | - name: Checkout |
| 21 | 30 | uses: actions/checkout@v4 |
| 22 | 31 | with: |
| ... | ... | @@ -50,7 +59,7 @@ jobs: |
| 50 | 59 | - name: Download release |
| 51 | 60 | shell: bash |
| 52 | 61 | run: | |
| 53 | - RELEASE_TAR_GZ_FILENAME=$( configuration/github-download-release-assets.sh ${{ secrets.GITHUB_TOKEN }} ${{ env.RELEASE_PREFIX }} ) |
|
| 62 | + RELEASE_TAR_GZ_FILENAME=$( configuration/github-download-release-assets.sh ${{ secrets.GITHUB_TOKEN }} ${{ env.RELEASE_PREFIX }} ${{ env.GITHUB_REPOSITORY }} ) |
|
| 54 | 63 | RELEASE=$( echo ${RELEASE_TAR_GZ_FILENAME} | sed -e 's/\.tar\.gz$//' ) |
| 55 | 64 | if [ -n ${RELEASE_TAR_GZ_FILENAME} ]; then |
| 56 | 65 | mv ${RELEASE_TAR_GZ_FILENAME} docker/ |
| ... | ... | @@ -60,7 +69,7 @@ jobs: |
| 60 | 69 | uses: docker/build-push-action@ca877d9245402d1537745e0e356eab47c3520991 # v6.13.0 |
| 61 | 70 | with: |
| 62 | 71 | build-args: RELEASE=${{ env.RELEASE }} |
| 63 | - tags: ghcr.io/sap/sailing-analytics:${{ env.RELEASE }}${{ env.BRANCH == 'main' && github.event.inputs.release == '' && ',ghcr.io/sap/sailing-analytics:latest' || env.BRANCH == 'docker-17' && github.event.inputs.release == '' && ',ghcr.io/sap/sailing-analytics:latest-17' || env.BRANCH == 'docker-21' && github.event.inputs.release == '' && ',ghcr.io/sap/sailing-analytics:latest-21' || env.BRANCH == 'docker-24' && github.event.inputs.release == '' && ',ghcr.io/sap/sailing-analytics:latest-24' || '' }} |
|
| 72 | + tags: ghcr.io/${{steps.ghcr.outputs.PACKAGE}}:${{ env.RELEASE }}${{ env.BRANCH == 'main' && github.event.inputs.release == '' && ",ghcr.io/${{steps.ghcr.outputs.PACKAGE}}:latest" || env.BRANCH == 'docker-17' && github.event.inputs.release == '' && ",ghcr.io/${{steps.ghcr.outputs.PACKAGE}}:latest-17" || env.BRANCH == 'docker-21' && github.event.inputs.release == '' && ",ghcr.io/${{steps.ghcr.outputs.PACKAGE}}:latest-21" || env.BRANCH == 'docker-24' && github.event.inputs.release == '' && ",ghcr.io/${{steps.ghcr.outputs.PACKAGE}}:latest-24" || '' }} |
|
| 64 | 73 | annotations: | |
| 65 | 74 | maintainer=axel.uhl@sap.com |
| 66 | 75 | index:org.opencontainers.image.title=Sailing Analytics |
configuration/github-copy-release-to-sapsailing-com.sh
| ... | ... | @@ -17,7 +17,7 @@ |
| 17 | 17 | # produce false matches for the "main-" prefix. |
| 18 | 18 | BEARER_TOKEN="${1}" |
| 19 | 19 | RELEASE_NAME_PREFIX="${2}" |
| 20 | -RELEASE_TAR_GZ_FILE_NAME=$( `dirname "${0}"`/github-download-release-assets.sh "${BEARER_TOKEN}" "${RELEASE_NAME_PREFIX}" ) |
|
| 20 | +RELEASE_TAR_GZ_FILE_NAME=$( `dirname "${0}"`/github-download-release-assets.sh "${BEARER_TOKEN}" "${RELEASE_NAME_PREFIX}" SAP/sailing-analytics ) |
|
| 21 | 21 | if [ "${RELEASE_TAR_GZ_FILE_NAME}" != "" ]; then |
| 22 | 22 | RELEASE_NAME=$( echo ${RELEASE_TAR_GZ_FILE_NAME} | sed -e 's/^\(.*\)-\([0-9]*\).tar.gz$/\1/' ) |
| 23 | 23 | RELEASE_TIMESTAMP=$( echo ${RELEASE_TAR_GZ_FILE_NAME} | sed -e 's/^\(.*\)-\([0-9]*\).tar.gz$/\2/' ) |
configuration/github-download-release-assets.sh
| ... | ... | @@ -5,9 +5,9 @@ |
| 5 | 5 | # always be 0. |
| 6 | 6 | # |
| 7 | 7 | # Usage: |
| 8 | -# ./github-download-release-assets.sh {BEARER_TOKEN} {release-name-prefix} |
|
| 8 | +# ./github-download-release-assets.sh {BEARER_TOKEN} {release-name-prefix} {repository-name} |
|
| 9 | 9 | # For example: |
| 10 | -# ./github-download-release-assets.sh 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 main- |
|
| 10 | +# ./github-download-release-assets.sh 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 main- SAP/sailing-analytics |
|
| 11 | 11 | # which will download the latest release tar.gz and release-notes.txt of the main branch (main-xxxxxxxxxxx). |
| 12 | 12 | # Note the "-" at the end of the "main-" prefix specifier; this way we're making name |
| 13 | 13 | # clashes with releases whose name happens to start with "main" unlikely. This |
| ... | ... | @@ -15,7 +15,8 @@ |
| 15 | 15 | # produce false matches for the "main-" prefix. |
| 16 | 16 | BEARER_TOKEN="${1}" |
| 17 | 17 | RELEASE_NAME_PREFIX="${2}" |
| 18 | -RELEASES=$( curl -L -H 'Authorization: Bearer '${BEARER_TOKEN} https://api.github.com/repos/SAP/sailing-analytics/releases 2>/dev/null ) |
|
| 18 | +GITHUB_REPOSITORY="${3}" |
|
| 19 | +RELEASES=$( curl -L -H 'Authorization: Bearer '${BEARER_TOKEN} https://api.github.com/repos/${GITHUB_REPOSITORY}/releases 2>/dev/null ) |
|
| 19 | 20 | RELEASE_NOTES_TXT_ASSET_ID=$( echo "${RELEASES}" | jq -r 'sort_by(.published_at) | reverse | map(select(.name | startswith("'${RELEASE_NAME_PREFIX}'")))[0].assets[] | select(.content_type=="text/plain").id' 2>/dev/null) |
| 20 | 21 | if [ "$?" -ne "0" ]; then |
| 21 | 22 | echo "No release with prefix ${RELEASE_NAME_PREFIX} found. Not trying to download/upload anything." >&2 |
| ... | ... | @@ -26,7 +27,7 @@ else |
| 26 | 27 | RELEASE_TIMESTAMP=$( echo ${RELEASE_FULL_NAME} | sed -e 's/^\(.*\)-\([0-9]*\)$/\2/' ) |
| 27 | 28 | echo "Found release ${RELEASE_FULL_NAME} with name ${RELEASE_NAME} and time stamp ${RELEASE_TIMESTAMP}, notes ID is ${RELEASE_NOTES_TXT_ASSET_ID}, tarball ID is ${RELEASE_TAR_GZ_ASSET_ID}" >&2 |
| 28 | 29 | RELEASE_TAR_GZ_FILE_NAME="${RELEASE_FULL_NAME}.tar.gz" |
| 29 | - curl -o "${RELEASE_TAR_GZ_FILE_NAME}" -L -H 'Accept: application/octet-stream' -H 'Authorization: Bearer '${BEARER_TOKEN} 'https://api.github.com/repos/SAP/sailing-analytics/releases/assets/'${RELEASE_TAR_GZ_ASSET_ID} |
|
| 30 | - curl -o release-notes.txt -L -H 'Accept: application/octet-stream' -H 'Authorization: Bearer '${BEARER_TOKEN} 'https://api.github.com/repos/SAP/sailing-analytics/releases/assets/'${RELEASE_NOTES_TXT_ASSET_ID} |
|
| 30 | + curl -o "${RELEASE_TAR_GZ_FILE_NAME}" -L -H 'Accept: application/octet-stream' -H 'Authorization: Bearer '${BEARER_TOKEN} 'https://api.github.com/repos/${GITHUB_REPOSITORY}/releases/assets/'${RELEASE_TAR_GZ_ASSET_ID} |
|
| 31 | + curl -o release-notes.txt -L -H 'Accept: application/octet-stream' -H 'Authorization: Bearer '${BEARER_TOKEN} 'https://api.github.com/repos/${GITHUB_REPOSITORY}/releases/assets/'${RELEASE_NOTES_TXT_ASSET_ID} |
|
| 31 | 32 | echo "${RELEASE_TAR_GZ_FILE_NAME}" |
| 32 | 33 | fi |
configuration/github-download-workflow-artifacts.sh
| ... | ... | @@ -12,12 +12,13 @@ |
| 12 | 12 | # an exit status of 2 is returned. |
| 13 | 13 | BRANCH="${1}" |
| 14 | 14 | BEARER_TOKEN="${2}" |
| 15 | +GITHUB_REPOSITORY="${3}" |
|
| 15 | 16 | UNIX_TIME=$( date +%s ) |
| 16 | 17 | UNIX_DATE=$( date --iso-8601=second ) |
| 17 | 18 | UNIX_TIME_YESTERDAY=$(( UNIX_TIME - 10*24*3600 )) # look back ten days in time, trying to catch even re-runs of older jobs |
| 18 | 19 | DATE_YESTERDAY=$( date --iso-8601=second -d @${UNIX_TIME_YESTERDAY} ) |
| 19 | 20 | HEADERS_FILE=$( mktemp headersXXXXX ) |
| 20 | -NEXT_PAGE="https://api.github.com/repos/SAP/sailing-analytics/actions/runs?created=${DATE_YESTERDAY/+/%2B}..${UNIX_DATE/+/%2B}&per_page=100" |
|
| 21 | +NEXT_PAGE="https://api.github.com/repos/${GITHUB_REPOSITORY}/actions/runs?created=${DATE_YESTERDAY/+/%2B}..${UNIX_DATE/+/%2B}&per_page=100" |
|
| 21 | 22 | ARTIFACTS_JSON="" |
| 22 | 23 | LATEST_RUN_STARTED_AT="0000-00-00T00:00:00Z" |
| 23 | 24 | # Now go through the pages as long as we have a non-empty NEXT_PAGE URL and find the completed "release" workflow that was started last |
docker/makeImageForLatestRelease
| ... | ... | @@ -1,5 +1,10 @@ |
| 1 | 1 | #!/bin/bash |
| 2 | -release_prefix=$1 |
|
| 2 | +release_prefix="$1" |
|
| 3 | +GITHUB_REPOSITORY="$2" |
|
| 4 | +OWNER=${GITHUB_REPOSITORY%%/*} |
|
| 5 | +REPO=${GITHUB_REPOSITORY##*/} |
|
| 6 | +REPO_LOWER=$(echo "$REPO" | tr '[:upper:]' '[:lower:]') |
|
| 7 | +PACKAGE="$OWNER/$REPO_LOWER" |
|
| 3 | 8 | GITROOT="`dirname $0`/.." |
| 4 | 9 | DOCKERDIR="${GITROOT}/docker" |
| 5 | 10 | DOCKERFILE="$DOCKERDIR/Dockerfile" |
| ... | ... | @@ -8,7 +13,7 @@ if [ "${release_prefix}" = "" ]; then |
| 8 | 13 | release_prefix="main-" |
| 9 | 14 | fi |
| 10 | 15 | pushd "${DOCKERDIR}" |
| 11 | -RELEASE_TAR_GZ_FILENAME=$( ${GITROOT}/configuration/github-download-release-assets.sh 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 "${release_prefix}" ) |
|
| 16 | +RELEASE_TAR_GZ_FILENAME=$( ${GITROOT}/configuration/github-download-release-assets.sh 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 "${release_prefix}" "${GITHUB_REPOSITORY}" ) |
|
| 12 | 17 | if [ "${RELEASE_TAR_GZ_FILENAME}" = "" ]; then |
| 13 | 18 | echo "No release with prefix ${release_prefix} found" >&2 |
| 14 | 19 | else |
| ... | ... | @@ -20,7 +25,7 @@ else |
| 20 | 25 | cp "$GITROOT/java/target/configuration/JavaSE-11.profile" "$DOCKERDIR" |
| 21 | 26 | cd "$DOCKERDIR" |
| 22 | 27 | docker buildx create --name=container --driver=docker-container --use --bootstrap |
| 23 | - docker buildx build --builder=container --platform=linux/amd64,linux/arm64 --build-arg RELEASE=${release} -t ghcr.io/sap/sailing-analytics:${release} --push . |
|
| 28 | + docker buildx build --builder=container --platform=linux/amd64,linux/arm64 --build-arg RELEASE=${release} -t ghcr.io/${PACKAGE}:${release} --push . |
|
| 24 | 29 | echo "Cleaning up..." |
| 25 | 30 | rm start env.sh JavaSE-11.profile ${RELEASE_TAR_GZ_FILENAME} release-notes.txt |
| 26 | 31 | fi |
docker/makeImageForLatestRelease-arm
| ... | ... | @@ -1,5 +1,10 @@ |
| 1 | 1 | #!/bin/bash |
| 2 | -release_prefix=$1 |
|
| 2 | +release_prefix="$1" |
|
| 3 | +GITHUB_REPOSITORY="$2" |
|
| 4 | +OWNER=${GITHUB_REPOSITORY%%/*} |
|
| 5 | +REPO=${GITHUB_REPOSITORY##*/} |
|
| 6 | +REPO_LOWER=$(echo "$REPO" | tr '[:upper:]' '[:lower:]') |
|
| 7 | +PACKAGE="$OWNER/$REPO_LOWER" |
|
| 3 | 8 | GITROOT="`dirname $0`/.." |
| 4 | 9 | DOCKERDIR="${GITROOT}/docker" |
| 5 | 10 | DOCKERFILE="$DOCKERDIR/Dockerfile" |
| ... | ... | @@ -8,7 +13,7 @@ if [ "${release_prefix}" = "" ]; then |
| 8 | 13 | release_prefix="main-" |
| 9 | 14 | fi |
| 10 | 15 | pushd "${DOCKERDIR}" |
| 11 | -RELEASE_TAR_GZ_FILENAME=$( ${GITROOT}/configuration/github-download-release-assets.sh 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 "${release_prefix}" ) |
|
| 16 | +RELEASE_TAR_GZ_FILENAME=$( ${GITROOT}/configuration/github-download-release-assets.sh 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 "${release_prefix}" "${GITHUB_REPOSITORY}" ) |
|
| 12 | 17 | if [ "${RELEASE_TAR_GZ_FILENAME}" = "" ]; then |
| 13 | 18 | echo "No release with prefix ${release_prefix} found" >&2 |
| 14 | 19 | else |
| ... | ... | @@ -19,13 +24,13 @@ else |
| 19 | 24 | cp "$GITROOT/java/target/start" "$DOCKERDIR" |
| 20 | 25 | cp "$GITROOT/java/target/configuration/JavaSE-11.profile" "$DOCKERDIR" |
| 21 | 26 | cd "$DOCKERDIR" |
| 22 | - docker build --build-arg RELEASE=${release} -t ghcr.io/sap/sailing-analytics:${release}-arm . |
|
| 27 | + docker build --build-arg RELEASE=${release} -t ghcr.io/${PACKAGE}:${release}-arm . |
|
| 23 | 28 | echo "Cleaning up..." |
| 24 | 29 | rm start env.sh JavaSE-11.profile ${RELEASE_TAR_GZ_FILENAME} release-notes.txt |
| 25 | - docker push ghcr.io/sap/sailing-analytics:${release}-arm |
|
| 30 | + docker push ghcr.io/${PACKAGE}:${release}-arm |
|
| 26 | 31 | if [ "$SET_LATEST" = "1" ]; then |
| 27 | - docker tag ghcr.io/sap/sailing-analytics:${release}-arm ghcr.io/sap/sailing-analytics:latest-arm |
|
| 28 | - docker push ghcr.io/sap/sailing-analytics:latest-arm |
|
| 32 | + docker tag ghcr.io/${PACKAGE}:${release}-arm ghcr.io/${PACKAGE}:latest-arm |
|
| 33 | + docker push ghcr.io/${PACKAGE}:latest-arm |
|
| 29 | 34 | fi |
| 30 | 35 | fi |
| 31 | 36 | popd |
docker/makeImageForLatestRelease-on-sapmachine11
| ... | ... | @@ -1,5 +1,10 @@ |
| 1 | 1 | #!/bin/bash |
| 2 | -release_prefix=$1 |
|
| 2 | +release_prefix="$1" |
|
| 3 | +GITHUB_REPOSITORY="$2" |
|
| 4 | +OWNER=${GITHUB_REPOSITORY%%/*} |
|
| 5 | +REPO=${GITHUB_REPOSITORY##*/} |
|
| 6 | +REPO_LOWER=$(echo "$REPO" | tr '[:upper:]' '[:lower:]') |
|
| 7 | +PACKAGE="$OWNER/$REPO_LOWER" |
|
| 3 | 8 | GITROOT="`dirname $0`/.." |
| 4 | 9 | DOCKERDIR="${GITROOT}/docker" |
| 5 | 10 | DOCKERFILE="$DOCKERDIR/Dockerfile" |
| ... | ... | @@ -8,7 +13,7 @@ if [ "${release_prefix}" = "" ]; then |
| 8 | 13 | release_prefix="docker-11-" |
| 9 | 14 | fi |
| 10 | 15 | pushd "${DOCKERDIR}" |
| 11 | -RELEASE_TAR_GZ_FILENAME=$( ${GITROOT}/configuration/github-download-release-assets.sh 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 "${release_prefix}" ) |
|
| 16 | +RELEASE_TAR_GZ_FILENAME=$( ${GITROOT}/configuration/github-download-release-assets.sh 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 "${release_prefix}" "${GITHUB_REPOSITORY}" ) |
|
| 12 | 17 | if [ "${RELEASE_TAR_GZ_FILENAME}" = "" ]; then |
| 13 | 18 | echo "No release with prefix ${release_prefix} found" >&2 |
| 14 | 19 | else |
| ... | ... | @@ -19,13 +24,13 @@ else |
| 19 | 24 | cp "$GITROOT/java/target/start" "$DOCKERDIR" |
| 20 | 25 | cp "$GITROOT/java/target/configuration/JavaSE-11.profile" "$DOCKERDIR" |
| 21 | 26 | cd "$DOCKERDIR" |
| 22 | - docker build --build-arg RELEASE=${release} -t ghcr.io/sap/sailing-analytics:${release} -f Dockerfile_sapsailing_on_sapmachine11 . |
|
| 27 | + docker build --build-arg RELEASE=${release} -t ghcr.io/${PACKAGE}:${release} -f Dockerfile_sapsailing_on_sapmachine11 . |
|
| 23 | 28 | echo "Cleaning up..." |
| 24 | 29 | rm start env.sh JavaSE-11.profile ${RELEASE_TAR_GZ_FILENAME} release-notes.txt |
| 25 | - docker push ghcr.io/sap/sailing-analytics:${release} |
|
| 30 | + docker push ghcr.io/${PACKAGE}:${release} |
|
| 26 | 31 | if [ "$SET_LATEST" = "1" ]; then |
| 27 | - docker tag ghcr.io/sap/sailing-analytics:${release} ghcr.io/sap/sailing-analytics:latest-11 |
|
| 28 | - docker push ghcr.io/sap/sailing-analytics:latest-11 |
|
| 32 | + docker tag ghcr.io/${PACKAGE}:${release} ghcr.io/${PACKAGE}:latest-11 |
|
| 33 | + docker push ghcr.io/${PACKAGE}:latest-11 |
|
| 29 | 34 | fi |
| 30 | 35 | fi |
| 31 | 36 | popd |
docker/makeImageForLatestRelease-on-sapmachine17
| ... | ... | @@ -1,5 +1,10 @@ |
| 1 | 1 | #!/bin/bash |
| 2 | -release_prefix=$1 |
|
| 2 | +release_prefix="$1" |
|
| 3 | +GITHUB_REPOSITORY="$2" |
|
| 4 | +OWNER=${GITHUB_REPOSITORY%%/*} |
|
| 5 | +REPO=${GITHUB_REPOSITORY##*/} |
|
| 6 | +REPO_LOWER=$(echo "$REPO" | tr '[:upper:]' '[:lower:]') |
|
| 7 | +PACKAGE="$OWNER/$REPO_LOWER" |
|
| 3 | 8 | GITROOT="`dirname $0`/.." |
| 4 | 9 | DOCKERDIR="${GITROOT}/docker" |
| 5 | 10 | DOCKERFILE="$DOCKERDIR/Dockerfile" |
| ... | ... | @@ -8,7 +13,7 @@ if [ "${release_prefix}" = "" ]; then |
| 8 | 13 | release_prefix="docker-17-" |
| 9 | 14 | fi |
| 10 | 15 | pushd "${DOCKERDIR}" |
| 11 | -RELEASE_TAR_GZ_FILENAME=$( ${GITROOT}/configuration/github-download-release-assets.sh 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 "${release_prefix}" ) |
|
| 16 | +RELEASE_TAR_GZ_FILENAME=$( ${GITROOT}/configuration/github-download-release-assets.sh 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 "${release_prefix}" "${GITHUB_REPOSITORY}" ) |
|
| 12 | 17 | if [ "${RELEASE_TAR_GZ_FILENAME}" = "" ]; then |
| 13 | 18 | echo "No release with prefix ${release_prefix} found" >&2 |
| 14 | 19 | else |
| ... | ... | @@ -19,13 +24,13 @@ else |
| 19 | 24 | cp "$GITROOT/java/target/start" "$DOCKERDIR" |
| 20 | 25 | cp "$GITROOT/java/target/configuration/JavaSE-11.profile" "$DOCKERDIR" |
| 21 | 26 | cd "$DOCKERDIR" |
| 22 | - docker build --build-arg RELEASE=${release} -t ghcr.io/sap/sailing-analytics:${release} -f Dockerfile_sapsailing_on_sapmachine17 . |
|
| 27 | + docker build --build-arg RELEASE=${release} -t ghcr.io/${PACKAGE}:${release} -f Dockerfile_sapsailing_on_sapmachine17 . |
|
| 23 | 28 | echo "Cleaning up..." |
| 24 | 29 | rm start env.sh JavaSE-11.profile ${RELEASE_TAR_GZ_FILENAME} release-notes.txt |
| 25 | - docker push ghcr.io/sap/sailing-analytics:${release} |
|
| 30 | + docker push ghcr.io/${PACKAGE}:${release} |
|
| 26 | 31 | if [ "$SET_LATEST" = "1" ]; then |
| 27 | - docker tag ghcr.io/sap/sailing-analytics:${release} ghcr.io/sap/sailing-analytics:latest-17 |
|
| 28 | - docker push ghcr.io/sap/sailing-analytics:latest-17 |
|
| 32 | + docker tag ghcr.io/${PACKAGE}:${release} ghcr.io/${PACKAGE}:latest-17 |
|
| 33 | + docker push ghcr.io/${PACKAGE}:latest-17 |
|
| 29 | 34 | fi |
| 30 | 35 | fi |
| 31 | 36 | popd |