From 25c4e2f72feac6f2f7b15b3fa425ebc9455979ec Mon Sep 17 00:00:00 2001 From: waffle2k Date: Mon, 6 Jul 2026 13:39:12 -0700 Subject: [PATCH] Add CI: build+push image to the Gitea container registry on push to main --- .gitea/workflows/docker-build-push.yml | 43 ++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .gitea/workflows/docker-build-push.yml diff --git a/.gitea/workflows/docker-build-push.yml b/.gitea/workflows/docker-build-push.yml new file mode 100644 index 0000000..859fc8f --- /dev/null +++ b/.gitea/workflows/docker-build-push.yml @@ -0,0 +1,43 @@ +name: docker-build-push + +on: + push: + branches: [main] + workflow_dispatch: + +jobs: + build-push: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Build and push image via the admin host + env: + ADMIN_HOST_SSH_KEY: ${{ secrets.ADMIN_HOST_SSH_KEY }} + REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }} + run: | + mkdir -p ~/.ssh + printf '%s\n' "$ADMIN_HOST_SSH_KEY" > ~/.ssh/id_ed25519 + chmod 600 ~/.ssh/id_ed25519 + ssh-keyscan -H host.docker.internal >> ~/.ssh/known_hosts 2>/dev/null + + SHA="${{ github.sha }}" + REMOTE_DIR="/tmp/ci-yttrx-welcomebot-$SHA" + IMAGE="gitea.blairhaus.net/pmb/yttrx-welcomebot" + + tar czf - --exclude=.git . | ssh -i ~/.ssh/id_ed25519 pmb@host.docker.internal \ + "mkdir -p $REMOTE_DIR && tar xzf - -C $REMOTE_DIR" + + ssh -i ~/.ssh/id_ed25519 pmb@host.docker.internal bash -s < [host] building $IMAGE:$SHA" + docker build -t "$IMAGE:$SHA" -t "$IMAGE:latest" . + printf '%s' "$REGISTRY_TOKEN" | docker login gitea.blairhaus.net -u pmb --password-stdin + docker push "$IMAGE:$SHA" + docker push "$IMAGE:latest" + docker logout gitea.blairhaus.net + rm -rf "$REMOTE_DIR" + EOF + + echo "pushed $IMAGE:$SHA and $IMAGE:latest"