From 670736425135936a2e82bb622b42c9a700ee6059 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20R=C3=B6ger?= Date: Tue, 8 Sep 2026 17:46:03 +0200 Subject: [PATCH] ci: add docker jobs --- .gitea/scripts/push-image.sh | 22 ++++++++++++++++++ .gitea/workflows/docker.yaml | 45 ++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 .gitea/scripts/push-image.sh create mode 100644 .gitea/workflows/docker.yaml diff --git a/.gitea/scripts/push-image.sh b/.gitea/scripts/push-image.sh new file mode 100644 index 0000000..cb0b7f8 --- /dev/null +++ b/.gitea/scripts/push-image.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +set -euo pipefail + +REGISTRY="${REGISTRY#https://}" +REGISTRY="${REGISTRY#http://}" +REGISTRY="${REGISTRY%/}" + +IMAGE="${REGISTRY}/${REPOSITORY}:${TAG}" + +echo "Pushing ${IMAGE}" + +skopeo copy \ + --dest-creds "${USERNAME}:${PASSWORD}" \ + "docker-archive:result" \ + "docker://${IMAGE}" + +if [ "${GITEA_REF_TYPE:-}" = "branch" ] && [ "${GITEA_REF_NAME:-}" = "main" ]; then + skopeo copy \ + --dest-creds "${USERNAME}:${PASSWORD}" \ + "docker-archive:result" \ + "docker://${REGISTRY}/${REPOSITORY}:latest" +fi diff --git a/.gitea/workflows/docker.yaml b/.gitea/workflows/docker.yaml new file mode 100644 index 0000000..cfe5238 --- /dev/null +++ b/.gitea/workflows/docker.yaml @@ -0,0 +1,45 @@ +name: Build docker images. + +on: + push: + +jobs: + build-wordle-solver-image: + runs-on: nixos + + steps: + - name: Check out repository code + uses: actions/checkout@v4 + + - name: Build wordle-solver image + run: | + nix build .#wordle-solver-docker + + - name: Push image + env: + REGISTRY: "${{ gitea.server_url }}" + REPOSITORY: "${{ gitea.repository }}" + USERNAME: "${{ secrets.REGISTRY_USER }}" + PASSWORD: "${{ secrets.REGISTRY_TOKEN }}" + TAG: "${{ gitea.sha }}" + run: .gitea/scripts/push-image.sh + + build-wordle-solver-web-image: + runs-on: nixos + + steps: + - name: Check out repository code + uses: actions/checkout@v4 + + - name: Build wordle-solver-web image + run: | + nix build .#wordle-solver-web-docker + + - name: Push image + env: + REGISTRY: "${{ gitea.server_url }}" + REPOSITORY: "${{ gitea.repository }}-web" + USERNAME: "${{ secrets.REGISTRY_USER }}" + PASSWORD: "${{ secrets.REGISTRY_TOKEN }}" + TAG: "${{ gitea.sha }}" + run: .gitea/scripts/push-image.sh