name: ITAM Docker Build Check on: push: branches: - Dockerizing - main paths: - ".gitea/workflows/itam_code_check.yml" - ".gitea/workflows/itam_docker_build_check.yml" - "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: - ".gitea/workflows/itam_code_check.yml" - ".gitea/workflows/itam_docker_build_check.yml" - "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 CLIENT_ID=itam-ci-client-id ISSUER=https://sso.hmac.kr/oidc PROD_REDIRECT_URI=http://127.0.0.1:9090/callback PROD_JWKS_URI=http://127.0.0.1:9090/.well-known/jwks.json 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