diff --git a/.github/workflows/find-inactive-tsc.yml b/.github/workflows/find-inactive-tsc.yml index 978da55dc5c389..555d21a3e63107 100644 --- a/.github/workflows/find-inactive-tsc.yml +++ b/.github/workflows/find-inactive-tsc.yml @@ -32,7 +32,7 @@ jobs: node-version: ${{ env.NODE_VERSION }} - name: Find inactive TSC members - run: tools/find-inactive-tsc.mjs + run: tools/find-inactive-tsc.mjs >> $GITHUB_ENV - name: Open pull request uses: gr2m/create-or-update-pull-request-action@v1 @@ -41,7 +41,10 @@ jobs: with: author: Node.js GitHub Bot branch: actions/inactive-tsc - body: This PR was generated by tools/find-inactive-tsc.yml. + body: | + This PR was generated by tools/find-inactive-tsc.yml. + + In case there was an error: ${{ env.INACTIVE_TSC_MEMBERS }} commit-message: "meta: move one or more TSC members to emeritus" labels: meta title: "meta: move one or more TSC members to emeritus" diff --git a/tools/find-inactive-tsc.mjs b/tools/find-inactive-tsc.mjs index c141e9026bb306..6e4482cc2ceec6 100755 --- a/tools/find-inactive-tsc.mjs +++ b/tools/find-inactive-tsc.mjs @@ -96,6 +96,8 @@ async function getAttendance(tscMembers, meetings) { if (match) { return match[1]; } + // Using `console.warn` so that stdout output is not generated. + // The stdout output is consumed in find-inactive-tsc.yml. console.warn(`Attendee entry does not contain GitHub handle: ${line}`); return ''; }) @@ -251,10 +253,13 @@ const noVotes = tscMembers.filter( const inactive = lightAttendance.filter((member) => noVotes.includes(member)); if (inactive.length) { - console.log('\nInactive TSC members:\n'); - console.log(inactive.map((entry) => `* ${entry}`).join('\n')); - console.log('\nGenerating new README.md file...'); + // The stdout output is consumed in find-inactive-tsc.yml. If format of output + // changes, find-inactive-tsc.yml may need to be updated. + console.log(`INACTIVE_TSC_HANDLES="${inactive.map((entry) => '@' + entry).join(' ')}"`); + // Using console.warn() to avoid messing with find-inactive-tsc which consumes + // stdout. + console.warn('Generating new README.md file...'); const newReadmeText = await moveTscToEmeritus(inactive); fs.writeFileSync(new URL('../README.md', import.meta.url), newReadmeText); - console.log('Updated README.md generated. Please commit these changes.'); + console.warn('Updated README.md generated. Please commit these changes.'); }