name: UI Tests concurrency: # Support push/pr as event types with different behaviors each: # 1. push: queue up builds # 2. pr: only allow one run per PR group: ${{ github.workflow }}-${{ github.event.type }}${{ github.event.pull_request.number }} # If there is already a workflow running for the same pull request, cancel it cancel-in-progress: ${{ github.event_name == 'pull_request' }} env: VERCEL_ORG_ID: ${{ secrets.VERCEL_TEAM_ID }} VERCEL_PROJECT_ID: ${{ secrets.UI_TEST_WALLET_V2_VERCEL_PROJECT_ID }} on: pull_request: branches: - main jobs: preview: runs-on: ubuntu-latest outputs: preview-url: ${{ steps.preview.outputs.PREVIEW_URL }} steps: - uses: actions/checkout@v4 - name: Install Vercel CLI run: npm install --global vercel@latest - name: Pull Vercel Environment Information run: vercel pull --yes --environment=preview --token=${{ secrets.UI_TEST_VERCEL_TOKEN }} - name: Build Project Artifacts run: vercel build --token=${{ secrets.UI_TEST_VERCEL_TOKEN }} - name: Deploy Project Artifacts to Vercel run: vercel deploy --prebuilt --token=${{ secrets.UI_TEST_VERCEL_TOKEN }} > preview.txt - name: preview id: preview run: echo "PREVIEW_URL=$(cat preview.txt | tail -n 1)" >> "$GITHUB_OUTPUT" ui-test: needs: preview with: base-url: http://localhost:3000/ wallet-url: ${{ needs.preview.outputs.preview-url }}/ skip-playwright-webserver: false branch: V4 command: playwright:test:wallet uses: WalletConnect/web3modal/.github/workflows/ui_tests.yml@V4 secrets: NEXT_PUBLIC_PROJECT_ID: ${{ secrets.UI_TEST_PROJECT_ID }} TESTS_NEXTAUTH_SECRET: ${{ secrets.TESTS_NEXTAUTH_SECRET }}