Create docker-compose.override.yml #52
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI Pipeline (Docker Compose) | |
| on: | |
| push: | |
| branches: [ main, develop ] | |
| pull_request: | |
| branches: [ main, develop ] | |
| jobs: | |
| test: | |
| name: 🐳 Build & Test (Docker Compose) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: 📥 Checkout do repositório | |
| uses: actions/checkout@v4 | |
| - name: 🛠️ Configurar Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: 🐳 Cache de camadas do Docker | |
| uses: actions/cache@v4 | |
| with: | |
| path: /tmp/.buildx-cache | |
| key: ${{ runner.os }}-buildx-${{ github.sha }} | |
| restore-keys: | | |
| ${{ runner.os }}-buildx- | |
| - name: 🐳 Subir containers (em background) | |
| run: | | |
| docker compose -f docker-compose.yml up -d --build | |
| - name: ⏳ Aguardar Postgres ficar pronto | |
| run: | | |
| echo "Aguardando Postgres inicializar..." | |
| until docker compose exec -T db pg_isready -U ${POSTGRES_USER:-user}; do | |
| sleep 2 | |
| done | |
| - name: 🗃️ Rodar migrações Alembic | |
| run: | | |
| docker compose exec -T app alembic upgrade head | |
| - name: 🧹 Lint (black + flake8) | |
| run: | | |
| docker compose exec -T app bash -c "black --check . && flake8 app tests" | |
| - name: 🧪 Rodar Testes | |
| run: | | |
| docker compose exec -T app pytest -v --maxfail=1 --disable-warnings | |
| - name: 🧼 Derrubar containers | |
| if: always() | |
| run: | | |
| docker compose down -v |