From 1cd8e711dd7a5b3713f7a7de561c19d8737258b5 Mon Sep 17 00:00:00 2001 From: Rock Date: Mon, 7 Sep 2026 21:01:02 +0000 Subject: [PATCH] ci: unified workflow - single job, DOCKER_HOST, build+push on all events (#4) - Single job (no split test/build-push) - DOCKER_HOST=tcp://localhost:2375 for dind - Build + push on PRs too (verify before merge) - workflow_dispatch for manual trigger --------- Co-authored-by: Admin Bot Reviewed-on: https://forgejo.riotpiao.com/rock/homelab-frontend/pulls/4 --- .gitea/workflows/ci.yaml | 39 +++++++++++++-------------------------- 1 file changed, 13 insertions(+), 26 deletions(-) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index f8b8689..cba679f 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -5,32 +5,16 @@ on: branches: [main] pull_request: branches: [main] + workflow_dispatch: env: REGISTRY: forgejo.riotpiao.com IMAGE: forgejo.riotpiao.com/rock/api-gateway + DOCKER_HOST: tcp://localhost:2375 jobs: - test: - name: Test - runs-on: golang - steps: - - name: Install Node.js for actions runtime - run: apt-get update && apt-get install -y nodejs - - - name: Checkout code - uses: actions/checkout@v4 - - - name: Go vet - run: go vet ./... - - - name: Go test - run: go test ./... - - build-push: - name: Build & Push Image - needs: test - if: github.event_name == 'push' && github.ref == 'refs/heads/main' + ci: + name: CI runs-on: golang steps: - name: Install Node.js and Docker @@ -41,11 +25,15 @@ jobs: - name: Checkout code uses: actions/checkout@v4 + - name: Go vet + run: go vet ./... + + - name: Go test + run: go test ./... + - name: Get short SHA id: sha - run: | - SHORT_SHA=$(git rev-parse --short HEAD) - echo "short_sha=${SHORT_SHA}" >> $GITHUB_OUTPUT + run: echo "short_sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - name: Registry login run: | @@ -60,14 +48,13 @@ jobs: docker build --no-cache \ -t "${IMAGE}:${{ steps.sha.outputs.short_sha }}" \ -t "${IMAGE}:latest" \ - -f Dockerfile \ - . + -f Dockerfile . - name: Push Docker image run: | docker push "${IMAGE}:${{ steps.sha.outputs.short_sha }}" docker push "${IMAGE}:latest" - echo "✓ Image pushed: ${IMAGE}:${{ steps.sha.outputs.short_sha }}" + echo "✓ Pushed: ${IMAGE}:${{ steps.sha.outputs.short_sha }}" - name: Prune unused images run: docker image prune -a --force 2>&1 | tail -3 || true