47 lines
1.4 KiB
YAML
47 lines
1.4 KiB
YAML
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 --fail-with-body -L --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 }}
|