8000 `--mount=type=cache` not caching properly? · Issue #716 · docker/build-push-action · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
--mount=type=cache not caching properly? #716
Closed
@FireMasterK

Description

@FireMasterK

Troubleshooting

Before submitting a bug report please read the Troubleshooting doc.

Behaviour

Cache mounts are not caching properly? Apt is not caching packages nor is cargo/rust.

Steps to reproduce this issue

  1. Create a Rust project
  2. Use a Dockerfile with the --mount=type=cache flag in a RUN step - https://github.com/TeamPiped/piped-proxy/blob/main/Dockerfile
  3. https://github.com/TeamPiped/piped-proxy/blob/main/.github/workflows/build-docker.yml
  4. Build it

Expected behaviour

Cache mounts should work, and the application should build in seconds. Locally, this works, however not when pushing to GitHub and building with actions.

Actual behaviour

A full build occurs as if there was no cache present.

Configuration

name: Docker Multi-Architecture Build

on:
  push:
    paths-ignore:
      - "**.md"
    branches:
      - main

jobs:
  build-docker-image:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Set up QEMU
        uses: docker/setup-qemu-action@v2
        with:
          platforms: all
      - name: Set up Docker BuildX
        uses: docker/setup-buildx-action@v2
        with:
          config: .github/buildkitd.toml
          version: latest
      - name: Cache Docker layers
        uses: actions/cache@v3
        with:
          path: /tmp/.buildx-cache
          key: ${{ runner.os }}-buildx-${{ github.sha }}
          restore-keys: |
            ${{ runner.os }}-buildx-
      - name: Login to DockerHub
        uses: docker/login-action@v2
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}
      - name: Build and push
        uses: docker/build-push-action@v3
        with:
          context: .
          file: ./Dockerfile
          platforms: linux/amd64,linux/arm64
          push: true
          tags: 1337kavin/piped-proxy:latest
          cache-from: type=local,src=/tmp/.buildx-cache
          cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max
      - name: Move cache
        run: |
          rm -rf /tmp/.buildx-cache
          mv /tmp/.buildx-cache-new /tmp/.buildx-cache

Logs

https://github.com/TeamPiped/piped-proxy/actions/runs/3380229005/jobs/5612778643
https://github.com/TeamPiped/sponsorblock-mirror/actions/runs/3319637519/jobs/5485041136

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0