From 94969a0f461cd2ef60ee5667c9c69a4f8ff70d64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Pedro=20Battistella=20Nadas?= Date: Tue, 9 Jun 2026 15:26:30 +0200 Subject: [PATCH] drop Gitea Actions workflow (no runners on the homelab yet) Falls back to ./build.sh from the workstation. Re-add the workflow when Gitea runners are wired up. --- .dockerignore | 1 - .gitea/workflows/build.yml | 46 -------------------------------------- README.md | 21 ++++++++++++++--- 3 files changed, 18 insertions(+), 50 deletions(-) delete mode 100644 .gitea/workflows/build.yml diff --git a/.dockerignore b/.dockerignore index 06c93f0..574fd24 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,5 +1,4 @@ .git -.gitea .venv __pycache__ *.pyc diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml deleted file mode 100644 index dd6994b..0000000 --- a/.gitea/workflows/build.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: build-and-push - -on: - push: - branches: [main] - tags: ["v*"] - workflow_dispatch: {} - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Set up QEMU (for arm64 emulation) - uses: docker/setup-qemu-action@v3 - - - name: Set up Buildx - uses: docker/setup-buildx-action@v3 - - - name: Login to Scaleway registry - uses: docker/login-action@v3 - with: - registry: rg.nl-ams.scw.cloud - username: nologin - password: ${{ secrets.SCW_SECRET_KEY }} - - - name: Compute tags - id: tags - run: | - SHORT_SHA="${GITHUB_SHA::7}" - { - echo "short_sha=${SHORT_SHA}" - } >> "$GITHUB_OUTPUT" - - - name: Build & push - uses: docker/build-push-action@v5 - with: - context: . - platforms: linux/amd64,linux/arm64 - push: true - tags: | - rg.nl-ams.scw.cloud/valinor/finrod:latest - rg.nl-ams.scw.cloud/valinor/finrod:${{ steps.tags.outputs.short_sha }} - provenance: false diff --git a/README.md b/README.md index 906f122..064a342 100644 --- a/README.md +++ b/README.md @@ -31,15 +31,30 @@ All three fit in radagast's 10 GB at Q4. Switching models in the dropdown forces ## Build / push image -CI: `.gitea/workflows/build.yml` builds multi-arch (amd64+arm64) on push to `main` and pushes to `rg.nl-ams.scw.cloud/valinor/finrod:{latest, }`. Requires a `SCW_SECRET_KEY` secret on the Gitea repo with a Scaleway IAM key that has `ObjectStorage:RegistryPush` on the `valinor` registry. +Built locally and pushed to Scaleway — no Gitea runners on the homelab yet, so there's no CI workflow. -Manual fallback if Gitea Actions isn't wired up: +One-time setup (host needs buildx + QEMU for cross-arch): ```sh +docker buildx create --name multi --use +docker run --privileged --rm tonistiigi/binfmt --install all docker login rg.nl-ams.scw.cloud -u nologin -p +``` + +Then on every change: + +```sh ./build.sh ``` +That builds `linux/amd64,linux/arm64` and pushes `rg.nl-ams.scw.cloud/valinor/finrod:{latest, }`. Take note of the short SHA it prints — that's what you pin in valinor. + ## Deploy -Cluster manifests live in `valinor/apps/finrod/` (bjw-s app-template, internal-only ingress at `finrod.jpnadas.xyz`). Merging a PR there triggers ArgoCD to sync; bumping the image tag in `values.yaml` is how you roll out a new build. +Cluster manifests live in `valinor/apps/finrod/` (bjw-s app-template, internal-only ingress at `finrod.jpnadas.xyz`). To roll out a new build: + +1. `./build.sh` here — get the SHA +2. Bump `tag:` in `valinor/apps/finrod/values.yaml` to that SHA on a branch +3. Merge → ArgoCD syncs the new image + +Using `:latest` works for the first deploy (the pull policy is `Always`) but pinning to a SHA on each rollout gives you trivial rollback via git revert.