Skip to content

Commit

Permalink
chore: remove cypress cloud parallelization
Browse files Browse the repository at this point in the history
  • Loading branch information
sprutton1 committed Jun 26, 2024
1 parent 0f785ed commit 14fbd6b
Showing 1 changed file with 33 additions and 9 deletions.
42 changes: 33 additions & 9 deletions .github/workflows/e2e-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ on:
type: string
required: true
description: "where to deploy"
default: "tools"
workflow_dispatch:
inputs:
environment:
Expand All @@ -20,17 +19,36 @@ on:
- production

jobs:
define-test-matrix:
runs-on: ubuntu-latest
outputs:
tests: ${{ steps.tests.outputs.tests }}
steps:
- uses: actions/checkout@v3
- id: tests
working-directory: app/web/cypress/e2e
run: |
test_dirs=$(find . -mindepth 1 -maxdepth 1 -type d)
test_array="[]"
for d in $test_dirs; do
test_array=$(echo "$test_array" | jq --arg d "$d" '. += [$d]')
done
test_array=$(echo "$test_array" | jq -c '.')
echo "$test_array"
echo "tests=$test_array" >> "$GITHUB_OUTPUT"
cypress-tests:
environment: ${{ inputs.environment }}
runs-on: ubuntu-latest
needs: define-test-matrix
strategy:
# don't fail the entire matrix on failure
fail-fast: false
matrix:
# run copies of the current job in parallel
# run copies of the current job in parallel split bny test dir
# TODO: we really should build once and set it as an
# artifact so we aren't rebuilding for each of these
containers: [1, 2, 3] #, 4, 5, 6, 7, 8, 9, 10] - temp disabled mass
tests: ${{ fromJSON(needs.define-test-matrix.outputs.tests) }}
steps:
- name: Checkout code
uses: actions/checkout@v3
Expand All @@ -57,6 +75,7 @@ jobs:
sudo apt install uuid -y
- uses: nick-fields/retry@v2
working-directory: app/web/cypress/e2e
with:
max_attempts: 3
timeout_minutes: 20
Expand All @@ -72,17 +91,22 @@ jobs:
export VITE_AUTH_API_URL=https://auth-api.systeminit.com
export VITE_AUTH_PORTAL_URL=https://auth.systeminit.com
npx cypress run --spec "cypress/e2e/**" --parallel --record --key ${{ secrets.CYPRESS_RECORD_KEY }}
npx cypress run --spec "${{ matrix.tests }}/**"
- name: 'Upload Cypress Recordings to Github'
uses: actions/upload-artifact@v4
if: always()
with:
name: cypress-recordings-run-${{ matrix.containers }}
name: cypress-recordings-run-${{ matrix.tests }}
path: app/web/cypress/videos/**/*.mp4
retention-days: 5

- name: Send Slack Failure Webhook
if: failure()
run: |
curl -X POST -H 'Content-type: application/json' --data "{\"text\": \":si: Failed Cypress E2E Test for ${{ inputs.environment }}: <https://github.com/systeminit/si/actions/runs/$GITHUB_RUN_ID|:test_tube: Link>\"}" ${{ secrets.SLACK_WEBHOOK_URL }}
# on-failure:
# runs-on: ubuntu-latest
# needs: cypress-tests
# if: ${{ always() && contains(needs.*.result, 'failure') }}
# steps:
# - run: |
# curl -X POST \
# -H 'Content-type: application/json' \
# --data "{\"text\": \":si: Failed Cypress E2E Test for ${{ inputs.environment }}: <https://github.com/systeminit/si/actions/runs/$GITHUB_RUN_ID|:test_tube: Link>\"}" ${{ secrets.SLACK_WEBHOOK_URL }}

0 comments on commit 14fbd6b

Please sign in to comment.