diff --git a/.forgejo/workflows/docker.yaml b/.forgejo/workflows/docker.yaml index 1ba89c0..85dbfba 100644 --- a/.forgejo/workflows/docker.yaml +++ b/.forgejo/workflows/docker.yaml @@ -26,17 +26,27 @@ jobs: echo "DOCKER_TAG=$DOCKER_REPOSITORY/$(echo "$GITHUB_REPOSITORY" | tr '[:upper:]' '[:lower:]'):latest" >> "$GITHUB_ENV" apk add --no-cache git nodejs + - name: "Setup cache" + uses: https://code.forgejo.org/actions/cache@4 + with: + path: "${{ env.GITHUB_WORKSPACE }}/.docker_cache" + key: "docker" + + - name: Set up Docker Buildx + uses: https://github.com/docker/setup-buildx-action@v3 + - name: "Login to Docker repository" - id: login - run: docker login -u "$GITHUB_ACTOR" -p "${{ secrets.PACKAGE_TOKEN }}" "$DOCKER_REPOSITORY" + uses: https://github.com/docker/login-action@v3 + with: + registry: "${{ env.DOCKER_REPOSITORY }}" + username: "${{ env.GITHUB_ACTOR }}" + password: "${{ secrets.PACKAGE_TOKEN }}" - - name: "Get repo" - uses: https://code.forgejo.org/actions/checkout@v4 - - - name: "Build Docker image" - id: build - run: docker buildx build --pull --platform linux/amd64 -t "$DOCKER_TAG" . - - - name: "Publish Docker image" - id: push - run: docker push "$DOCKER_TAG" + - name: "Build and push" + uses: https://github.com/docker/build-push-action@v5 + with: + context: . + push: true + tags: "${{ env.DOCKER_TAG }}" + cache-from: "type=local,dest=${{ env.GITHUB_WORKSPACE }}/.docker_cache" + cache-to: "type=local,dest=${{ env.GITHUB_WORKSPACE }}/.docker_cache"