57 lines
1.5 KiB
YAML
57 lines
1.5 KiB
YAML
on:
|
|
push:
|
|
paths:
|
|
- "docker/**"
|
|
- ".gitea/**"
|
|
- "pbsclient/**"
|
|
schedule:
|
|
- cron: "0 16 * * Sun"
|
|
|
|
jobs:
|
|
|
|
build-image:
|
|
runs-on: oci-image-builder
|
|
|
|
steps:
|
|
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Start BuildKit
|
|
run: |
|
|
mkdir -p /run/buildkit
|
|
mkdir -p /var/lib/buildkit
|
|
buildkitd \
|
|
--addr unix:///run/buildkit/buildkitd.sock \
|
|
--root /var/lib/buildkit \
|
|
>/tmp/buildkitd.log 2>&1 &
|
|
sleep 3
|
|
|
|
|
|
- name: Dump BuildKit logs
|
|
if: always()
|
|
run: |
|
|
echo "=== BuildKit log ==="
|
|
cat /home/builder/buildkitd.log 2>/dev/null || echo "no log found"
|
|
cat /tmp/buildkitd.log 2>/dev/null || echo "no log in /tmp"
|
|
|
|
- name: Authenticate to Gitea registry
|
|
run: |
|
|
mkdir -p ~/.docker
|
|
AUTH=$(printf "%s" "${{ secrets.GITLIMBO_DOCKER_REGISTRY_USERNAME }}:${{ secrets.GITLIMBO_DOCKER_REGISTRY_PASSWORD }}" | base64 -w 0)
|
|
printf '{"auths":{"git.limbosolutions.com":{"auth":"%s"}}}' "$AUTH" > ~/.docker/config.json
|
|
|
|
|
|
|
|
- name: Build and push image
|
|
run: |
|
|
buildctl \
|
|
--addr unix:///run/buildkit/buildkitd.sock \
|
|
build \
|
|
--frontend=dockerfile.v0 \
|
|
--local context=./pbsclient \
|
|
--local dockerfile=./pbsclient/docker \
|
|
--opt filename=Dockerfile \
|
|
--output type=image,name=git.limbosolutions.com/kb/pbsclient:latest,push=true
|
|
|