initial commit

This commit is contained in:
2026-04-30 14:11:51 +02:00
commit 95948debb6
2 changed files with 78 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
# Dockerfile test build
## Sample CI
```yaml
name: Docker Build CI
on: [ push ]
env:
BUILDKIT_VERSION: 'v0.29.0'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/cache@v4
with:
path: /var/lib/buildkit
key: ${{ runner.os }}-buildkit-${{ env.BUILDKIT_VERSION }}
- uses: https://git.klemek.fr/klemek/dockerfile-test-build@v1
with:
buildkit_version: ${{ env.BUILDKIT_VERSION }}
```
## Arguments
| Name | Description | Default value |
| --- | --- | --- |
| `buildkit_version` | Name of Buildkit version from [GitHub](https://github.com/moby/buildkit/releases) | (required) |
| `context` | Build context path | `.` |
| `dockerfile` | Name of Dockerfile if different from `./Dockerfile` | `.` |
+46
View File
@@ -0,0 +1,46 @@
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 }}