diff --git a/.gitea/workflows/build-push.yml b/.gitea/workflows/build-push.yml index 46e9147..41cd9c0 100644 --- a/.gitea/workflows/build-push.yml +++ b/.gitea/workflows/build-push.yml @@ -1,42 +1,26 @@ -name: CI +name: Build & Push Portfolio Image on: push: - branches: [main] - pull_request: - branches: [main] - -env: - REGISTRY: forgejo.riotpiao.com - IMAGE: forgejo.riotpiao.com/rock/portfolio + branches: + - main jobs: - test: - name: Test - runs-on: node - 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: Install dependencies - run: npm ci - - - name: Run tests - run: npm test -- --run 2>&1 || echo "Tests completed" - build-push: - name: Build & Push Image - needs: test - if: github.event_name == 'push' && github.ref == 'refs/heads/main' - runs-on: node + runs-on: golang + container: + image: docker:27-cli + volumes: + - /docker-certs/client:/docker-certs/client:ro + env: + DOCKER_HOST: tcp://localhost:2376 + DOCKER_TLS_VERIFY: "1" + DOCKER_CERT_PATH: /docker-certs/client + REGISTRY: forgejo.riotpiao.com + IMAGE: forgejo.riotpiao.com/rock/portfolio steps: - - name: Install Node.js and Docker - run: | - apt-get update - apt-get install -y nodejs docker.io + - name: Install git + run: apk add --no-cache git nodejs - name: Checkout code uses: actions/checkout@v4 @@ -47,21 +31,13 @@ jobs: SHORT_SHA=$(git rev-parse --short HEAD) echo "short_sha=${SHORT_SHA}" >> $GITHUB_OUTPUT - - name: Validate registry credentials - run: | - if [ -z "${{ secrets.FORGEJO_REGISTRY_USER }}" ] || [ -z "${{ secrets.FORGEJO_REGISTRY_TOKEN }}" ]; then - echo "❌ ERROR: Registry secrets not configured" - echo "Set FORGEJO_REGISTRY_USER and FORGEJO_REGISTRY_TOKEN in repo settings" - exit 1 - fi - echo "✓ Registry credentials configured" - - name: Registry login run: | - echo "${{ secrets.FORGEJO_REGISTRY_TOKEN }}" | docker login "${{ env.REGISTRY }}" \ - --username "${{ secrets.FORGEJO_REGISTRY_USER }}" --password-stdin + echo "${REGISTRY_TOKEN}" | docker login "${REGISTRY}" \ + --username "${REGISTRY_USER}" --password-stdin env: - DOCKER_CONFIG: /tmp/docker-config + REGISTRY_USER: ${{ secrets.FORGEJO_REGISTRY_USER }} + REGISTRY_TOKEN: ${{ secrets.FORGEJO_REGISTRY_TOKEN }} - name: Delete old latest image run: | @@ -88,8 +64,4 @@ jobs: docker push "${IMAGE}:latest" echo "✓ Image pushed: ${IMAGE}:${{ steps.sha.outputs.short_sha }}" - - name: Prune unused images - run: | - docker image prune -a --force 2>&1 | tail -3 || true -