From 6e7b74205fbeb973dc6b5cdf7e4f061eb5334f12 Mon Sep 17 00:00:00 2001 From: ExpensiveKoala Date: Fri, 23 Jun 2023 22:48:50 -0700 Subject: [PATCH] Update update-set-implementation-lists.yml --- .../update-set-implementation-lists.yml | 33 ++++++++++++++++--- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/.github/workflows/update-set-implementation-lists.yml b/.github/workflows/update-set-implementation-lists.yml index 2eec7386aa5..98453b6a959 100644 --- a/.github/workflows/update-set-implementation-lists.yml +++ b/.github/workflows/update-set-implementation-lists.yml @@ -34,17 +34,40 @@ jobs: const setsData = fs.readFileSync(path.join('Utils', 'mtg-sets-data.txt'), 'utf8') .split('\n') - .map(line => ({[line.split('|')[1]]: line.split('|')[0]})); - - console.log(setsData); - + .map(line => line.split('|')); + const cardsData = fs.readFileSync(path.join('Utils', 'mtg-cards-data.txt'), 'utf8') + .split('\n') + .map(line => line.split('|')); const issues = await github.paginate(github.rest.issues.listForRepo, { owner: context.repo.owner, repo: context.repo.repo, labels: 'tracking set' }); - console.log("Found list of existing issues:", issues); + const issuesToUpdate = []; + const issuesToCreate = []; + + setsData.forEach(set => { + let foundIssue = undefined; + issues.forEach(issue => { + if(issue && issue.title && issue.title.startsWith(set[1])) { + console.log(`Found tracking issue for ${set[0]} with issue number: ${issue.number}`); + foundIssue = issue; + break; + } + }); + if(foundIssue !== undefined) { + issuesToUpdate.push(foundIssue); + } else { + issuesToCreate.push({ + title: `${set[1]}: ${set[0]} Set Card Implementation Tracking`, + body: `Placeholder` + }); + } + }); + + console.log("Issues to update: ", issuesToUpdate); + console.log("Issues to create: ", issuesToCreate);