name: Build container on: schedule: - cron: '0 12 * * *' timezone: Europe/Berlin workflow_dispatch: enable-email-notifications: true env: BUILDKITD_FLAGS: --oci-worker-no-process-sandbox REGISTRY_URL: git.sb20.xengi.de REGISTRY_TAG: latest jobs: build: runs-on: buildkit name: Build container steps: - name: Check out the repository run: git clone ${{ env.FORGEJO_SERVER_URL }}/${{ env.FORGEJO_REPOSITORY }} . - name: Setup buildkit run: | mkdir -p ~/.docker echo "{\"auths\":{\"${{ env.REGISTRY_URL }}\":{\"username\":\"${{ env.FORGEJO_REPOSITORY_OWNER }}\",\"password\":\"${{ secrets.REGISTRY_TOKEN }}\"}}}" > ~/.docker/config.json - name: Build container run: | export CREATED=$(date -Iseconds) sed -i "s/%%CREATED%%/$CREATED/" Dockerfile sed -i "s/%%COMMIT%%/${{ env.FORGEJO_SHA }}/" Dockerfile buildctl-daemonless.sh build \ --frontend dockerfile.v0 \ --local context=./ \ --local dockerfile=./ \ --output type=image,name=${{ env.REGISTRY_URL }}/${{ env.FORGEJO_REPOSITORY }}:${{ env.REGISTRY_TAG }},push=true - name: Send notification if: ${{ failure() }} run: | curl -s \ --form-string "token=${{ secrets.PUSHOVER_API_TOKEN }}" \ --form-string "user=${{ secrets.PUSHOVER_USER_KEY }}" \ --form-string "message=Building mdns-reflector container failed." \ https://api.pushover.net/1/messages.json