initial commit
This commit is contained in:
@@ -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
@@ -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 }}
|
||||||
Reference in New Issue
Block a user