name: ITAM Docker Build Check on: push: branches: - Dockerizing - main paths: - "Dockerfile.frontend.prod" - "Dockerfile.backend.prod" - "docker-compose.prod.yaml" - "docker-compose.test.yaml" - "docker/**" - "src/**" - "server.js" - "package.json" - "package-lock.json" - "vite.config.ts" - "index.html" - "img/**" - "public/**" pull_request: paths: - "Dockerfile.frontend.prod" - "Dockerfile.backend.prod" - "docker-compose.prod.yaml" - "docker-compose.test.yaml" - "docker/**" - "src/**" - "server.js" - "package.json" - "package-lock.json" - "vite.config.ts" - "index.html" - "img/**" - "public/**" workflow_dispatch: jobs: docker-build-check: runs-on: ubuntu-latest env: DOCKER_BUILDKIT: "1" COMPOSE_DOCKER_CLI_BUILD: "1" steps: - name: Checkout code uses: actions/checkout@v4 - name: Prepare CI env file run: | cat <<'EOF' > .env DB_HOST=127.0.0.1 DB_PORT=3306 DB_USER=itam_ci DB_PASS=itam_ci_password DB_NAME=itam NODE_ENV=production PORT=3000 LOG_LEVEL=info EOF - name: Build backend production image run: docker build -f Dockerfile.backend.prod -t itam-backend:ci . - name: Build frontend production image run: docker build -f Dockerfile.frontend.prod -t itam-frontend:ci . - name: Validate production compose with CI env run: docker compose -f docker-compose.prod.yaml config