|
1 | 1 | #!/bin/bash |
2 | | -tag="quay.io/pypa/${POLICY}_${PLATFORM}" |
3 | | -build_id=$(git show -s --format=%cd-%h --date=short ${COMMIT_SHA}) |
4 | | - |
5 | | -docker login -u $QUAY_USERNAME -p $QUAY_PASSWORD quay.io |
6 | | -docker tag ${tag}:${COMMIT_SHA} ${tag}:${build_id} |
7 | | -docker tag ${tag}:${COMMIT_SHA} ${tag}:latest |
8 | | -docker push ${tag}:${build_id} |
9 | | -docker push ${tag}:latest |
| 2 | + |
| 3 | +set -euo pipefail |
| 4 | + |
| 5 | +export TZ=UTC0 |
| 6 | + |
| 7 | +DRY_RUN=0 |
| 8 | +if [ "${1:-}" == "--dry-run" ]; then |
| 9 | + DRY_RUN=1 |
| 10 | + set -x |
| 11 | +fi |
| 12 | + |
| 13 | +TAG="quay.io/pypa/${POLICY}_${PLATFORM}" |
| 14 | +COMMIT_ABBREV_SHA=$(git show -s --format=%h ${COMMIT_SHA}) |
| 15 | +COMMIT_DATE=$(git show -s --format=%cd --date=short ${COMMIT_SHA}) |
| 16 | +BUILD_ID=${COMMIT_DATE}-${COMMIT_ABBREV_SHA} |
| 17 | +# Dependabot does not work with the BUILD_ID format |
| 18 | +# Use a version like tag |
| 19 | +if $(git rev-parse --is-shallow-repository); then |
| 20 | + git fetch --shallow-since=${COMMIT_DATE}T00:00:00Z --all |
| 21 | +fi |
| 22 | +BUILD_NUMBER=$(git rev-list --since=${COMMIT_DATE}T00:00:00Z --count ${COMMIT_SHA}) |
| 23 | +BUILD_ID2=${COMMIT_DATE//-/.}.${BUILD_NUMBER} |
| 24 | + |
| 25 | +docker tag ${TAG}:${COMMIT_SHA} ${TAG}:${BUILD_ID} |
| 26 | +docker tag ${TAG}:${COMMIT_SHA} ${TAG}:${BUILD_ID2} |
| 27 | +docker tag ${TAG}:${COMMIT_SHA} ${TAG}:latest |
| 28 | + |
| 29 | +if [ $DRY_RUN -eq 0 ]; then |
| 30 | + docker login -u $QUAY_USERNAME -p $QUAY_PASSWORD quay.io |
| 31 | + docker push ${TAG}:${BUILD_ID} |
| 32 | + docker push ${TAG}:${BUILD_ID2} |
| 33 | + docker push ${TAG}:latest |
| 34 | +fi |
0 commit comments