name: 'Dockerfile test build' description: 'Test build of Dockerfile' inputs: buildkit_version: description: 'Buildkit version' required: true context: description: 'Build context' required: true default: '.' dockerfile: description: 'Dockerfile name' required: true default: '.' runs: using: "composite" steps: - name: Prepare buildkit directory shell: bash run: mkdir -p /var/lib/buildkit - name: Download buildkit binaries shell: bash run: | [ -f /var/lib/buildkit/buildkit.tar.gz ] || \ curl --output /var/lib/buildkit/buildkit.tar.gz \ "https://github.com/moby/buildkit/releases/download/${{ inputs.buildkit_version }}/buildkit-${{ inputs.buildkit_version }}.linux-amd64.tar.gz" - name: Extract buildkit binaries shell: bash run: | [ -x /var/lib/buildkit/bin/buildkitd ] && \ [ -x /var/lib/buildkit/bin/buildctl ] || \ tar -xf /var/lib/buildkit/buildkit.tar.gz -C /var/lib/buildkit - name: Run buildkit build shell: bash run: | /var/lib/buildkit/bin/buildkitd & \ while [ ! -S /run/buildkit/buildkitd.sock ]; do sleep 0.1; done && \ /var/lib/buildkit/bin/buildctl build \ --frontend=dockerfile.v0 \ --local context=${{ inputs.context }} \ --local dockerfile=${{ inputs.dockerfile }}