name: CI/CD Pipeline on: push: branches: - main pull_request: branches: - main jobs: build-and-test: runs-on: ubuntu-latest env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} steps: - name: Checkout code uses: actions/checkout@v2 - name: Cache Docker layers uses: actions/cache@v2 with: path: /tmp/.buildx-cache key: ${{ runner.os }}-buildx-${{ github.sha }} restore-keys: | ${{ runner.os }}-buildx- - name: Set up Docker run: docker --version && docker-compose --version - name: Build and start services working-directory: ./deploy run: docker compose up --exit-code-from tests tests queue celeryworker db -d continue-on-error: true - name: Stop services run: docker compose down