From 6098bd293f9ff555cc05a068b9cb1f76aefc80d7 Mon Sep 17 00:00:00 2001 From: Karolina Rakoczy Date: Thu, 23 Jun 2022 11:15:48 +0200 Subject: [PATCH] Automatically run automation test (#2110) * add workflow for automatically run tests * add event name * add repository dispatch event to nightly tests * fix not equal * fix run on correct domain * Run only on sandboxes and demo --- .github/workflows/tests-nightly.yml | 44 ++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/.github/workflows/tests-nightly.yml b/.github/workflows/tests-nightly.yml index 5487954c0..731dee165 100644 --- a/.github/workflows/tests-nightly.yml +++ b/.github/workflows/tests-nightly.yml @@ -37,7 +37,7 @@ on: jobs: revert-automation-env-to-snap: - if: github.event.inputs.environment == null + if: ${{ github.event.inputs.environment == null && github.event_name != 'repository_dispatch' }} runs-on: ubuntu-latest timeout-minutes: 30 steps: @@ -156,13 +156,49 @@ jobs: group: 'UI - Chrome' command: npx cypress run --record --env tags=critical --spec cypress/e2e/navigation.js,cypress/e2e/products/createProduct.js,cypress/e2e/products/productsVariants.js --parallel --tag ${{ steps.get-env-uri.outputs.ENV_URI }}, Critical + run-tests-on-release: + if: ${{ github.event_name == 'repository_dispatch' && github.event.client_payload.project != 'PROD' && github.event.client_payload.project != 'ENTERPRISE'}} + runs-on: ubuntu-latest + container: cypress/browsers:node14.16.0-chrome89-ff86 + strategy: + fail-fast: false + matrix: + # run copies of the current job in parallel + containers: [1, 2, 3, 4] + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Get formatted version + id: version + env: + version: ${{github.event.client_payload.version}} + pattern: \\. + run: | + echo "::set-output name=version::$(echo $version | sed s/$pattern// | head -n 1 )" + + - name: Get formatted version - demo + if: ${{ github.event.client_payload.project == 'DEMO' }} + id: version-demo + env: + version: ${{github.event.client_payload.version}} + pattern: demo- + run: | + echo "::set-output name=version::$(echo $version | sed s/$pattern// | head -n 1 )" + + - name: Get domain + id: domain + env: + correct-version: ${{ steps.version-demo.outputs.version-demo || steps.version.outputs.version }} + run: | + echo "::set-output name=version::$(echo https://v${{ steps.version-demo.outputs.version-demo }}.staging.saleor.cloud/ | head -n 1 )" + - name: Cypress run - automatically - if: ${{ github.event_name == 'repository_dispatch'}} uses: cypress-io/github-action@v4 env: - API_URI: ${{ github.event.client_payload.environment }}graphql/ + API_URI: ${{ steps.domain.outputs.domain }}graphql/ APP_MOUNT_URI: ${{ secrets.APP_MOUNT_URI }} - CYPRESS_baseUrl: ${{ github.event.client_payload.environment }}dashboard/ + CYPRESS_baseUrl: ${{ steps.domain.outputs.domain }}dashboard/ CYPRESS_USER_NAME: ${{ secrets.CYPRESS_USER_NAME }} CYPRESS_SECOND_USER_NAME: ${{ secrets.CYPRESS_SECOND_USER_NAME }} CYPRESS_USER_PASSWORD: ${{ secrets.CYPRESS_USER_PASSWORD }}