56 lines
1.4 KiB
YAML
56 lines
1.4 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
|
|
buildkitd \
|
|
--root /tmp/buildkit \
|
|
--addr unix:///run/buildkit/buildkitd.sock \
|
|
>/tmp/buildkitd.log 2>&1 &
|
|
sleep 3
|
|
|
|
- name: Check BuildKit daemon
|
|
run: |
|
|
ls -l /run/buildkit
|
|
cat /tmp/buildkitd.log || tru
|
|
|
|
- name: Authenticate to Gitea registry
|
|
run: |
|
|
mkdir -p ~/.docker
|
|
AUTH=$(printf "%s" "${{ secrets.REGISTRY_USERNAME }}:${{ secrets.REGISTRY_PASSWORD }}" | base64 -w 0)
|
|
printf '{"auths":{"git.limbosolutions.com":{"auth":"%s"}}}' "$AUTH" > ~/.docker/config.json
|
|
|
|
- name: Validate auth file
|
|
run: |
|
|
cat ~/.docker/config.json
|
|
jq . ~/.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
|