Skip to content

Instantly share code, notes, and snippets.

@tianhaoz95
Created November 22, 2019 04:43
Show Gist options
  • Save tianhaoz95/002d0d2b1b1fce63feeb20127a3985e0 to your computer and use it in GitHub Desktop.
Save tianhaoz95/002d0d2b1b1fce63feeb20127a3985e0 to your computer and use it in GitHub Desktop.
the overall structure of readme linter
export async function lintWorkspace() {
try {
const workspaceDir = util.getGitHubWorkspace();
const workspaceFiles: string[] = util.getLintFileList(workspaceDir);
const reportsMetadata = new Array();
for (const workspaceFile of workspaceFiles) {
if (util.isReadmeFilename(workspaceFile)) {
const readmeFileContent = util.readFileContent(workspaceFile);
const relativePath = path.relative(workspaceDir, workspaceFile);
const reportEntry = {
en: null,
fileContent: readmeFileContent,
filename: workspaceFile,
relativePath,
};
reportEntry.en = en(readmeFileContent);
reportsMetadata.push(reportEntry);
}
}
let finalReport = "";
for (const reportMetadata of reportsMetadata) {
const reportEntry = report.composeReportMetadataToParagraph(reportMetadata);
if (reportMetadata.en.length > 0) {
finalReport += "\n\n";
finalReport += reportEntry;
finalReport += "\n\n";
}
}
const reportTitle = report.getTeportIssueTitle();
await octo.postGitHubIssue(reportTitle, finalReport);
return "OK";
} catch (error) {
core.setFailed(error.message);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment