1- name : post-coverage-to-pr 
1+ name : pr-reports 
22
33on :
44  workflow_run :
1212    runs-on : ubuntu-latest 
1313    steps :
1414
15-     - name : Fetch code coverage results  
15+     - name : Fetch pull request reports  
1616      uses : actions/github-script@v7 
17-       id : fetch-code-coverage-results  
17+       id : fetch-pr-reports  
1818      with :
1919        script : | 
2020          let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({ 
2424          }); 
2525          let is_pull_request = 'false'; 
2626          let matchedArtifacts = allArtifacts.data.artifacts.filter((artifact) => { 
27-             return artifact.name == "code-coverage-results " 
27+             return artifact.name == "pull-request-reports " 
2828          }); 
2929          if (matchedArtifacts.length > 0) { 
3030            let download = await github.rest.actions.downloadArtifact({ 
@@ -35,22 +35,40 @@ jobs:
3535            }); 
3636            let fs = require('fs'); 
3737            fs.writeFileSync( 
38-               `${process.env.GITHUB_WORKSPACE}/code-coverage-results .zip`, 
38+               `${process.env.GITHUB_WORKSPACE}/pull-request-reports .zip`, 
3939              Buffer.from(download.data) 
4040            ); 
4141            is_pull_request = 'true'; 
4242          } 
4343          core.info('Setting output: is_pull_request=' + is_pull_request); 
4444          core.setOutput('is_pull_request', is_pull_request); 
4545
46- name : Unzip code coverage results 
47-       if : steps.fetch-code-coverage-results.outputs.is_pull_request == 'true' 
48-       run : unzip code-coverage-results.zip 
46+ name : Unzip pull request reports 
47+       if : steps.fetch-pr-reports.outputs.is_pull_request == 'true' 
48+       run : unzip pull-request-reports.zip 
49+ 
50+     - name : Load commit ID 
51+       uses : actions/github-script@v7 
52+       id : load-commit-id 
53+       if : steps.fetch-pr-reports.outputs.is_pull_request == 'true' 
54+       with :
55+         script : | 
56+           let fs = require('fs'); 
57+           let pull_request_id = fs.readFileSync( 
58+             `${process.env.GITHUB_WORKSPACE}/commit_id` 
59+           ); 
60+           core.info('commit_id=' + commit_id); 
61+           if (commit_id == '') { 
62+             core.error('commit_id is empty'); 
63+           } else { 
64+             core.info('Setting output: commit_id=' + commit_id); 
65+             core.setOutput('commit_id', Number(commit_id)); 
66+           } 
4967
5068name : Load pull request ID 
5169      uses : actions/github-script@v7 
5270      id : load-pull-request-id 
53-       if : steps.fetch-code-coverage-results .outputs.is_pull_request == 'true' 
71+       if : steps.fetch-pr-reports .outputs.is_pull_request == 'true' 
5472      with :
5573        script : | 
5674          let fs = require('fs'); 
@@ -65,10 +83,21 @@ jobs:
6583            core.setOutput('pull_request_id', Number(pull_request_id)); 
6684          } 
6785
68- name : Update PR with code coverage results 
86+ name : Update pull request with test report 
87+       uses : mikepenz/action-junit-report@v5 
88+       if : steps.fetch-pr-reports.outputs.is_pull_request == 'true' 
89+       with :
90+         report_paths : test-report.xml 
91+         commit : ${{ steps.load-commit-id.outputs.commit_id }} 
92+         pr_id : ${{ steps.load-pull-request-id.outputs.pull_request_id }} 
93+         comment : true 
94+         updateComment : true 
95+         include_time_in_summary : true 
96+ 
97+     - name : Update pull request with code coverage 
6998      uses : marocchino/sticky-pull-request-comment@v2 
70-       if : steps.fetch-code-coverage-results .outputs.is_pull_request == 'true' 
99+       if : steps.fetch-pr-reports .outputs.is_pull_request == 'true' 
71100      with :
72101        number : ${{ steps.load-pull-request-id.outputs.pull_request_id }} 
73102        recreate : true 
74-         path : code-coverage-results .md
103+         path : pull-request-reports .md
0 commit comments