From 4a9a7adf93f35d79c4d0a87cac5953e89df68f19 Mon Sep 17 00:00:00 2001 From: Marc Mintel Date: Thu, 18 Jun 2026 15:02:02 +0200 Subject: [PATCH] fix(ci): restore deploy.yml to last working version and remove test workflow --- .gitea/workflows/deploy.yml | 91 +++++++++++++++++++++++--------- .gitea/workflows/test-docker.yml | 18 ------- 2 files changed, 66 insertions(+), 43 deletions(-) delete mode 100644 .gitea/workflows/test-docker.yml diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index d9d043e9c..9a0fbe9a7 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -37,6 +37,44 @@ jobs: container: image: catthehacker/ubuntu:act-latest steps: + - name: ๐Ÿงน Maintenance (High Density Cleanup) + shell: bash + run: | + echo "=== System Disk Usage ===" + df -h || true + echo "=== Tool Cache Usage ===" + du -sh /opt/hostedtoolcache/* || true + du -sh /opt/hostedtoolcache/.[!.]* || true + echo "Purging old tool caches..." + rm -rf /opt/hostedtoolcache/* || true + rm -rf /opt/hostedtoolcache/.[!.]* || true + echo "=== Host Disk Usage ===" + docker run --rm -v /:/host-root alpine df -h || true + echo "=== Host Inode Usage ===" + docker run --rm -v /:/host-root alpine df -i || true + echo "=== Running Host Containers ===" + docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Image}}" || true + echo "=== Host Docker Info ===" + docker info || true + echo "Pruning host Buildkit builder caches aggressively..." + for container in $(docker ps --filter "name=buildx_buildkit_builder" --format "{{.Names}}"); do + echo "Pruning Buildkit inside container: $container" + docker exec -i "$container" buildctl prune --all || true + done + echo "Removing buildkit builder containers to clear overlay storage..." + containers=$(docker ps -a --filter "name=buildx_buildkit_builder" -q) + if [ -n "$containers" ]; then + docker rm -f $containers || true + fi + echo "=== Truncating host Docker container log files ===" + docker run --rm -v /:/host-root alpine sh -c "truncate -s 0 /host-root/mnt/HC_Volume_104796416/docker/containers/*/*.log" || true + echo "Purging old build layers, unused volumes and images..." + docker builder prune -a -f || true + docker volume prune -f || true + docker system prune -a -f --volumes || true + echo "=== System Disk Usage After Prune ===" + df -h || true + - name: Checkout repository uses: actions/checkout@v4 with: @@ -52,10 +90,10 @@ jobs: PRJ="etib" if [[ "${{ github.ref_type }}" == "branch" && "$REF" == "main" ]]; then - TARGET="staging" + TARGET="testing" IMAGE_TAG="main-${SHORT_SHA}" - ENV_FILE=".env.staging" - TRAEFIK_HOST="staging.${DOMAIN}" + ENV_FILE=".env.testing" + TRAEFIK_HOST="test.${DOMAIN}" elif [[ "${{ github.ref_type }}" == "tag" ]]; then if [[ "$REF" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then TARGET="production" @@ -186,30 +224,33 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: bash scripts/registry-auth.sh - - name: ๐Ÿณ Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker - name: ๐Ÿ” Registry Login run: echo "${{ secrets.REGISTRY_PASS }}" | docker login registry.infra.mintel.me -u "${{ secrets.REGISTRY_USER }}" --password-stdin - - name: ๐Ÿ—๏ธ Build and Push - uses: docker/build-push-action@v5 - with: - context: . - push: true - provenance: false - platforms: linux/amd64 - build-args: | - NEXT_PUBLIC_BASE_URL=${{ needs.prepare.outputs.next_public_url }} - NEXT_PUBLIC_TARGET=${{ needs.prepare.outputs.target }} - NEXT_PUBLIC_APP_VERSION=${{ needs.prepare.outputs.image_tag }} - UMAMI_WEBSITE_ID=${{ secrets.UMAMI_WEBSITE_ID || vars.UMAMI_WEBSITE_ID }} - UMAMI_API_ENDPOINT=${{ secrets.UMAMI_API_ENDPOINT || vars.UMAMI_API_ENDPOINT || 'https://analytics.infra.mintel.me' }} - NPM_TOKEN=${{ steps.auth.outputs.working_token }} - NPM_DOMAIN=${{ steps.auth.outputs.working_domain }} - tags: registry.infra.mintel.me/mintel/e-tib.com:${{ needs.prepare.outputs.image_tag }} - secrets: | - "NPM_TOKEN=${{ steps.auth.outputs.working_token }}" + - name: ๐Ÿ—๏ธ Build and Push (Native Docker Buildkit) + env: + NEXT_PUBLIC_BASE_URL: ${{ needs.prepare.outputs.next_public_url }} + NEXT_PUBLIC_TARGET: ${{ needs.prepare.outputs.target }} + NEXT_PUBLIC_APP_VERSION: ${{ needs.prepare.outputs.image_tag }} + UMAMI_WEBSITE_ID: ${{ secrets.UMAMI_WEBSITE_ID || vars.UMAMI_WEBSITE_ID }} + UMAMI_API_ENDPOINT: ${{ secrets.UMAMI_API_ENDPOINT || vars.UMAMI_API_ENDPOINT || 'https://analytics.infra.mintel.me' }} + NPM_TOKEN: ${{ steps.auth.outputs.working_token }} + NPM_DOMAIN: ${{ steps.auth.outputs.working_domain }} + IMAGE_TAG: ${{ needs.prepare.outputs.image_tag }} + run: | + echo "$NPM_TOKEN" > npm_token.txt + DOCKER_BUILDKIT=1 docker build \ + --secret id=NPM_TOKEN,src=npm_token.txt \ + --build-arg NEXT_PUBLIC_BASE_URL="$NEXT_PUBLIC_BASE_URL" \ + --build-arg NEXT_PUBLIC_TARGET="$NEXT_PUBLIC_TARGET" \ + --build-arg NEXT_PUBLIC_APP_VERSION="$IMAGE_TAG" \ + --build-arg UMAMI_WEBSITE_ID="$UMAMI_WEBSITE_ID" \ + --build-arg UMAMI_API_ENDPOINT="$UMAMI_API_ENDPOINT" \ + --build-arg NPM_TOKEN="$NPM_TOKEN" \ + --build-arg NPM_DOMAIN="$NPM_DOMAIN" \ + -t registry.infra.mintel.me/mintel/e-tib.com:"$IMAGE_TAG" \ + . + docker push registry.infra.mintel.me/mintel/e-tib.com:"$IMAGE_TAG" + rm -f npm_token.txt # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ # JOB 4: Deploy diff --git a/.gitea/workflows/test-docker.yml b/.gitea/workflows/test-docker.yml deleted file mode 100644 index 93875def9..000000000 --- a/.gitea/workflows/test-docker.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: Test Docker Host -on: - push: - branches: - - main -jobs: - test: - runs-on: docker - container: - image: catthehacker/ubuntu:act-latest - services: - docker: - image: docker:24-dind - options: --privileged - env: - DOCKER_TLS_CERTDIR: "" - steps: - - run: docker info