diff --git a/.github/workflows/add_issue_to_triage_board.yml b/.github/workflows/add_issue_to_triage_board.yml index e9e74b93b..e0ef52675 100644 --- a/.github/workflows/add_issue_to_triage_board.yml +++ b/.github/workflows/add_issue_to_triage_board.yml @@ -8,5 +8,5 @@ on: - opened jobs: add-to-triage-project-board: - uses: cypress-io/cypress/.github/workflows/triage_add_to_project.yml@develop - secrets: inherit + uses: cypress-io/cypress/.github/workflows/triage_add_to_project.yml@master + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index 97ff5f696..000000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,226 +0,0 @@ -name: Cypress Tests - -on: - push: - branches-ignore: - - "renovate/**" - -jobs: - install: - runs-on: ubuntu-latest - container: - image: cypress/browsers:node-22.13.0-chrome-132.0.6834.83-1-ff-134.0.1-edge-131.0.2903.147-1 - options: --user 1001 - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Cypress install - uses: cypress-io/github-action@v6 - with: - runTests: false - # report machine parameters - - run: yarn cypress info - - run: node --version - - run: node -p 'os.cpus()' - - run: yarn types - - run: yarn lint - - run: yarn test:unit:ci - - run: yarn build:ci - - - name: Save build folder - uses: actions/upload-artifact@v4 - with: - name: build - if-no-files-found: error - path: build - - ui-chrome-tests: - timeout-minutes: 15 - runs-on: ubuntu-latest - container: - image: cypress/browsers:node-22.13.0-chrome-132.0.6834.83-1-ff-134.0.1-edge-131.0.2903.147-1 - options: --user 1001 - needs: install - strategy: - # when one test fails, DO NOT cancel the other - # containers, because this will kill Cypress processes - # leaving Cypress Cloud hanging ... - # https://github.com/cypress-io/github-action/issues/48 - fail-fast: false - matrix: - # run copies of the current job in parallel - containers: [1, 2, 3, 4, 5] - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Download the build folders - uses: actions/download-artifact@v4 - with: - name: build - path: build - - - name: Node info - run: node -v - - - name: __e Dir - run: ls /__e - - - name: "UI Tests - Chrome" - uses: cypress-io/github-action@v6 - with: - build: yarn cypress info - start: yarn start:ci - wait-on: "http://localhost:3000" - wait-on-timeout: 120 - browser: chrome - record: true - parallel: true - group: "UI - Chrome" - spec: cypress/tests/ui/* - config-file: cypress.config.ts - env: - CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }} - CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} - # Recommended: pass the GitHub token lets this action correctly - # determine the unique run id necessary to re-run the checks - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - DEBUG: "cypress:server:args" - - ui-chrome-mobile-tests: - timeout-minutes: 15 - runs-on: ubuntu-latest - container: - image: cypress/browsers:node-22.13.0-chrome-132.0.6834.83-1-ff-134.0.1-edge-131.0.2903.147-1 - options: --user 1001 - needs: install - strategy: - # when one test fails, DO NOT cancel the other - # containers, because this will kill Cypress processes - # leaving Cypress Cloud hanging ... - # https://github.com/cypress-io/github-action/issues/48 - fail-fast: false - matrix: - # run copies of the current job in parallel - containers: [1, 2, 3, 4, 5] - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Download the build folders - uses: actions/download-artifact@v4 - with: - name: build - path: build - - - name: "UI Tests - Chrome - Mobile" - uses: cypress-io/github-action@v6 - with: - config: '{"e2e":{"viewportWidth":375,"viewportHeight":667}}' - start: yarn start:ci - wait-on: "http://localhost:3000" - wait-on-timeout: 120 - browser: chrome - record: true - parallel: true - group: "UI - Chrome - Mobile" - spec: cypress/tests/ui/* - config-file: cypress.config.ts - env: - CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }} - CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} - # Recommended: pass the GitHub token lets this action correctly - # determine the unique run id necessary to re-run the checks - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - ui-firefox-tests: - timeout-minutes: 15 - runs-on: ubuntu-latest - container: - image: cypress/browsers:node-22.13.0-chrome-132.0.6834.83-1-ff-134.0.1-edge-131.0.2903.147-1 - options: --user 1001 - needs: install - strategy: - # when one test fails, DO NOT cancel the other - # containers, because this will kill Cypress processes - # leaving Cypress Cloud hanging ... - # https://github.com/cypress-io/github-action/issues/48 - fail-fast: false - matrix: - # run copies of the current job in parallel - containers: [1, 2, 3, 4, 5] - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Download the build folders - uses: actions/download-artifact@v4 - with: - name: build - path: build - - - name: "UI Tests - Firefox" - uses: cypress-io/github-action@v6 - with: - start: yarn start:ci - wait-on: "http://localhost:3000" - wait-on-timeout: 120 - browser: firefox - record: true - parallel: true - group: "UI - Firefox" - spec: cypress/tests/ui/* - config-file: cypress.config.ts - env: - CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }} - CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} - # Recommended: pass the GitHub token lets this action correctly - # determine the unique run id necessary to re-run the checks - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - ui-firefox-mobile-tests: - timeout-minutes: 15 - runs-on: ubuntu-latest - container: - image: cypress/browsers:node-22.13.0-chrome-132.0.6834.83-1-ff-134.0.1-edge-131.0.2903.147-1 - options: --user 1001 - needs: install - strategy: - # when one test fails, DO NOT cancel the other - # containers, because this will kill Cypress processes - # leaving Cypress Cloud hanging ... - # https://github.com/cypress-io/github-action/issues/48 - fail-fast: false - matrix: - # run copies of the current job in parallel - containers: [1, 2, 3, 4, 5] - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Download the build folders - uses: actions/download-artifact@v4 - with: - name: build - path: build - - - name: "UI Tests - Firefox - Mobile" - uses: cypress-io/github-action@v6 - with: - config: '{"e2e":{"viewportWidth":375,"viewportHeight":667}}' - start: yarn start:ci - wait-on: "http://localhost:3000" - wait-on-timeout: 120 - browser: firefox - record: true - parallel: true - group: "UI - Firefox - Mobile" - spec: cypress/tests/ui/* - config-file: cypress.config.ts - env: - CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }} - CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} - # Recommended: pass the GitHub token lets this action correctly - # determine the unique run id necessary to re-run the checks - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/merge-develop-into-flake-demo.yml b/.github/workflows/merge-develop-into-flake-demo.yml index 4db99dbf4..601ebab2f 100644 --- a/.github/workflows/merge-develop-into-flake-demo.yml +++ b/.github/workflows/merge-develop-into-flake-demo.yml @@ -1,10 +1,10 @@ -name: Merge develop into flake-demo +name: Merge master into flake-demo on: push: branches: - - develop + - master jobs: - merge-master-into-develop: + merge-master-into-flake-demo: runs-on: ubuntu-latest steps: - name: Checkout @@ -19,24 +19,24 @@ jobs: run: git checkout flake-demo - name: Check for merge conflict id: check-conflict - run: echo "name=merge_conflict::$(git merge-tree $(git merge-base HEAD develop) develop HEAD | egrep '<<<<<<<')" >> $GITHUB_OUTPUT - - name: Merge develop into flake-demo - run: git merge develop + run: echo "name=merge_conflict::$(git merge-tree $(git merge-base HEAD master) master HEAD | egrep '<<<<<<<')" >> $GITHUB_OUTPUT + - name: Merge master into flake-demo + run: git merge master if: ${{ !steps.check-conflict.outputs.merge_conflict }} - name: Push run: git push if: ${{ !steps.check-conflict.outputs.merge_conflict }} - - name: Checkout develop - run: git checkout develop + - name: Checkout master + run: git checkout master if: ${{ steps.check-conflict.outputs.merge_conflict }} - name: Determine name of new branch id: gen-names run: | echo "name=sha::$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - echo "name=branch_name::$(git rev-parse --short HEAD)-develop-into-flake-demo" >> $GITHUB_OUTPUT + echo "name=branch_name::$(git rev-parse --short HEAD)-master-into-flake-demo" >> $GITHUB_OUTPUT if: ${{ steps.check-conflict.outputs.merge_conflict }} - - name: Create a copy of develop on a new branch - run: git checkout -b ${{ steps.gen-names.outputs.branch_name }} develop + - name: Create a copy of master on a new branch + run: git checkout -b ${{ steps.gen-names.outputs.branch_name }} master if: ${{ steps.check-conflict.outputs.merge_conflict }} - name: Push branch to remote run: git push origin ${{ steps.gen-names.outputs.branch_name }} @@ -50,8 +50,8 @@ jobs: repo: context.repo.repo, base: 'flake-demo', head: '${{ steps.gen-names.outputs.branch_name }}', - title: 'chore: merge develop (${{ steps.gen-names.outputs.sha }}) into flake-demo', - body: `There was a merge conflict when trying to automatically merge develop into flake-demo. Please resolve the conflict and complete the merge. + title: 'chore: merge master (${{ steps.gen-names.outputs.sha }}) into flake-demo', + body: `There was a merge conflict when trying to automatically merge master into flake-demo. Please resolve the conflict and complete the merge. DO NOT SQUASH AND MERGE @@ -70,4 +70,4 @@ jobs: issue_number: pull.data.number, labels: ['auto-merge'], }) - if: ${{ steps.check-conflict.outputs.merge_conflict }} + if: ${{ steps.check-conflict.outputs.merge_conflict }} \ No newline at end of file diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml new file mode 100644 index 000000000..ea48901e6 --- /dev/null +++ b/.github/workflows/playwright.yml @@ -0,0 +1,83 @@ +name: Playwright Tests + +on: + push: + branches: [ main, master ] + pull_request: + branches: [ main, master ] + workflow_dispatch: + +jobs: + test: + timeout-minutes: 30 + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + shards: [1, 2, 3] + browser: [chromium, firefox] + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: lts/* + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Install Playwright browser + run: npx playwright install --with-deps ${{ matrix.browser }} + + - name: Install Allure + run: npm i -g allure-commandline + + - name: Run tests + run: | + npx playwright test \ + --shard=${{ matrix.shards }}/3 \ + --project=${{ matrix.browser }} \ + --reporter=list,allure-playwright + + - name: Generate Allure report + if: always() + run: | + allure generate allure-results -o allure-report/${{ matrix.browser }}-${{ matrix.shards }} --clean + + - name: Store report + if: always() + uses: actions/upload-artifact@v4 + with: + name: allure-report + path: allure-report + retention-days: 14 + + - name: Store traces + if: failure() + uses: actions/upload-artifact@v4 + with: + name: traces-${{ matrix.browser }}-${{ matrix.shards }} + path: test-results + retention-days: 7 + + publish-report: + if: always() + needs: [test] + runs-on: ubuntu-latest + + steps: + - name: Download reports + uses: actions/download-artifact@v4 + with: + name: allure-report + path: allure-report + + - name: Publish to GitHub Pages + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: allure-report \ No newline at end of file diff --git a/.github/workflows/triage_new_comment_workflow.yml b/.github/workflows/triage_new_comment_workflow.yml index 0061e2feb..0ca8c5bf7 100644 --- a/.github/workflows/triage_new_comment_workflow.yml +++ b/.github/workflows/triage_new_comment_workflow.yml @@ -5,5 +5,5 @@ on: - created jobs: closed-issue-comment: - uses: cypress-io/cypress/.github/workflows/triage_handle_new_comments.yml@develop - secrets: inherit + uses: cypress-io/cypress/.github/workflows/triage_handle_new_comments.yml@master + secrets: inherit \ No newline at end of file diff --git a/playwright-report/index.html b/playwright-report/index.html new file mode 100644 index 000000000..0b83bec2a --- /dev/null +++ b/playwright-report/index.html @@ -0,0 +1,71 @@ + + + + +
+ + + +