name: ci-live-smoke on: workflow_dispatch: schedule: - cron: "20 20 * * *" jobs: live-smoke: runs-on: ubuntu-latest timeout-minutes: 20 env: LIVE_SMOKE_BASE_URL: ${{ secrets.LIVE_SMOKE_BASE_URL }} LIVE_SMOKE_ADMIN_IDENTIFIER: ${{ secrets.LIVE_SMOKE_ADMIN_IDENTIFIER }} LIVE_SMOKE_ADMIN_PASSWORD: ${{ secrets.LIVE_SMOKE_ADMIN_PASSWORD }} LIVE_SMOKE_EMPLOYEE_IDENTIFIER: ${{ secrets.LIVE_SMOKE_EMPLOYEE_IDENTIFIER }} LIVE_SMOKE_EMPLOYEE_PASSWORD: ${{ secrets.LIVE_SMOKE_EMPLOYEE_PASSWORD }} LIVE_EXPECT_WECOM_STATUS: ${{ secrets.LIVE_EXPECT_WECOM_STATUS }} steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: "22" cache: npm cache-dependency-path: client/package-lock.json - name: Install client dependencies working-directory: client run: npm ci - name: Install Playwright browsers working-directory: client run: npx playwright install --with-deps - name: Run live smoke run: bash scripts/qa/run-web-gates.sh smoke-live - name: Upload Playwright report if: always() uses: actions/upload-artifact@v4 with: name: live-smoke-report-${{ github.run_id }} path: | client/playwright-report client/test-results if-no-files-found: ignore