diff --git a/.dockerignore b/.dockerignore index 7eea4b9..5da56ac 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,18 +1,41 @@ +# Dependencies and build output (installed/generated in image) node_modules build + +# Git and CI .git .gitignore -*.md +.woodpecker +.woodpecker.yml + +# Dev / IDE / tooling (not needed at build time) .cursor .devcontainer +.vscode +*.md +docs +test.txt + +# Lint/format config (build does not need these) .eslintrc.cjs +.eslintignore .prettierrc .prettierignore -.eslintignore + +# Test and E2E (Dockerfile only runs build + critical-css) e2e playwright.config.ts vitest.config.ts -test.txt -docs -.woodpecker.yml -.woodpecker +playwright-report +coverage +.nyc_output + +# Env and logs +.env +.env.* +*.log + +# Local Docker (not needed inside image) +docker-compose.yml +Dockerfile +.dockerignore diff --git a/.woodpecker/deploy.yml b/.woodpecker/deploy.yml index afe6288..4d592a2 100644 --- a/.woodpecker/deploy.yml +++ b/.woodpecker/deploy.yml @@ -12,25 +12,41 @@ steps: image: docker:latest environment: REGISTRY_REPO: git.mifi.dev/mifi-holdings/mifi-links + DOCKER_API_VERSION: "1.43" + DOCKER_BUILDKIT: "1" volumes: - /var/run/docker.sock:/var/run/docker.sock commands: - set -e - - echo "=== Building Docker image ===" + - echo "=== Building Docker image (BuildKit) ===" - 'echo "Commit SHA: ${CI_COMMIT_SHA:0:8}"' - 'echo "Registry repo: $REGISTRY_REPO"' - | - docker build \ - --tag $REGISTRY_REPO:${CI_COMMIT_SHA} \ - --tag $REGISTRY_REPO:latest \ - --label "git.commit=${CI_COMMIT_SHA}" \ - --label "git.branch=${CI_COMMIT_BRANCH}" \ - . - - echo "✓ Docker image built successfully" + build() { + docker build \ + --progress=plain \ + --tag $REGISTRY_REPO:${CI_COMMIT_SHA} \ + --tag $REGISTRY_REPO:latest \ + --label "git.commit=${CI_COMMIT_SHA}" \ + --label "git.branch=${CI_COMMIT_BRANCH}" \ + . + } + for attempt in 1 2 3; do + echo "Build attempt $attempt/3" + if build; then + echo "✓ Docker image built successfully" + exit 0 + fi + echo "Build attempt $attempt failed, retrying in 30s..." + sleep 30 + done + echo "All build attempts failed" + exit 1 - name: Push to registry image: docker:latest environment: + DOCKER_API_VERSION: "1.43" REGISTRY_URL: git.mifi.dev REGISTRY_REPO: git.mifi.dev/mifi-holdings/mifi-links REGISTRY_USERNAME: