fix(e2e): replace paths filter with content-hash cache skip #841
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: E2E Tests (Mocked) | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| types: [opened, reopened, ready_for_review, synchronize] | |
| merge_group: | |
| types: [checks_requested] | |
| jobs: | |
| e2e-mock: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Restore mocked E2E pass marker | |
| id: e2e-marker | |
| uses: actions/cache/restore@v4 | |
| with: | |
| path: .cache/e2e-pass | |
| key: ${{ runner.os }}-mocked-e2e-${{ hashFiles('src/**', 'webview-ui/**', 'apps/vscode-e2e/**', 'packages/**', 'package.json', 'pnpm-lock.yaml', 'pnpm-workspace.yaml', 'turbo.json', '.github/workflows/e2e.yml', '.github/actions/setup-node-pnpm/**') }} | |
| - name: Use cached mocked E2E result | |
| if: github.event_name == 'pull_request' && steps.e2e-marker.outputs.cache-hit == 'true' | |
| run: echo "Skipping mocked E2E tests because this source hash already passed." | |
| - name: Setup Node.js and pnpm | |
| if: github.event_name != 'pull_request' || steps.e2e-marker.outputs.cache-hit != 'true' | |
| uses: ./.github/actions/setup-node-pnpm | |
| - name: Install xvfb | |
| if: github.event_name != 'pull_request' || steps.e2e-marker.outputs.cache-hit != 'true' | |
| run: sudo apt-get install -y xvfb | |
| - name: Run mocked E2E tests | |
| if: github.event_name != 'pull_request' || steps.e2e-marker.outputs.cache-hit != 'true' | |
| run: xvfb-run -a pnpm --filter @roo-code/vscode-e2e test:ci:mock | |
| - name: Write mocked E2E pass marker | |
| if: steps.e2e-marker.outputs.cache-hit != 'true' | |
| run: mkdir -p .cache/e2e-pass && date -u > .cache/e2e-pass/passed | |
| - name: Save mocked E2E pass marker | |
| if: steps.e2e-marker.outputs.cache-hit != 'true' | |
| continue-on-error: true | |
| uses: actions/cache/save@v4 | |
| with: | |
| path: .cache/e2e-pass | |
| key: ${{ steps.e2e-marker.outputs.cache-primary-key }} |