diff --git a/.github/workflows/percy-demo-tests.yml b/.github/workflows/percy-demo-tests.yml index 250f42b79..e29f70b9a 100644 --- a/.github/workflows/percy-demo-tests.yml +++ b/.github/workflows/percy-demo-tests.yml @@ -11,6 +11,15 @@ on: required: true description: 'Environment api to run tests against' default: 'https://staging-demo.saleor.io/graphql/' + testsKind: + required: true + description: 'What kind of tests' + type: choice + default: "all" + options: + - "percy" + - "functional" + - "all" schedule: - cron: '00 2 * * 1-5' @@ -19,11 +28,14 @@ on: types: [demo-tests] jobs: - cypress-run-test-percy: + cypress-run-tests: runs-on: ubuntu-latest + env: + TEST_KIND: ${{ github.event.inputs.testsKind || github.event.client_payload.testsKind }} container: cypress/browsers:node18.12.0-chrome106-ff106 steps: + - name: Get environments urls id: get-env-urls env: @@ -34,7 +46,7 @@ jobs: echo "API_URL=${{ github.event.inputs.apiUrl || env.DEFAULT_API_URL }}" >> $GITHUB_OUTPUT - name: Checkout - uses: actions/checkout@v1 + uses: actions/checkout@v3 - name: Cache node modules uses: actions/cache@v2 @@ -52,6 +64,8 @@ jobs: run: NODE_OPTIONS=--max_old_space_size=4096 npm install - name: Cypress run test percy + if: contains(fromJSON('["percy", "all"]'), env.TEST_KIND) + continue-on-error: true uses: cypress-io/github-action@v4 env: API_URI: ${{ steps.get-env-urls.outputs.API_URL }} @@ -65,4 +79,21 @@ jobs: CYPRESS_demoTests: true with: group: "UI - Chrome" - command: npx percy exec -- npx cypress run --record \ No newline at end of file + command: npx percy exec -- npx cypress run --record + + - name: Cypress run test functional + if: contains(fromJSON('["functional", "all"]'), env.TEST_KIND) + continue-on-error: true + uses: cypress-io/github-action@v4 + env: + API_URI: ${{ steps.get-env-urls.outputs.API_URL }} + APP_MOUNT_URI: ${{ secrets.APP_MOUNT_URI }} + CYPRESS_DEMO_URI: ${{ steps.get-env-urls.outputs.DASHBOARD_URL }} + CYPRESS_USER_NAME: admin@example.com + CYPRESS_USER_PASSWORD: admin + CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} + COMMIT_INFO_MESSAGE: Demo dashboard tests - ${{github.event.inputs.dashboardUrl}} - ${{ steps.get-env-urls.outputs.DASHBOARD_URL }} + CYPRESS_grepTags: "@demo-dashboard" + with: + group: 'UI - Chrome' + record: true