diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index c7ae31aad..737c7dc2b 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -274,8 +274,8 @@ jobs:
         if: always()
         uses: actions/upload-artifact@v4
         with:
-          name: junit.xml
-          path: src-ui/
+          name: junit-report-${{ matrix.shard-index }}.xml
+          path: src-ui/junit.xml
           retention-days: 7
 
   tests-coverage-upload:
@@ -304,8 +304,9 @@ jobs:
         name: Download frontend test results
         uses: actions/download-artifact@v4
         with:
-          path: src-ui/
-          name: junit.xml
+          name: junit-report-*
+          path: src-ui/junit/
+          merge-multiple: true
       -
         name: Upload frontend coverage to Codecov
         uses: codecov/codecov-action@v5
@@ -323,7 +324,7 @@ jobs:
         with:
           token: ${{ secrets.CODECOV_TOKEN }}
           flags: frontend
-          directory: src-ui/
+          directory: src-ui/junit/
       -
         name: Download backend coverage
         uses: actions/download-artifact@v4