Yuki Takei 1 год назад
Родитель
Сommit
e9917e075c
2 измененных файлов с 34 добавлено и 1 удалено
  1. 28 0
      .github/workflows/reusable-app-prod.yml
  2. 6 1
      apps/app/playwright.config.ts

+ 28 - 0
.github/workflows/reusable-app-prod.yml

@@ -260,6 +260,34 @@ jobs:
         MONGO_URI: mongodb://mongodb:27017/growi-playwright-guest-mode
         MONGO_URI: mongodb://mongodb:27017/growi-playwright-guest-mode
         ELASTICSEARCH_URI: http://localhost:${{ job.services.elasticsearch.ports['9200'] }}/growi
         ELASTICSEARCH_URI: http://localhost:${{ job.services.elasticsearch.ports['9200'] }}/growi
 
 
+    - name: Upload test results
+      if: always()
+      uses: actions/upload-artifact@v4
+      with:
+        name: blob-report-${{ matrix.shard }}
+        path: blob-report
+        retention-days: 30
+
+    - name: Download blob reports from all shards
+      if: always()
+      uses: actions/download-artifact@v4
+      with:
+        pattern: blob-report-*
+        path: all-blob-reports
+        merge-multiple: true
+
+    - name: Merge into HTML Report
+      if: always()
+      run: pnpm playwright merge-reports --reporter html ./all-blob-reports
+
+    - name: Upload HTML report
+      if: always()
+      uses: actions/upload-artifact@v4
+      with:
+        name: html-report
+        path: playwright-report
+        retention-days: 30
+
     - name: Slack Notification
     - name: Slack Notification
       uses: weseek/ghaction-slack-notification@master
       uses: weseek/ghaction-slack-notification@master
       if: failure()
       if: failure()

+ 6 - 1
apps/app/playwright.config.ts

@@ -48,7 +48,12 @@ export default defineConfig({
   /* Opt out of parallel tests on CI. */
   /* Opt out of parallel tests on CI. */
   workers: process.env.CI ? 1 : undefined,
   workers: process.env.CI ? 1 : undefined,
   /* Reporter to use. See https://playwright.dev/docs/test-reporters */
   /* Reporter to use. See https://playwright.dev/docs/test-reporters */
-  reporter: process.env.CI ? 'github' : 'list',
+  reporter: process.env.CI
+    ? [
+      ['github'],
+      ['blob'],
+    ]
+    : 'list',
 
 
   webServer: {
   webServer: {
     command: 'pnpm run server',
     command: 'pnpm run server',