ci/github-script/bot: fix scheduled bot with older artifacts

We only recently introduced the owners.txt file to the comparison
artifact, so once the bot runs on a schedule it will it older artifacts
very quickly - and then can't find the owners file.

We can fallback to an empty owners list in this case, because an older
artifact also means an older workflow run previously, so this will have
pinged owners already.
This commit is contained in:
Wolfgang Walther 2025-11-06 09:53:24 +01:00
parent f095a1f2f0
commit c4548e58fb
No known key found for this signature in database
GPG key ID: B39893FA5F65CAE1

View file

@ -375,6 +375,17 @@ module.exports = async ({ github, context, core, dry }) => {
}) })
if (!pull_request.draft) { if (!pull_request.draft) {
let owners = []
try {
// TODO: Create owner map similar to maintainer map.
owners = (await readFile(`${pull_number}/owners.txt`, 'utf-8')).split(
'\n',
)
} catch (e) {
// Older artifacts don't have the owners.txt, yet.
if (e.code !== 'ENOENT') throw e
}
// We set this label earlier already, but the current PR state can be very different // We set this label earlier already, but the current PR state can be very different
// after handleReviewers has requested reviews, so update it in this case to prevent // after handleReviewers has requested reviews, so update it in this case to prevent
// this label from flip-flopping. // this label from flip-flopping.
@ -392,10 +403,7 @@ module.exports = async ({ github, context, core, dry }) => {
await readFile(`${pull_number}/maintainers.json`, 'utf-8'), await readFile(`${pull_number}/maintainers.json`, 'utf-8'),
), ),
).map((id) => parseInt(id)), ).map((id) => parseInt(id)),
// TODO: Create owner map similar to maintainer map. owners,
owners: (await readFile(`${pull_number}/owners.txt`, 'utf-8')).split(
'\n',
),
getTeamMembers, getTeamMembers,
getUser, getUser,
}) })