From 4447a3b9e0564cfafe96cd236bdae9eac8f7c7cb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 15 Sep 2020 10:15:49 +0000 Subject: [PATCH 1/6] Bump @actions/github from 2.0.0 to 4.0.0 Bumps [@actions/github](https://github.com/actions/toolkit/tree/HEAD/packages/github) from 2.0.0 to 4.0.0. - [Release notes](https://github.com/actions/toolkit/releases) - [Changelog](https://github.com/actions/toolkit/blob/main/packages/github/RELEASES.md) - [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/github) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 143 +++++++++++++++++++++++++++++++++++---------------- 2 files changed, 100 insertions(+), 45 deletions(-) diff --git a/package.json b/package.json index 2f7e29f1..a22f3270 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ }, "dependencies": { "@actions/core": "^1.2.5", - "@actions/github": "^2.0.0", + "@actions/github": "^4.0.0", "@octokit/types": "^5.5.0", "@types/node": "^12.12.6", "@zeit/ncc": "^0.22.3", diff --git a/yarn.lock b/yarn.lock index d398a358..a572e32e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,12 +7,22 @@ resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.2.5.tgz#fa57bf8c07a38191e243beb9ea9d8368c1cb02c8" integrity sha512-mwpoNjHSWWh0IiALdDEQi3tru124JKn0yVNziIBzTME8QRv7thwoghVuT1jBRjFvdtoHsqD58IRHy1nf86paRg== -"@actions/github@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@actions/github/-/github-2.0.0.tgz#5b066b1a8747bbf48d47a058d9c241a2e37d5ee7" +"@actions/github@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@actions/github/-/github-4.0.0.tgz#d520483151a2bf5d2dc9cd0f20f9ac3a2e458816" + integrity sha512-Ej/Y2E+VV6sR9X7pWL5F3VgEWrABaT292DRqRU6R4hnQjPtC/zD3nagxVdXWiRQvYDh8kHXo7IDmG42eJ/dOMA== dependencies: - "@octokit/graphql" "^4.3.1" - "@octokit/rest" "^16.15.0" + "@actions/http-client" "^1.0.8" + "@octokit/core" "^3.0.0" + "@octokit/plugin-paginate-rest" "^2.2.3" + "@octokit/plugin-rest-endpoint-methods" "^4.0.0" + +"@actions/http-client@^1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-1.0.8.tgz#8bd76e8eca89dc8bcf619aa128eba85f7a39af45" + integrity sha512-G4JjJ6f9Hb3Zvejj+ewLLKLf99ZC+9v+yCxoYf9vSyH+WkzPLB2LuUtRMGNkooMqdugGBFStIKXOuvH1W+EctA== + dependencies: + tunnel "0.0.6" "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4": version "7.10.4" @@ -462,6 +472,25 @@ "@types/yargs" "^15.0.0" chalk "^4.0.0" +"@octokit/auth-token@^2.4.0": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.2.tgz#10d0ae979b100fa6b72fa0e8e63e27e6d0dbff8a" + integrity sha512-jE/lE/IKIz2v1+/P0u4fJqv0kYwXOTujKemJMFr6FeopsxlIK3+wKDCJGnysg81XID5TgZQbIfuJ5J0lnTiuyQ== + dependencies: + "@octokit/types" "^5.0.0" + +"@octokit/core@^3.0.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.1.2.tgz#c937d5f9621b764573068fcd2e5defcc872fd9cc" + integrity sha512-AInOFULmwOa7+NFi9F8DlDkm5qtZVmDQayi7TUgChE3yeIGPq0Y+6cAEXPexQ3Ea+uZy66hKEazR7DJyU+4wfw== + dependencies: + "@octokit/auth-token" "^2.4.0" + "@octokit/graphql" "^4.3.1" + "@octokit/request" "^5.4.0" + "@octokit/types" "^5.0.0" + before-after-hook "^2.1.0" + universal-user-agent "^6.0.0" + "@octokit/endpoint@^5.5.0": version "5.5.1" resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-5.5.1.tgz#2eea81e110ca754ff2de11c79154ccab4ae16b3f" @@ -470,6 +499,15 @@ is-plain-object "^3.0.0" universal-user-agent "^4.0.0" +"@octokit/endpoint@^6.0.1": + version "6.0.6" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.6.tgz#4f09f2b468976b444742a1d5069f6fa45826d999" + integrity sha512-7Cc8olaCoL/mtquB7j/HTbPM+sY6Ebr4k2X2y4JoXpVKQ7r5xB4iGQE0IoO58wIPsUk4AzoT65AMEpymSbWTgQ== + dependencies: + "@octokit/types" "^5.0.0" + is-plain-object "^5.0.0" + universal-user-agent "^6.0.0" + "@octokit/graphql@^4.3.1": version "4.3.1" resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.3.1.tgz#9ee840e04ed2906c7d6763807632de84cdecf418" @@ -478,7 +516,22 @@ "@octokit/types" "^2.0.0" universal-user-agent "^4.0.0" -"@octokit/request-error@^1.0.1", "@octokit/request-error@^1.0.2": +"@octokit/plugin-paginate-rest@^2.2.3": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.4.0.tgz#92f951ddc8a1cd505353fa07650752ca25ed7e93" + integrity sha512-YT6Klz3LLH6/nNgi0pheJnUmTFW4kVnxGft+v8Itc41IIcjl7y1C8TatmKQBbCSuTSNFXO5pCENnqg6sjwpJhg== + dependencies: + "@octokit/types" "^5.5.0" + +"@octokit/plugin-rest-endpoint-methods@^4.0.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.2.0.tgz#c5a0691b3aba5d8b4ef5dffd6af3649608f167ba" + integrity sha512-1/qn1q1C1hGz6W/iEDm9DoyNoG/xdFDt78E3eZ5hHeUfJTLJgyAMdj9chL/cNBHjcjd+FH5aO1x0VCqR2RE0mw== + dependencies: + "@octokit/types" "^5.5.0" + deprecation "^2.3.1" + +"@octokit/request-error@^1.0.1": version "1.2.0" resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-1.2.0.tgz#a64d2a9d7a13555570cd79722de4a4d76371baaa" dependencies: @@ -486,7 +539,16 @@ deprecation "^2.0.0" once "^1.4.0" -"@octokit/request@^5.2.0", "@octokit/request@^5.3.0": +"@octokit/request-error@^2.0.0": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.2.tgz#0e76b83f5d8fdda1db99027ea5f617c2e6ba9ed0" + integrity sha512-2BrmnvVSV1MXQvEkrb9zwzP0wXFNbPJij922kYBTLIlIafukrGOb+ABBT2+c6wZiuyWDH1K1zmjGQ0toN/wMWw== + dependencies: + "@octokit/types" "^5.0.1" + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request@^5.3.0": version "5.3.1" resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.3.1.tgz#3a1ace45e6f88b1be4749c5da963b3a3b4a2f120" dependencies: @@ -499,22 +561,19 @@ once "^1.4.0" universal-user-agent "^4.0.0" -"@octokit/rest@^16.15.0": - version "16.35.2" - resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-16.35.2.tgz#0098c9e2a895d4afb0fa6578479283553543143c" +"@octokit/request@^5.4.0": + version "5.4.9" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.9.tgz#0a46f11b82351b3416d3157261ad9b1558c43365" + integrity sha512-CzwVvRyimIM1h2n9pLVYfTDmX9m+KHSgCpqPsY8F1NdEK8IaWqXhSBXsdjOBFZSpEcxNEeg4p0UO9cQ8EnOCLA== dependencies: - "@octokit/request" "^5.2.0" - "@octokit/request-error" "^1.0.2" - atob-lite "^2.0.0" - before-after-hook "^2.0.0" - btoa-lite "^1.0.0" + "@octokit/endpoint" "^6.0.1" + "@octokit/request-error" "^2.0.0" + "@octokit/types" "^5.0.0" deprecation "^2.0.0" - lodash.get "^4.4.2" - lodash.set "^4.3.2" - lodash.uniq "^4.5.0" - octokit-pagination-methods "^1.1.0" + is-plain-object "^5.0.0" + node-fetch "^2.6.1" once "^1.4.0" - universal-user-agent "^4.0.0" + universal-user-agent "^6.0.0" "@octokit/types@^2.0.0": version "2.0.2" @@ -522,7 +581,7 @@ dependencies: "@types/node" ">= 8" -"@octokit/types@^5.5.0": +"@octokit/types@^5.0.0", "@octokit/types@^5.0.1", "@octokit/types@^5.5.0": version "5.5.0" resolved "https://registry.yarnpkg.com/@octokit/types/-/types-5.5.0.tgz#e5f06e8db21246ca102aa28444cdb13ae17a139b" integrity sha512-UZ1pErDue6bZNjYOotCNveTXArOMZQFG6hKJfOnGnulVCMcVVi7YIIuuR4WfBhjo7zgpmzn/BkPDnUXtNx+PcQ== @@ -876,10 +935,6 @@ asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" -atob-lite@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/atob-lite/-/atob-lite-2.0.0.tgz#0fef5ad46f1bd7a8502c65727f0367d5ee43d696" - atob@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" @@ -972,9 +1027,10 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -before-after-hook@^2.0.0: +before-after-hook@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635" + integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A== brace-expansion@^1.1.7: version "1.1.11" @@ -1021,10 +1077,6 @@ bser@2.1.1: dependencies: node-int64 "^0.4.0" -btoa-lite@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" - buffer-from@1.x, buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" @@ -1297,7 +1349,7 @@ delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" -deprecation@^2.0.0: +deprecation@^2.0.0, deprecation@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" @@ -2085,6 +2137,11 @@ is-plain-object@^3.0.0: dependencies: isobject "^4.0.0" +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + is-potential-custom-element-name@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" @@ -2730,10 +2787,6 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" -lodash.get@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" - lodash.memoize@4.x: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" @@ -2747,10 +2800,6 @@ lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19: version "4.17.19" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" @@ -2899,7 +2948,7 @@ nock@^13.0.3: lodash.set "^4.3.2" propagate "^2.0.0" -node-fetch@^2.3.0: +node-fetch@^2.3.0, node-fetch@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== @@ -3008,10 +3057,6 @@ object.values@^1.1.1: function-bind "^1.1.1" has "^1.0.3" -octokit-pagination-methods@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz#cf472edc9d551055f9ef73f6e42b4dbb4c80bea4" - once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -3871,6 +3916,11 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" +tunnel@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" + integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== + tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" @@ -3929,6 +3979,11 @@ universal-user-agent@^4.0.0: dependencies: os-name "^3.1.0" +universal-user-agent@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" + integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== + unset-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" From 41e5ca57d648990d0515905164bcd2c366903f8b Mon Sep 17 00:00:00 2001 From: Sara Tan Date: Mon, 5 Oct 2020 20:46:33 +0100 Subject: [PATCH 2/6] Fix tests --- src/autoupdater.ts | 47 ++++++++++++++++++++++++----------------- test/autoupdate.test.ts | 1 + 2 files changed, 29 insertions(+), 19 deletions(-) diff --git a/src/autoupdater.ts b/src/autoupdater.ts index 0447badd..ee2f91b0 100644 --- a/src/autoupdater.ts +++ b/src/autoupdater.ts @@ -1,18 +1,19 @@ import * as github from '@actions/github'; +import { GitHub } from '@actions/github/lib/utils'; import * as ghCore from '@actions/core'; -import Octokit from '@octokit/rest'; +import * as octokit from '@octokit/types'; import { ConfigLoader } from './config-loader'; export class AutoUpdater { eventData: any; config: ConfigLoader; - octokit: github.GitHub; + octokit: InstanceType; // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types constructor(config: ConfigLoader, eventData: any) { this.eventData = eventData; this.config = config; - this.octokit = new github.GitHub(this.config.githubToken()); + this.octokit = github.getOctokit(this.config.githubToken()); } async handlePush(): Promise { @@ -39,15 +40,7 @@ export class AutoUpdater { for await (const pullsPage of this.octokit.paginate.iterator( paginatorOpts, )) { - for (const pull of pullsPage.data) { - ghCore.startGroup(`PR-${pull.number}`); - const isUpdated = await this.update(pull); - ghCore.endGroup(); - - if (isUpdated) { - updated++; - } - } + updated = await this.updatePullRequests(pullsPage); } ghCore.info( @@ -57,6 +50,24 @@ export class AutoUpdater { return updated; } + async updatePullRequests( + pullsPage: octokit.OctokitResponse, + ): Promise { + let updated = 0; + + for (const pull of pullsPage.data) { + ghCore.startGroup(`PR-${pull.number}`); + const isUpdated = await this.update(pull); + ghCore.endGroup(); + + if (isUpdated) { + updated++; + } + } + + return updated; + } + async handlePullRequest(): Promise { const { action } = this.eventData; @@ -74,7 +85,7 @@ export class AutoUpdater { return isUpdated; } - async update(pull: Octokit.PullsListResponseItem): Promise { + async update(pull: octokit.PullsUpdateResponseData): Promise { const { ref } = pull.head; ghCore.info(`Evaluating pull request #${pull.number}...`); @@ -97,7 +108,7 @@ export class AutoUpdater { } const mergeMsg = this.config.mergeMsg(); - const mergeOpts: Octokit.RequestOptions & Octokit.ReposMergeParams = { + const mergeOpts: any = { owner: pull.head.repo.owner.login, repo: pull.head.repo.name, // We want to merge the base branch into this one. @@ -205,9 +216,7 @@ export class AutoUpdater { return true; } - async merge( - mergeOpts: Octokit.RequestOptions & Octokit.ReposMergeParams, - ): Promise { + async merge(mergeOpts: any): Promise { const sleep = (timeMs: number) => { return new Promise((resolve) => { setTimeout(resolve, timeMs); @@ -215,13 +224,13 @@ export class AutoUpdater { }; const doMerge = async () => { - const mergeResp = await this.octokit.repos.merge(mergeOpts); + const mergeResp: any = await this.octokit.repos.merge(mergeOpts); // See https://developer.github.com/v3/repos/merging/#perform-a-merge const { status } = mergeResp; if (status === 200) { ghCore.info( - `Branch update succesful, new branch HEAD: ${mergeResp.data.sha}.`, + `Branch update successful, new branch HEAD: ${mergeResp.data.sha}.`, ); } else if (status === 204) { ghCore.info( diff --git a/test/autoupdate.test.ts b/test/autoupdate.test.ts index 76ad4991..0ee325ec 100644 --- a/test/autoupdate.test.ts +++ b/test/autoupdate.test.ts @@ -12,6 +12,7 @@ jest.mock('../src/config-loader'); beforeEach(() => { jest.resetAllMocks(); + jest.spyOn(config, 'githubToken').mockImplementation(() => 'test-token'); }); const owner = 'chinthakagodawita'; From f10bd74fd4e89f90767179b9c94b4870bd6d7056 Mon Sep 17 00:00:00 2001 From: Sara Tan Date: Mon, 5 Oct 2020 20:53:43 +0100 Subject: [PATCH 3/6] Fix updated count --- src/autoupdater.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/autoupdater.ts b/src/autoupdater.ts index ee2f91b0..a1bb171d 100644 --- a/src/autoupdater.ts +++ b/src/autoupdater.ts @@ -40,7 +40,7 @@ export class AutoUpdater { for await (const pullsPage of this.octokit.paginate.iterator( paginatorOpts, )) { - updated = await this.updatePullRequests(pullsPage); + updated = updated + (await this.updatePullRequests(pullsPage)); } ghCore.info( From 3100dfe880f7717c09f47c8beef885fc6268b5f9 Mon Sep 17 00:00:00 2001 From: Sara Tan Date: Mon, 12 Oct 2020 16:51:02 +0100 Subject: [PATCH 4/6] Add more types --- src/autoupdater.ts | 49 +++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/src/autoupdater.ts b/src/autoupdater.ts index a1bb171d..2bafa32a 100644 --- a/src/autoupdater.ts +++ b/src/autoupdater.ts @@ -4,6 +4,14 @@ import * as ghCore from '@actions/core'; import * as octokit from '@octokit/types'; import { ConfigLoader } from './config-loader'; +interface MergeOpts { + owner: string; + repo: string; + base: string; + head: string; + commit_message?: string; +} + export class AutoUpdater { eventData: any; config: ConfigLoader; @@ -37,10 +45,19 @@ export class AutoUpdater { sort: 'updated', direction: 'desc', }); - for await (const pullsPage of this.octokit.paginate.iterator( - paginatorOpts, - )) { - updated = updated + (await this.updatePullRequests(pullsPage)); + + let pullsPage: octokit.OctokitResponse; + for await (pullsPage of this.octokit.paginate.iterator(paginatorOpts)) { + let pull: octokit.PullsUpdateResponseData; + for (pull of pullsPage.data) { + ghCore.startGroup(`PR-${pull.number}`); + const isUpdated = await this.update(pull); + ghCore.endGroup(); + + if (isUpdated) { + updated++; + } + } } ghCore.info( @@ -50,24 +67,6 @@ export class AutoUpdater { return updated; } - async updatePullRequests( - pullsPage: octokit.OctokitResponse, - ): Promise { - let updated = 0; - - for (const pull of pullsPage.data) { - ghCore.startGroup(`PR-${pull.number}`); - const isUpdated = await this.update(pull); - ghCore.endGroup(); - - if (isUpdated) { - updated++; - } - } - - return updated; - } - async handlePullRequest(): Promise { const { action } = this.eventData; @@ -108,7 +107,7 @@ export class AutoUpdater { } const mergeMsg = this.config.mergeMsg(); - const mergeOpts: any = { + const mergeOpts: MergeOpts = { owner: pull.head.repo.owner.login, repo: pull.head.repo.name, // We want to merge the base branch into this one. @@ -224,7 +223,9 @@ export class AutoUpdater { }; const doMerge = async () => { - const mergeResp: any = await this.octokit.repos.merge(mergeOpts); + const mergeResp: octokit.OctokitResponse = await this.octokit.repos.merge( + mergeOpts, + ); // See https://developer.github.com/v3/repos/merging/#perform-a-merge const { status } = mergeResp; From fa34dcbfa6ad6cb7c924d25cb5303cc7c5a69694 Mon Sep 17 00:00:00 2001 From: Sara T Date: Tue, 13 Oct 2020 08:51:55 +0100 Subject: [PATCH 5/6] Update 'any' types --- src/autoupdater.ts | 17 +++++++++++------ src/router.ts | 7 +++++-- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/autoupdater.ts b/src/autoupdater.ts index 2bafa32a..5ba900cb 100644 --- a/src/autoupdater.ts +++ b/src/autoupdater.ts @@ -17,8 +17,11 @@ export class AutoUpdater { config: ConfigLoader; octokit: InstanceType; - // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types - constructor(config: ConfigLoader, eventData: any) { + constructor( + config: ConfigLoader, + // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types + eventData: any + ) { this.eventData = eventData; this.config = config; this.octokit = github.getOctokit(this.config.githubToken()); @@ -107,7 +110,7 @@ export class AutoUpdater { } const mergeMsg = this.config.mergeMsg(); - const mergeOpts: MergeOpts = { + const mergeOpts: octokit.RequestParameters & MergeOpts = { owner: pull.head.repo.owner.login, repo: pull.head.repo.name, // We want to merge the base branch into this one. @@ -124,8 +127,10 @@ export class AutoUpdater { return true; } - // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types - async prNeedsUpdate(pull: any): Promise { + async prNeedsUpdate( + // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types + pull: any + ): Promise { if (pull.merged === true) { ghCore.warning('Skipping pull request, already merged.'); return false; @@ -215,7 +220,7 @@ export class AutoUpdater { return true; } - async merge(mergeOpts: any): Promise { + async merge(mergeOpts: octokit.RequestParameters & MergeOpts): Promise { const sleep = (timeMs: number) => { return new Promise((resolve) => { setTimeout(resolve, timeMs); diff --git a/src/router.ts b/src/router.ts index 5cb4f6dd..a7cfa88d 100644 --- a/src/router.ts +++ b/src/router.ts @@ -5,8 +5,11 @@ export class Router { eventData: any; updater: AutoUpdater; - // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types - constructor(config: ConfigLoader, eventData: any) { + constructor( + config: ConfigLoader, + // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types + eventData: any + ) { this.updater = new AutoUpdater(config, eventData); } From 26b84a61c9319719f24c8170920ec0aafc16e9fc Mon Sep 17 00:00:00 2001 From: Sara Tan Date: Thu, 15 Oct 2020 13:14:19 +0100 Subject: [PATCH 6/6] Fix linting errors --- src/autoupdater.ts | 8 +++++--- src/router.ts | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/autoupdater.ts b/src/autoupdater.ts index 5ba900cb..571d5966 100644 --- a/src/autoupdater.ts +++ b/src/autoupdater.ts @@ -20,7 +20,7 @@ export class AutoUpdater { constructor( config: ConfigLoader, // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types - eventData: any + eventData: any, ) { this.eventData = eventData; this.config = config; @@ -129,7 +129,7 @@ export class AutoUpdater { async prNeedsUpdate( // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types - pull: any + pull: any, ): Promise { if (pull.merged === true) { ghCore.warning('Skipping pull request, already merged.'); @@ -220,7 +220,9 @@ export class AutoUpdater { return true; } - async merge(mergeOpts: octokit.RequestParameters & MergeOpts): Promise { + async merge( + mergeOpts: octokit.RequestParameters & MergeOpts, + ): Promise { const sleep = (timeMs: number) => { return new Promise((resolve) => { setTimeout(resolve, timeMs); diff --git a/src/router.ts b/src/router.ts index a7cfa88d..f22fd9c1 100644 --- a/src/router.ts +++ b/src/router.ts @@ -8,7 +8,7 @@ export class Router { constructor( config: ConfigLoader, // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types - eventData: any + eventData: any, ) { this.updater = new AutoUpdater(config, eventData); }