Skip to content

Commit 4cc1834

Browse files
committed
chore: show if readme oss is included in the draft
1 parent 1dde584 commit 4cc1834

2 files changed

Lines changed: 15 additions & 5 deletions

File tree

automation/utils/bin/rui-oss-clearance.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
findAllReadmeOssLocally,
1414
generateSBomArtifactsInFolder,
1515
getRecommendedReadmeOss,
16+
hasReadmeOssInAssets,
1617
includeReadmeOssIntoMpk
1718
} from "../src/oss-clearance";
1819

@@ -120,10 +121,15 @@ async function selectRelease(): Promise<GitHubDraftRelease> {
120121
name: "tag_name",
121122
message: "Select a release to process:",
122123
choices: [
123-
...releases.map(r => ({
124-
name: r.tag_name,
125-
message: `${r.name} ${chalk.gray(`(${r.tag_name})`)}`
126-
})),
124+
...releases.map(r => {
125+
const assetNames = r.assets.map(a => a.name);
126+
const hasReadmeOss = hasReadmeOssInAssets(assetNames);
127+
const indicator = hasReadmeOss ? "✅" : "";
128+
return {
129+
name: r.tag_name,
130+
message: `${r.name} ${chalk.gray(`(${r.tag_name})`)} ${indicator} `
131+
};
132+
}),
127133
{
128134
name: "__refresh__",
129135
message: chalk.cyan("--- Refresh the list ---")

automation/utils/src/oss-clearance.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { basename, join, parse } from "path";
33
import { homedir, tmpdir } from "node:os";
44
import { mkdtemp, stat } from "node:fs/promises";
55
import { chmod, cp, exec, mkdir, mv, rm, unzip, zip } from "./shell";
6-
import chalk from "chalk";
76

87
export function findAllReadmeOssLocally(): string[] {
98
const readmeossPattern = join("**", `*__*__READMEOSS_*.html`);
@@ -28,6 +27,11 @@ export function getRecommendedReadmeOss(packageNameAndVersion: string, available
2827
return fileNames.find(([name]) => name.includes(packageName) && name.includes(packageVersion))?.at(1);
2928
}
3029

30+
export function hasReadmeOssInAssets(assetNames: string[]): boolean {
31+
const readmeOssPattern = /^.*__.*__READMEOSS_.*\.html$/i;
32+
return assetNames.some(name => readmeOssPattern.test(name));
33+
}
34+
3135
export async function createSBomGeneratorFolderStructure(
3236
assetNameAndVersion: string
3337
): Promise<[folder: string, assetPath: string]> {

0 commit comments

Comments
 (0)