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