@@ -10,53 +10,92 @@ jobs:
1010 runs-on : pub-hk-ubuntu-22.04-small
1111 steps :
1212 - name : Checkout Repo
13- uses : actions/checkout@v3
13+ uses : actions/checkout@v4
1414 - name : Install Rust Toolchain
1515 uses : actions-rs/toolchain@v1
1616 with :
1717 toolchain : stable
1818 - name : Install Rust Inventory Binaries
19- run : cargo install heroku-nodejs-utils --bin diff_versions --bin list_versions --git https://github.com/heroku/buildpacks-nodejs
19+ run : cargo install heroku-nodejs-utils --bin diff_versions --bin generate_inventory --git https://github.com/heroku/buildpacks-nodejs
2020 - id : set-diff-msg
2121 name : Set Diff Message
22- run : echo "::set-output name=msg::$(diff_versions node inventory/node.toml)"
22+ run : |
23+ delimiter="$(openssl rand -hex 8)"
24+ {
25+ echo "msg<<${delimiter}"
26+ diff_versions node inventory/node.toml
27+ echo "${delimiter}"
28+ } >> $GITHUB_OUTPUT
2329 - name : Rebuild Inventory
24- run : " list_versions node > inventory/node.toml"
30+ run : " generate_inventory node > inventory/node.toml"
2531 - name : Update Changelog
26- run : echo "${{ steps.set-diff-msg.outputs.msg }}" | xargs -r -I '{}' perl -i -p -e 's/## main\s+/## main\n\n- {}/' CHANGELOG.md
32+ run : echo "${{ steps.set-diff-msg.outputs.msg }}" | xargs -r -I '{}' perl -i -p -e 's/## main\s+/## main\n\n{}/' CHANGELOG.md
33+ - uses : heroku/use-app-token-action@main
34+ id : generate-token
35+ with :
36+ app_id : ${{ vars.LINGUIST_GH_APP_ID }}
37+ private_key : ${{ secrets.LINGUIST_GH_PRIVATE_KEY }}
2738 - name : Create Pull Request
28- uses : peter-evans/create-pull-request@v4.2.4
39+ id : pr
40+ uses : peter-evans/create-pull-request@v5.0.2
2941 with :
42+ token : ${{ steps.generate-token.outputs.app_token }}
3043 title : " Update Node.js Engine Inventory"
3144 commit-message : " Update Inventory for heroku/nodejs engine\n\n ${{ steps.set-diff-msg.outputs.msg }}"
3245 branch : update-nodejs-inventory
33- labels : " automation"
3446 body : " Automated pull-request to update heroku/nodejs engine inventory:\n\n ${{ steps.set-diff-msg.outputs.msg }}"
47+ committer : ${{ vars.LINGUIST_GH_APP_USERNAME }} <${{ vars.LINGUIST_GH_APP_EMAIL }}>
48+ author : ${{ vars.LINGUIST_GH_APP_USERNAME }} <${{ vars.LINGUIST_GH_APP_EMAIL }}>
49+ - name : Configure PR
50+ if : steps.pr.outputs.pull-request-operation == 'created'
51+ run : gh pr merge --squash --auto "${{ steps.pr.outputs.pull-request-number }}"
52+ env :
53+ GH_TOKEN : ${{ steps.generate-token.outputs.app_token }}
54+
3555 update-yarn-inventory :
3656 name : Update Node.js Yarn Inventory
3757 runs-on : pub-hk-ubuntu-22.04-small
3858 steps :
3959 - name : Checkout Repo
40- uses : actions/checkout@v3
60+ uses : actions/checkout@v4
4161 - id : install-rust-toolchain
4262 name : Install Rust Toolchain
4363 uses : actions-rs/toolchain@v1
4464 with :
4565 toolchain : stable
4666 - name : Install Rust Inventory Binaries
47- run : cargo install heroku-nodejs-utils --bin diff_versions --bin list_versions --git https://github.com/heroku/buildpacks-nodejs
67+ run : cargo install heroku-nodejs-utils --bin diff_versions --bin generate_inventory --git https://github.com/heroku/buildpacks-nodejs
4868 - id : set-diff-msg
4969 name : Set Diff Message
50- run : echo "::set-output name=msg::$(diff_versions yarn inventory/yarn.toml)"
70+ run : |
71+ delimiter="$(openssl rand -hex 8)"
72+ {
73+ echo "msg<<${delimiter}"
74+ diff_versions yarn inventory/yarn.toml
75+ echo "${delimiter}"
76+ } >> $GITHUB_OUTPUT
5177 - name : Rebuild Inventory
52- run : " list_versions yarn > inventory/yarn.toml"
78+ run : " generate_inventory yarn > inventory/yarn.toml"
5379 - name : Update Changelog
54- run : echo "${{ steps.set-diff-msg.outputs.msg }}" | xargs -r -I '{}' perl -i -p -e 's/## main\s+/## main\n\n- {}/' CHANGELOG.md
80+ run : echo "${{ steps.set-diff-msg.outputs.msg }}" | xargs -r -I '{}' perl -i -p -e 's/## main\s+/## main\n\n{}/' CHANGELOG.md
81+ - uses : heroku/use-app-token-action@main
82+ id : generate-token
83+ with :
84+ app_id : ${{ vars.LINGUIST_GH_APP_ID }}
85+ private_key : ${{ secrets.LINGUIST_GH_PRIVATE_KEY }}
5586 - name : Create Pull Request
56- uses : peter-evans/create-pull-request@v4.2.4
87+ id : pr
88+ uses : peter-evans/create-pull-request@v5.0.2
5789 with :
90+ token : ${{ steps.generate-token.outputs.app_token }}
5891 title : " Update Node.js Yarn Inventory"
5992 commit-message : " Update Inventory for heroku/nodejs yarn\n\n ${{ steps.set-diff-msg.outputs.msg }}"
6093 branch : update-yarn-inventory
61- labels : " automation"
6294 body : " Automated pull-request to update heroku/nodejs yarn inventory:\n\n ${{ steps.set-diff-msg.outputs.msg }}"
95+ committer : ${{ vars.LINGUIST_GH_APP_USERNAME }} <${{ vars.LINGUIST_GH_APP_EMAIL }}>
96+ author : ${{ vars.LINGUIST_GH_APP_USERNAME }} <${{ vars.LINGUIST_GH_APP_EMAIL }}>
97+ - name : Configure PR
98+ if : steps.pr.outputs.pull-request-operation == 'created'
99+ run : gh pr merge --squash --auto "${{ steps.pr.outputs.pull-request-number }}"
100+ env :
101+ GH_TOKEN : ${{ steps.generate-token.outputs.app_token }}
0 commit comments