51 lines
1.2 KiB
YAML
51 lines
1.2 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 \
|
|
--oci-worker-no-process-sandbox \
|
|
--root /tmp/buildkit \
|
|
--addr unix:///run/buildkit/buildkitd.sock &
|
|
sleep 3
|
|
|
|
- name: Authenticate to Gitea registry
|
|
run: |
|
|
mkdir -p ~/.docker
|
|
AUTH=$(echo -n "${{ secrets.REGISTRY_USERNAME }}:${{ secrets.REGISTRY_PASSWORD }}" | base64 -w 0)
|
|
cat > ~/.docker/config.json <<EOF
|
|
{
|
|
"auths": {
|
|
"git.limbosolutions.com": {
|
|
"auth": "$AUTH"
|
|
}
|
|
}
|
|
}
|
|
EOF
|
|
|
|
- name: Build and push image
|
|
run: |
|
|
buildctl 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
|