3838 # to make it consistent. How-ever we keep this in GH Action
3939 # to make it easy to pass overrides in the future.
4040 - https://sourceforge.net/projects/geoserver/files/GeoServer
41+ geoserverPatchMajorVersionBugs :
42+ # useful to also update existing broken image, defaults to no
43+ - no
4144 steps :
4245 - uses : actions/checkout@v6
4346 - name : Set up QEMU
@@ -55,12 +58,18 @@ jobs:
5558 id : current_date
5659 run : echo "formatted=$(date -u +%Y.%m.%d)" >> $GITHUB_OUTPUT
5760
61+
5862 - name : Check if image exists on Docker Hub
5963 id : check_hub_image_exists
64+ shell : bash
6065 run : |
61- docker login --username ${{ secrets.DOCKERHUB_USERNAME }} --password ${{ secrets.DOCKERHUB_PASSWORD }}
62- TOKEN=$(curl -s -H "Content-Type: application/json" -X POST -d '{"username": "'${{ secrets.DOCKERHUB_USERNAME }}'", "password": "'${{ secrets.DOCKERHUB_PASSWORD }}'"}' https://hub.docker.com/v2/users/login/ | jq -r .token)
63- check_image=$(curl --silent -f --head -lL https://hub.docker.com/v2/repositories/kartoza/geoserver/tags/${{ matrix.geoserverMajorVersion }}-${{ matrix.geoserverMinorVersion.minor }}.${{ matrix.geoserverMinorVersion.patch }}/ | head -n 1 | cut -d ' ' -f2) >> $GITHUB_OUTPUT
66+ set -e
67+
68+ status=$(curl -s -o /dev/null -w "%{http_code}" \
69+ https://hub.docker.com/v2/repositories/kartoza/geoserver/tags/${{ matrix.geoserverMajorVersion }}-${{ matrix.geoserverMinorVersion.minor }}.${{ matrix.geoserverMinorVersion.patch }}/
70+ )
71+
72+ echo "check_image=$status" >> "$GITHUB_OUTPUT"
6473
6574 - name : Build prod image
6675 if : |
7988 push : true
8089 tags : |
8190 ${{ secrets.DOCKERHUB_REPO }}/geoserver
82- ${{ steps.check_hub_image_exists.outputs.check_image == 200 && format('{0}/geoserver:{1}.{2}.{3}', secrets.DOCKERHUB_REPO, matrix.geoserverMajorVersion, matrix.geoserverMinorVersion.minor, matrix.geoserverMinorVersion.patch) || null}}
91+ ${{ ( steps.check_hub_image_exists.outputs.check_image != 200 || matrix.geoserverPatchMajorVersionBugs == 'yes' ) && format('{0}/geoserver:{1}.{2}.{3}', secrets.DOCKERHUB_REPO, matrix.geoserverMajorVersion, matrix.geoserverMinorVersion.minor, matrix.geoserverMinorVersion.patch) || null}}
8392 ${{ secrets.DOCKERHUB_REPO }}/geoserver:${{ matrix.geoserverMajorVersion }}.${{ matrix.geoserverMinorVersion.minor }}.${{ matrix.geoserverMinorVersion.patch }}
8493 ${{ secrets.DOCKERHUB_REPO }}/geoserver:${{ matrix.geoserverMajorVersion }}.${{ matrix.geoserverMinorVersion.minor }}.${{ matrix.geoserverMinorVersion.patch }}--v${{ steps.current_date.outputs.formatted }}
8594 build-args : |
0 commit comments