[No QA] Migrate off actions-ecosystem PR helpers; bump actions/checkout to v6#86687
[No QA] Migrate off actions-ecosystem PR helpers; bump actions/checkout to v6#86687roryabraham wants to merge 2 commits intomainfrom
Conversation
Replace actions-ecosystem/action-get-merged-pull-request with a composite
action (.github/actions/composite/getMergedPullRequest) that calls
`gh api /repos/{owner}/{repo}/commits/{sha}/pulls` — the same REST
endpoint already used in testBuildOnPush.yml. This avoids the 100-PR
window limitation of the old action and removes the Node 20 deprecation
warning it triggers.
Replace actions-ecosystem/action-create-comment in preDeploy.yml's
skipDeploy job with a `gh pr comment` run step using the same
OS_BOTIFY_TOKEN pattern.
Bump every remaining actions/checkout pin from v4 (8ade135) to v6
(de0fac2) across all workflows so the Node 20 deprecation warning
is cleared repo-wide.
Made-with: Cursor
|
@suneox I don't think we need C+ review here |
|
@AndrewGable requesting your review instead. TL;DR Node 20 actions will stop working in September and actions-ecosystem/get-merged-pull-request hasn't been updated in 5 years, so I created a composite action using gh cli instead. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bbbddda12b
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| body: | | ||
| :hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. | ||
| run: | | ||
| gh pr comment ${{ needs.chooseDeployActions.outputs.MERGED_PR }} --body "$(cat <<'EOF' |
There was a problem hiding this comment.
Pass repository explicitly to deferred deploy comment
skipDeploy now runs gh pr comment with only a PR number, but this job no longer checks out the repository. In gh pr comment docs, repository selection is inherited from parent flags (-R/--repo) when local repo context is absent; without checkout and without -R, this path can fail to resolve the repo and the job will error when deploy is skipped (the common non-deployer/checklist-locked path). Please add --repo ${{ github.repository }} (or set GH_REPO) so commenting works reliably in this checkout-free job.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
@MelvinBot update gh pr comment to pass the repo flag as described in this codex comment
There was a problem hiding this comment.
The codex comment is correct — the skipDeploy job has no actions/checkout step, so gh pr comment won't have local repo context to resolve the target repository. The fix is to add --repo ${{ github.repository }} to the gh pr comment call.
The current line:
gh pr comment ${{ needs.chooseDeployActions.outputs.MERGED_PR }} --body "$(cat <<'EOF'Should be:
gh pr comment ${{ needs.chooseDeployActions.outputs.MERGED_PR }} --repo ${{ github.repository }} --body "$(cat <<'EOF'
⚠️ I can't push changes to this PR because I didn't open it and I'm not listed as an assignee. To have me make this fix, add me to the PR assignees and then retry your request.
Explanation of Change
This PR removes two deprecated
actions-ecosystemGitHub Actions that trigger Node.js 20 deprecation warnings, and bumps all remainingactions/checkoutpins from v4 to v6 across the repository. Node.js 20 warnings will stop working in September if not migrated before then.1. Replace
actions-ecosystem/action-get-merged-pull-requestThe upstream action lists the 100 most-recently-updated closed PRs and scans for a
merge_commit_shamatch — which can miss the target PR if the window is exceeded. This PR replaces it with a new composite action (.github/actions/composite/getMergedPullRequest) that calls the more reliableGET /repos/{owner}/{repo}/commits/{sha}/pullsREST endpoint viagh api+jq. This API is already used intestBuildOnPush.yml. The composite action exposes the same outputs (number,title,body,labels,assignees) for drop-in compatibility.Affected workflows:
preDeploy.yml,sendReassurePerfData.yml,deployNewHelp.yml.2. Replace
actions-ecosystem/action-create-commentThe
skipDeployjob inpreDeploy.ymlused this deprecated action to post a "deferred staging deploy" comment. Replaced with agh pr commentrun step using the sameOS_BOTIFY_TOKEN, matching the existing pattern indeployNewHelp.yml.3. Bump
actions/checkoutfrom v4 to v6Every remaining
actions/checkout@8ade135...(v4) pin across the repository is updated toactions/checkout@de0fac2...(v6), clearing the Node 20 deprecation warning repo-wide.Fixed Issues
$ #86670
Tests
pushtomainfrom a merged PRpreDeployworkflow still populatesMERGED_PRcorrectly and subsequent jobs (deploy or skip-deploy comment) function as beforesendReassurePerfDatastill passes the PR number togetGraphiteStringdeployNewHelpstill posts the production deploy comment on the merged PROffline tests
N/A — CI-only changes, no app behavior affected.
QA Steps
[No QA] — these changes affect GitHub Actions workflows only. They don't modify any application code or user-facing behavior.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
N/A — CI-only changes
Android: mWeb Chrome
N/A — CI-only changes
iOS: Native
N/A — CI-only changes
iOS: mWeb Safari
N/A — CI-only changes
MacOS: Chrome / Safari
N/A — CI-only changes