Skip to content

Commit f789c65

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

2 files changed

Lines changed: 27 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: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,24 +24,49 @@ 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_FILE=timings.json \
30+
-e SPLIT_OUTPUT_FILE=timings.out.json \
2731
cypress /e2e/cypress/run_cypress_in_4K_xvfb.sh
32+
33+
docker exec cypress pwd
34+
docker exec cypress whoami
35+
docker exec cypress ls -lha /e2e
36+
docker exec cypress ls -lh /e2e/cypress
37+
docker exec cypress ls -lh /e2e/cypress/reports
2838
shell: bash
2939

3040
- name: Retrieve test reports from container
3141
# should be run even if the tests fail
3242
if: always()
3343
run: |
44+
echo '=================== LOCAL ==================='
45+
pwd
46+
echo ${{ github.workspace }}
47+
ls -lh ${{ github.workspace }}/
48+
3449
docker cp cypress:/e2e/cypress/reports ${{ github.workspace }}/test-reports || echo "No reports"
50+
ls -lh ${{ github.workspace }}/test-reports
51+
52+
docker cp cypress:/e2e/cypress/timings.out.json ${{ github.workspace }}/timings.out.json || echo "No timings file"
53+
ls -lh ${{ github.workspace }}/
3554
shell: bash
3655

3756
- name: Upload test reports as an artifact
3857
# should be run even if the tests fail
3958
if: always()
4059
uses: actions/upload-artifact@v4
4160
with:
42-
name: cypress-docker-reports
61+
name: "cypress-docker-report-${{ strategy.job-index }}-of-${{ strategy.job-total }}"
4362
path: ${{ github.workspace }}/test-reports
4463

64+
- name: Upload cypress-split timings file
65+
uses: actions/upload-artifact@v4
66+
with:
67+
name: "cypress-timings-${{ strategy.job-index }}-of-${{ strategy.job-total }}"
68+
path: ${{ github.workspace }}/timings.out.json
69+
4570
- name: Fail the job
4671
# should fail the job if the tests fail
4772
if: ${{ failure() }}

0 commit comments

Comments
 (0)