Skip to content

support docker build workflows #41

@jianlins

Description

@jianlins

The first three steps will work for docker build, can you integrate it into the action?

jobs:
  build_docker:
    runs-on: ubuntu-latest
    steps:
      - name: Backup docker files
        run: |
          echo "backup moby/buildkit image"
          sudo docker image save -o ${GITHUB_WORKSPACE}/images.tar moby/buildkit
          echo "Back up /var/lib/docker folder structure and other files"
          sudo rsync -aPq /var/lib/docker/ ${GITHUB_WORKSPACE}/docker 


      - name: Maximize build space
        uses: easimon/maximize-build-space@master
        with:
          overprovision-lvm: 'true'          
          remove-dotnet: 'true'
          # instead of using default value to mount to build path, /var/lib/docker/ is really the place we need more spaces.
          build-mount-path: '/var/lib/docker/'

      - name: Restore docker files
        run: |
          sudo rsync -aPq ${GITHUB_WORKSPACE}/docker/ /var/lib/docker
          sudo rm -rf ${GITHUB_WORKSPACE}/docker
          sudo ls ${GITHUB_WORKSPACE} -l
          sudo docker image load -i ${GITHUB_WORKSPACE}/images.tar
          sudo rm ${GITHUB_WORKSPACE}/images.tar

      - name: Checkout
        uses: actions/checkout@v4

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3      
              
      - name: list images
        run: docker images

      - name: check storage
        run: |
          sudo df -h

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions