diff --git a/.github/workflows/e2e-flaky.yml b/.github/workflows/e2e-flaky.yml new file mode 100644 index 0000000000..ce5de72113 --- /dev/null +++ b/.github/workflows/e2e-flaky.yml @@ -0,0 +1,69 @@ +name: Debug Flaky E2E Test + +on: + workflow_dispatch: + inputs: + test_name: + description: 'The name of the test to filter.' + required: true + type: string + burn_count: + description: 'Number of times to run the test.' + required: false + type: number + default: 50 + branch: + description: 'Optional: GitHub branch, tag, or SHA to test. Defaults to the branch selected in UI.' + required: false + type: string + +jobs: + debug-test: + runs-on: blacksmith-4vcpu-ubuntu-2204 + timeout-minutes: 60 + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + ref: ${{ github.event.inputs.branch }} + + - name: Setup PNPM + uses: pnpm/action-setup@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '18' + cache: 'pnpm' + + - name: Cache build artifacts + id: cache-build-artifacts + uses: useblacksmith/cache@v5 + with: + path: | + /home/runner/.cache/Cypress + ./packages/**/dist + key: ${{ github.ref }}-${{ github.sha }}-debug-build + restore-keys: | + ${{ github.ref }}-debug-build- + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Build application + if: steps.cache-build-artifacts.outputs.cache-hit != 'true' + run: pnpm build + + - name: Cypress install + if: steps.cache-build-artifacts.outputs.cache-hit != 'true' + working-directory: cypress + run: pnpm cypress:install + + - name: Run Flaky Debug Command + run: pnpm run debug:flaky:e2e "${{ github.event.inputs.test_name }}" ${{ github.event.inputs.burn_count }} + env: + NODE_OPTIONS: --dns-result-order=ipv4first + E2E_TESTS: true + SHELL: /bin/sh + CYPRESS_NODE_VIEW_VERSION: 2 \ No newline at end of file diff --git a/cypress/e2e/24-ndv-paired-item.cy.ts b/cypress/e2e/24-ndv-paired-item.cy.ts index 0004603a50..ccae14f6c9 100644 --- a/cypress/e2e/24-ndv-paired-item.cy.ts +++ b/cypress/e2e/24-ndv-paired-item.cy.ts @@ -59,8 +59,7 @@ describe('NDV', () => { ndv.getters.inputTableRow(4).invoke('attr', 'data-test-id').should('equal', 'hovering-item'); }); - // eslint-disable-next-line n8n-local-rules/no-skipped-tests - it.skip('maps paired input and output items based on selected input node', () => { + it('maps paired input and output items based on selected input node', () => { cy.fixture('Test_workflow_5.json').then((data) => { cy.get('body').paste(JSON.stringify(data)); });