diff --git a/dist/index.js b/dist/index.js index da8b64ac7..eed174c96 100644 --- a/dist/index.js +++ b/dist/index.js @@ -129060,17 +129060,28 @@ const sortReleases = (releases) => { } } +// GitHub API currently returns a 500 HTTP response if you attempt to fetch over 1000 releases. +const RELEASE_COUNT_LIMIT = 1000 + const findReleases = async ({ context, targetCommitish, filterByCommitish, }) => { + let releaseCount = 0 let releases = await context.octokit.paginate( context.octokit.repos.listReleases.endpoint.merge( context.repo({ per_page: 100, }) - ) + ), + (response, done) => { + releaseCount += response.data.length + if (releaseCount >= RELEASE_COUNT_LIMIT) { + done() + } + return response.data + } ) log({ context, message: `Found ${releases.length} releases` }) diff --git a/lib/releases.js b/lib/releases.js index 4e501db95..009c2747d 100644 --- a/lib/releases.js +++ b/lib/releases.js @@ -17,17 +17,28 @@ const sortReleases = (releases) => { } } +// GitHub API currently returns a 500 HTTP response if you attempt to fetch over 1000 releases. +const RELEASE_COUNT_LIMIT = 1000 + const findReleases = async ({ context, targetCommitish, filterByCommitish, }) => { + let releaseCount = 0 let releases = await context.octokit.paginate( context.octokit.repos.listReleases.endpoint.merge( context.repo({ per_page: 100, }) - ) + ), + (response, done) => { + releaseCount += response.data.length + if (releaseCount >= RELEASE_COUNT_LIMIT) { + done() + } + return response.data + } ) log({ context, message: `Found ${releases.length} releases` })