@catladder/pipeline
Version:
Panter workflow for cloud CI/CD and DevOps
35 lines (31 loc) • 1.3 kB
text/typescript
import { getBashVariable } from "../bash/BashExpression";
import { SBOM_FILE } from "../build/sbom";
import {
componentContextIsStandaloneBuild,
type ComponentContext,
} from "../types/context";
export const sbomDeactivated = (context: ComponentContext) =>
context.build.type === "disabled" ||
(componentContextIsStandaloneBuild(context) &&
context.build.config.type === "custom" &&
context.build.config.sbom === false);
export const getDependencyTrackUploadScript = (
context: ComponentContext,
): string[] => {
return sbomDeactivated(context)
? []
: [
"echo 'Uploading SBOM to Dependency Track'",
`/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "${context.fullConfig.customerName}-${context.fullConfig.appName}/${context.name}" "${getBashVariable("ROOT_URL")}" "${SBOM_FILE}" vex.json || true`,
];
};
export const getDependencyTrackDeleteScript = (
context: ComponentContext,
): string[] => {
return sbomDeactivated(context)
? []
: [
"echo 'Disabling component in Dependency Track'",
`/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "${context.fullConfig.customerName}-${context.fullConfig.appName}/${context.name}" "${getBashVariable("CI_ENVIRONMENT_URL")}" || true`,
];
};