@@ -470,9 +470,47 @@ jobs:
470
470
cp /usr/src/build-extra/mingit/root/etc/package-versions.txt artifacts/
471
471
- name : Publish ${{matrix.artifact.name}}-${{env.ARCHITECTURE}}
472
472
uses : actions/upload-artifact@v4
473
+ id : upload-artifact
473
474
with :
474
475
name : ${{matrix.artifact.name}}-${{env.ARCHITECTURE}}
475
476
path : artifacts
477
+ - uses : actions/create-github-app-token@v1
478
+ if : matrix.artifact.name == 'installer' && github.event.inputs.architecture == 'x86_64'
479
+ id : pr-comment-token
480
+ with :
481
+ app-id : ${{ secrets.GH_APP_ID }}
482
+ private-key : ${{ secrets.GH_APP_PRIVATE_KEY }}
483
+ owner : ${{ env.OWNER }}
484
+ repositories : ${{ env.REPO }}
485
+ - name : Add a PR comment suggesting to validate the installer manually
486
+ if : matrix.artifact.name == 'installer' && github.event.inputs.architecture == 'x86_64'
487
+ uses : actions/github-script@v7
488
+ with :
489
+ github-token : ${{ steps.pr-comment-token.outputs.token }}
490
+ script : |
491
+ const installerURL = ${{ toJSON(steps.upload-artifact.outputs.artifact-url) }}
492
+ const preFlightChecklistURL = 'https://github.com/git-for-windows/build-extra/blob/HEAD/installer/checklist.txt'
493
+ const body = `## Validate the installer manually
494
+
495
+ The [installer](${installerURL}) was built successfully;
496
+ Please download, install, and run through [the pre-flight check-list](${preFlightChecklistURL}).`
497
+
498
+ const fs = require('fs')
499
+ const gitSHA = fs.readFileSync('bundle-artifacts/git-commit-oid')
500
+ const q = `repo:${process.env.OWNER}/${process.env.REPO}+is:pr+is:open+${gitSHA}`
501
+ const { data } = await github.rest.search.issuesAndPullRequests({ q })
502
+ if (data.items.length !== 1) {
503
+ core.warning(`${data.items.length} PRs found for ${gitSHA}, not posting a comment, would have posted:\n${body}`)
504
+ } else {
505
+ const req = {
506
+ owner: process.env.OWNER,
507
+ repo: process.env.REPO,
508
+ issue_number: data.items[0].number,
509
+ body: `${body}\n@${data.items[0].user.login} ☝️`,
510
+ }
511
+
512
+ await github.rest.issues.createComment(req)
513
+ }
476
514
- name : restore check-run state
477
515
if : needs.pkg.outputs.check-run-state != '' && always()
478
516
id : check-run-state
0 commit comments