name: Update Automation Tests on: pull_request: branches: - main workflow_dispatch: jobs: test: name: Integration Tests runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Cache Docker layers uses: actions/cache@v4 with: path: /tmp/.buildx-cache key: ${{ runner.os }}-docker-${{ hashFiles('docker/docker-compose.yml', 'scripts/test-update.sh') }} restore-keys: | ${{ runner.os }}-docker- - name: Pull Docker images run: | docker pull postgres:18.4 docker pull nginx:1.27-alpine docker pull alpine:3.19 docker pull alpine:3.20 - name: Make test script executable run: chmod +x scripts/test-update.sh - name: Run integration tests run: ./scripts/test-update.sh - name: Upload test logs on failure if: failure() uses: actions/upload-artifact@v4 with: name: test-logs path: /tmp/test-update-*.log retention-days: 7