name: CI on: push: branches: - main pull_request: branches: - "**" jobs: checks: runs-on: ubuntu-latest env: NAME: rentease PORT: 8000 DB_USER: ci DB_NAME: villafleurie steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Build dev image (cached) uses: docker/build-push-action@v6 with: context: . file: Dockerfile.dev tags: ${{ env.NAME }}:dev load: true cache-from: type=gha,scope=dev cache-to: type=gha,scope=dev,mode=max - name: Start dev container (background) run: | docker run -d \ --name ${NAME} \ -v "$GITHUB_WORKSPACE":/app \ -v /app/tmp \ ${NAME}:dev sleep infinity - name: Make format run: make format - name: Make lint run: make lint - name: Make test run: make test - name: Stop container if: always() run: | docker logs ${NAME} || true docker stop ${NAME} || true - name: Build production image (cached, push only) if: github.event_name == 'push' uses: docker/build-push-action@v6 with: context: . file: Dockerfile tags: ${{ env.NAME }}:latest cache-from: type=gha,scope=prod cache-to: type=gha,scope=prod,mode=max