Skip to content

Commit 0e77a77

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

2 files changed

Lines changed: 28 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: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,26 +22,52 @@ runs:
2222
- name: Run the tests
2323
run: |
2424
docker exec \
25+
-u node \
2526
-e TEST_TAGS="${{ inputs.test-tags }}" \
2627
-e TEST_VIDEO="${{ inputs.video }}" \
28+
-e SPLIT="${{ strategy.job-total }}" \
29+
-e SPLIT_INDEX="${{ strategy.job-index }}" \
30+
-e SPLIT_FXILE=timings.json \
31+
-e SPLIT_OUTPUT_FILE=timings.out.json \
2732
cypress /e2e/cypress/run_cypress_in_4K_xvfb.sh
33+
34+
docker exec -u node cypress pwd
35+
docker exec -u node cypress whoami
36+
docker exec -u node cypress ls -lha /e2e
37+
docker exec -u node cypress ls -lh /e2e/cypress
38+
docker exec -u node cypress ls -lh /e2e/cypress/reports
2839
shell: bash
2940

3041
- name: Retrieve test reports from container
3142
# should be run even if the tests fail
3243
if: always()
3344
run: |
45+
echo '=================== LOCAL ==================='
46+
pwd
47+
echo ${{ github.workspace }}
48+
ls -lh ${{ github.workspace }}/
49+
3450
docker cp cypress:/e2e/cypress/reports ${{ github.workspace }}/test-reports || echo "No reports"
51+
ls -lh ${{ github.workspace }}/test-reports
52+
53+
docker cp cypress:/e2e/cypress/timings.out.json ${{ github.workspace }}/timings.out.json || echo "No timings file"
54+
ls -lh ${{ github.workspace }}/
3555
shell: bash
3656

3757
- name: Upload test reports as an artifact
3858
# should be run even if the tests fail
3959
if: always()
4060
uses: actions/upload-artifact@v4
4161
with:
42-
name: cypress-docker-reports
62+
name: "cypress-docker-report-${{ strategy.job-index }}-of-${{ strategy.job-total }}"
4363
path: ${{ github.workspace }}/test-reports
4464

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

0 commit comments

Comments
 (0)