name: Playwright Tests on: push: branches: [ main, master ] pull_request: branches: [ main, master ] jobs: test: timeout-minutes: 60 runs-on: ubuntu-latest steps: # Checkout the repository - uses: actions/checkout@v4 # Set up Node.js - uses: actions/setup-node@v4 with: node-version: lts/* # Install project dependencies - name: Install dependencies run: npm ci # Build the Angular project - name: Build Angular Project run: npm run build # Start Angular development server - name: Start Angular Development Server in Background run: nohup npm start > angular.log 2>&1 & env: PORT: 4200 # Ensure the server runs on a predictable port - name: Boot docker compose run: docker compose up -d # Install Playwright and dependencies - name: Install Playwright Browsers run: npx playwright install --with-deps # Run Playwright tests - name: Run Playwright Tests run: npx playwright test env: CI: true # Ensures Playwright runs in CI mode # Upload Playwright report - uses: actions/upload-artifact@v3 if: ${{ !cancelled() }} with: name: playwright-report path: playwright-report/ retention-days: 30