diff --git a/.gitea/workflows/docker-build-push.yaml b/.gitea/workflows/docker-build-push.yaml index 627269c..767b84e 100644 --- a/.gitea/workflows/docker-build-push.yaml +++ b/.gitea/workflows/docker-build-push.yaml @@ -6,7 +6,6 @@ on: env: REGISTRY: git.frik.su - IMAGE_NAME: ${{ gitea.repository }} jobs: build-and-push: @@ -17,6 +16,11 @@ jobs: with: fetch-depth: 1 + # Docker image references must be lowercase, while gitea.repository keeps the original case + - name: Prepare lowercase image name + id: image + run: echo "name=$(echo '${{ gitea.repository }}' | tr '[:upper:]' '[:lower:]')" >> "$GITHUB_OUTPUT" + - name: Install Docker run: curl -fsSL https://get.docker.com | sh @@ -34,7 +38,7 @@ jobs: id: meta uses: docker/metadata-action@v5 with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + images: ${{ env.REGISTRY }}/${{ steps.image.outputs.name }} tags: | type=ref,event=tag type=semver,pattern={{version}} @@ -49,7 +53,5 @@ jobs: platforms: linux/amd64 tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - # image-manifest=true + oci-mediatypes=true обязательны для кэша в реестре Gitea, - # иначе PUT манифеста кэша падает с 400 Bad Request (go-gitea/gitea#28973) - cache-from: type=registry,ref=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:buildcache - cache-to: type=registry,ref=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:buildcache,mode=max,image-manifest=true,oci-mediatypes=true + cache-from: type=registry,ref=${{ env.REGISTRY }}/${{ steps.image.outputs.name }}:buildcache + cache-to: type=registry,ref=${{ env.REGISTRY }}/${{ steps.image.outputs.name }}:buildcache,mode=max,image-manifest=true,oci-mediatypes=true