diff --git a/.github/workflows/cypress.yml b/.github/workflows/cypress.yml new file mode 100644 index 000000000..7a9d53f7e --- /dev/null +++ b/.github/workflows/cypress.yml @@ -0,0 +1,62 @@ +name: Run Cypress Accessibility checks + +on: + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }} + +env: + NODE_VERSION: 18.x + +jobs: + cypress-tests: + name: Run Cypress Tests + runs-on: ubuntu-latest + environment: dev + defaults: + run: + working-directory: Dfe.PrepareConversions/Dfe.PrepareConversions.CypressTests + steps: + - uses: actions/checkout@v4 + with: + ref: ${{ github.ref }} + + - name: Setup node.js + uses: actions/setup-node@v4 + with: + node-version: ${{ env.NODE_VERSION }} + + - name: Npm install + run: npm install + + - name: Run cypress (dev) + run: npm run cy:run -- --env url='${{ secrets.AZURE_ENDPOINT }}',cypressTestSecret='${{ secrets.CYPRESS_TEST_SECRET }}, academisationApiUrl=${{secrets.CYPRESS_ACADEMISATION_API_URL}}, academisationApiKey=${{ secrets.CYPRESS_ACADEMISATION_API_KEY}}' + env: + db: ${{ secrets.DB_CONNECTION_STRING }} + + - name: Upload screenshots + if: ${{ failure() }} + uses: actions/upload-artifact@v4 + with: + name: screenshots-dev + path: Dfe.PrepareConversions/Dfe.PrepareConversions.CypressTests/cypress/screenshots + + - name: Generate report + if: always() + run: | + mkdir mochareports + npm run generate:html:report + + - name: Upload report + if: always() + uses: actions/upload-artifact@v4 + with: + name: reports-dev + path: Dfe.PrepareConversions/Dfe.PrepareConversions.CypressTests/mochareports + + - name: Report results + if: always() + run: npm run cy:notify -- --custom-text="Environment dev, See more information https://github.com/DFE-Digital/prepare-academy-conversions/actions/runs/${{github.run_id}}" + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}