From 7cdf8b8dfca8e8513fdbc1ed67a701420d8527cb Mon Sep 17 00:00:00 2001 From: braxtonhall Date: Mon, 24 Oct 2022 12:18:35 -0700 Subject: Add a PR workflow --- bin/checkPeople.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 bin/checkPeople.js (limited to 'bin/checkPeople.js') diff --git a/bin/checkPeople.js b/bin/checkPeople.js new file mode 100644 index 0000000..60527b9 --- /dev/null +++ b/bin/checkPeople.js @@ -0,0 +1,29 @@ +const fs = require("fs"); + +const PEOPLE_PATH = "./people.json"; + +const [actor] = process.argv.slice(2); + +console.log(`Triggered by ${actor}`); + +if (!fs.existsSync(PEOPLE_PATH)) { + throw "No people file found"; +} + +let people; +try { + people = JSON.parse(fs.readFileSync(PEOPLE_PATH)); +} catch (err) { + throw "Could not read people.json as JSON"; +} + +const person = people.find(person => person.github === actor); +if (!person) { + throw `${actor} isn't in people.json!`; +} + +if (!(person.entries && person.entries.length > 0)) { + throw `${actor} is missing entries!`; +} + +console.log("Checked!"); -- cgit v1.2.3-70-g09d2 From 8af5f6d9351554b22e75650487d1afe5745df39b Mon Sep 17 00:00:00 2001 From: braxtonhall Date: Mon, 24 Oct 2022 12:23:51 -0700 Subject: Make PR workflow a little stricter --- bin/checkPeople.js | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'bin/checkPeople.js') diff --git a/bin/checkPeople.js b/bin/checkPeople.js index 60527b9..3c564a4 100644 --- a/bin/checkPeople.js +++ b/bin/checkPeople.js @@ -26,4 +26,11 @@ if (!(person.entries && person.entries.length > 0)) { throw `${actor} is missing entries!`; } +for (const entry of person.entries) { + const {link} = entry; + if (!(link.startsWith("http") || fs.existsSync(link))) { + throw `${link} not found!`; + } +} + console.log("Checked!"); -- cgit v1.2.3-70-g09d2