70 lines
1.7 KiB
YAML
70 lines
1.7 KiB
YAML
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
|