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: 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