Skip to content

Commit b200ff0

Browse files
author
Janne Rönkkö
committed
Add support for parallel E2E tests
1 parent ce0ea87 commit b200ff0

2 files changed

Lines changed: 19 additions & 2 deletions

File tree

github-actions/run-ci/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,6 @@ runs:
144144
- name: Run e2e tests
145145
env:
146146
CYPRESS_TESTS_KEPT_IN_MEMORY: "${{ inputs.cypress_tests_kept_in_memory }}"
147-
uses: HSLdevcom/jore4-tools/github-actions/run-cypress-tests@run-cypress-tests-v3
147+
uses: HSLdevcom/jore4-tools/github-actions/run-cypress-tests@split-e2e
148148
with:
149149
test-tags: "${{ inputs.test-tags }}"

github-actions/run-cypress-tests/action.yml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,24 +24,41 @@ runs:
2424
docker exec \
2525
-e TEST_TAGS="${{ inputs.test-tags }}" \
2626
-e TEST_VIDEO="${{ inputs.video }}" \
27+
-e SPLIT="${{ strategy.job-total }}" \
28+
-e SPLIT_INDEX="${{ strategy.job-index }}" \
29+
-e SPLIT_FXILE=/e2e/cypress/timings.json \
30+
-e SPLIT_OUTPUT_FILE=/e2e/cypress/reports/timings.out.json \
2731
cypress /e2e/cypress/run_cypress_in_4K_xvfb.sh
32+
33+
docker exec cypress ls -lh /e2e
34+
docker exec cypress ls -lh /e2e/cypress
35+
docker exec cypress ls -lh /e2e/cypress/reports
2836
shell: bash
2937

3038
- name: Retrieve test reports from container
3139
# should be run even if the tests fail
3240
if: always()
3341
run: |
3442
docker cp cypress:/e2e/cypress/reports ${{ github.workspace }}/test-reports || echo "No reports"
43+
docker cp cypress:/e2e/cypress/reports/timings.out.json ${{ github.workspace }}/timings.out.json || echo "No timings file"
44+
ls -lh
45+
ls -lh test-reports
3546
shell: bash
3647

3748
- name: Upload test reports as an artifact
3849
# should be run even if the tests fail
3950
if: always()
4051
uses: actions/upload-artifact@v4
4152
with:
42-
name: cypress-docker-reports
53+
name: "cypress-docker-report-${{ strategy.job-index }}-of-${{ strategy.job-total }}"
4354
path: ${{ github.workspace }}/test-reports
4455

56+
- name: Upload cypress-split timings file
57+
uses: actions/upload-artifact@v4
58+
with:
59+
name: "cypress-timings-${{ strategy.job-index }}-of-${{ strategy.job-total }}"
60+
path: ${{ github.workspace }}/timings.out.json
61+
4562
- name: Fail the job
4663
# should fail the job if the tests fail
4764
if: ${{ failure() }}

0 commit comments

Comments
 (0)