name: Mini Program Test on: push: branches: [main, develop] pull_request: branches: [main, develop] workflow_dispatch: jobs: miniprogram-test: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '18' - name: Install pnpm uses: pnpm/action-setup@v2 with: version: 8 - name: Install dependencies run: pnpm install - name: Install Playwright browsers run: npx playwright install --with-deps - name: Build mini program run: pnpm run build:mp-weixin - name: Run mini program tests run: pnpm run test:miniprogram - name: Upload test results if: always() uses: actions/upload-artifact@v4 with: name: playwright-miniprogram-report path: test-results/miniprogram/ retention-days: 30 - name: Upload screenshots if: failure() uses: actions/upload-artifact@v4 with: name: miniprogram-screenshots path: test-results/miniprogram/screenshots/ retention-days: 30 - name: Upload videos if: failure() uses: actions/upload-artifact@v4 with: name: miniprogram-videos path: test-results/miniprogram/videos/ retention-days: 30