From ec8c0704ee1d2c17876035d1cef0f0d8a3b2f098 Mon Sep 17 00:00:00 2001 From: Henrik Jess Nielsen Date: Tue, 26 May 2026 22:38:18 +0200 Subject: [PATCH] fix: replace buildx with plain docker build+push buildx is only needed for multi-platform builds. For a single-platform debian-host runner, plain docker build + push is simpler and has no permission issues. Removed: - docker/setup-buildx-action (EACCES /tmp/buildx/certs) - docker/build-push-action - buildx context setup steps - BUILDX_CONFIG env var --- .gitea/workflows/deploy.yml | 72 +++++++++++-------------------------- 1 file changed, 20 insertions(+), 52 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 406c062..f68d1f7 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -13,7 +13,7 @@ jobs: env: PATH: /usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/bin:/snap/bin DOCKER_HOST: unix:///var/run/docker.sock - BUILDX_CONFIG: /tmp/buildx + IMAGE: registry.i80.dk/gitea/mmd steps: - name: Checkout code @@ -23,44 +23,26 @@ jobs: run: | uname -a whoami - - - name: Set up Docker Context for Buildx - id: buildx-context - run: | - docker context rm builders 2>/dev/null || true - docker context create builders --docker host=unix:///var/run/docker.sock - - - name: Verify Docker - run: docker --version - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker - env: - PATH: /usr/bin:/usr/local/bin:/bin:/sbin:/usr/sbin + docker --version - name: Log in to Harbor Registry run: | echo "${{ secrets.HARBOR_ROBOT_TOKEN }}" | docker login registry.i80.dk -u "robot\$gitserver" --password-stdin - env: - PATH: /usr/bin:/usr/local/bin:/bin:/sbin:/usr/sbin - - name: Build and push Docker image - uses: docker/build-push-action@v5 - env: - PATH: /usr/bin:/usr/local/bin:/bin:/sbin:/usr/sbin - with: - context: . - file: ./Dockerfile - push: true - tags: | - registry.i80.dk/gitea/mmd:latest - registry.i80.dk/gitea/mmd:${{ github.sha }} - build-args: | - BUILD_VERSION=${{ github.ref_name }}-${{ github.sha }} - GIT_COMMIT=${{ github.sha }} - BUILD_TIME=${{ github.event.head_commit.timestamp }} + - name: Build Docker image + run: | + docker build \ + --build-arg BUILD_VERSION="${{ github.ref_name }}-${{ github.sha }}" \ + --build-arg GIT_COMMIT="${{ github.sha }}" \ + --build-arg BUILD_TIME="${{ github.event.head_commit.timestamp }}" \ + -t $IMAGE:latest \ + -t $IMAGE:${{ github.sha }} \ + . + + - name: Push Docker image + run: | + docker push $IMAGE:latest + docker push $IMAGE:${{ github.sha }} - name: Substitute secrets into Nomad job run: | @@ -70,44 +52,30 @@ jobs: -e "s|__SAXO_APP_KEY__|${{ secrets.SAXO_APP_KEY }}|g" \ -e "s|__SAXO_APP_SECRET_1__|${{ secrets.SAXO_APP_SECRET_1 }}|g" \ mmd.nomad > mmd_deploy.nomad - env: - PATH: /usr/bin:/usr/local/bin:/bin:/sbin:/usr/sbin - name: Validate Nomad job - run: | - echo "Validating Nomad job specification..." - nomad job validate mmd_deploy.nomad + run: nomad job validate mmd_deploy.nomad env: NOMAD_ADDR: "https://nomad.i80.dk:4646" - name: Deploy to Nomad - run: | - echo "Deploying to Nomad cluster..." - nomad job run mmd_deploy.nomad + run: nomad job run mmd_deploy.nomad env: NOMAD_ADDR: "https://nomad.i80.dk:4646" - name: Wait for deployment run: | - echo "Checking deployment status..." sleep 15 nomad job status moneymaker - echo "=== Allocations ===" nomad job allocs moneymaker env: NOMAD_ADDR: "https://nomad.i80.dk:4646" - name: Health check run: | - echo "Waiting for Traefik routing..." sleep 30 - curl -f https://mmd.i80.dk/health || echo "Not yet available via Traefik — check Nomad UI" - env: - PATH: /usr/bin:/usr/local/bin:/bin:/sbin:/usr/sbin + curl -f https://mmd.i80.dk/health || echo "Not yet via Traefik — check Nomad UI" - name: Deployment summary run: | - echo "Deployment complete!" - echo " Dashboard : https://mmd.i80.dk" - echo " Health : https://mmd.i80.dk/health" - echo " Nomad UI : https://nomad.i80.dk:4646" + echo "Done! Dashboard: https://mmd.i80.dk Health: https://mmd.i80.dk/health"