diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 54d6105..76f7fc5 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -18,7 +18,18 @@ jobs: - name: Log in to GHCR run: echo "${{ secrets.GHCR_TOKEN }}" | docker login ghcr.io -u ${{ secrets.GHCR_USERNAME }} --password-stdin + - name: Get Latest Tag + id: get_tag + run: | + BASE64_TOKEN=$(echo "${{ secrets.GHCR_TOKEN }}" | base64) + LATEST_TAG=$(curl -s -H "Authorization: Bearer $BASE64_TOKEN" \ + https://ghcr.io/v2/gansejunge/${{ env.IMAGE_NAME }}/tags/list \ + | jq -r '.tags | map(select(test("^[0-9]+$"))) | map(tonumber) | max // 0') + NEXT_TAG=$((LATEST_TAG + 1)) + echo "latest=$LATEST_TAG" >> $GITHUB_OUTPUT + echo "next=$NEXT_TAG" >> $GITHUB_OUTPUT + - name: Build and Push Docker Image run: | - docker build -t ghcr.io/gansejunge/${IMAGE_NAME}:1 . - docker push ghcr.io/gansejunge/${IMAGE_NAME}:1 + docker build -t ghcr.io/gansejunge/${{ env.IMAGE_NAME }}:${{ steps.get_tag.outputs.next }} . + docker push ghcr.io/gansejunge/${{ env.IMAGE_NAME }}:${{ steps.get_tag.outputs.next }}