projen
Version:
CDK for software projects
38 lines • 6.07 kB
JavaScript
;
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TaskWorkflow = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const task_workflow_job_1 = require("./task-workflow-job");
const workflows_1 = require("./workflows");
const DEFAULT_JOB_ID = "build";
/**
* A GitHub workflow for common build tasks within a project.
*/
class TaskWorkflow extends workflows_1.GithubWorkflow {
constructor(github, options) {
super(github, options.name);
this.jobId = options.jobId ?? DEFAULT_JOB_ID;
this.artifactsDirectory = options.artifactsDirectory;
if (options.triggers) {
if (options.triggers.issueComment) {
// https://docs.github.com/en/actions/learn-github-actions/security-hardening-for-github-actions#potential-impact-of-a-compromised-runner
throw new Error('Trigger "issueComment" should not be used due to a security concern');
}
this.on(options.triggers);
}
this.on({
workflowDispatch: {}, // allow manual triggering
});
const job = new task_workflow_job_1.TaskWorkflowJob(this, options.task, {
...options,
downloadLfs: options.downloadLfs ?? github.downloadLfs,
checkoutSubmodules: options.checkoutSubmodules ?? github.checkoutSubmodules,
});
this.addJobs({ [this.jobId]: job });
}
}
exports.TaskWorkflow = TaskWorkflow;
_a = JSII_RTTI_SYMBOL_1;
TaskWorkflow[_a] = { fqn: "projen.github.TaskWorkflow", version: "0.99.64" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay13b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9naXRodWIvdGFzay13b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLDJEQUFzRDtBQUN0RCwyQ0FBNkM7QUFJN0MsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDO0FBOEIvQjs7R0FFRztBQUNILE1BQWEsWUFBYSxTQUFRLDBCQUFjO0lBSTlDLFlBQVksTUFBYyxFQUFFLE9BQTRCO1FBQ3RELEtBQUssQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxjQUFjLENBQUM7UUFDN0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztRQUVyRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyQixJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ2xDLHlJQUF5STtnQkFDekksTUFBTSxJQUFJLEtBQUssQ0FDYixxRUFBcUUsQ0FDdEUsQ0FBQztZQUNKLENBQUM7WUFFRCxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBRUQsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNOLGdCQUFnQixFQUFFLEVBQUUsRUFBRSwwQkFBMEI7U0FDakQsQ0FBQyxDQUFDO1FBRUgsTUFBTSxHQUFHLEdBQUcsSUFBSSxtQ0FBZSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ2xELEdBQUcsT0FBTztZQUNWLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxXQUFXO1lBQ3RELGtCQUFrQixFQUNoQixPQUFPLENBQUMsa0JBQWtCLElBQUksTUFBTSxDQUFDLGtCQUFrQjtTQUMxRCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDOztBQWhDSCxvQ0FpQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEdpdEh1YiB9IGZyb20gXCIuL2dpdGh1YlwiO1xuaW1wb3J0IHR5cGUgeyBUYXNrV29ya2Zsb3dKb2JPcHRpb25zIH0gZnJvbSBcIi4vdGFzay13b3JrZmxvdy1qb2JcIjtcbmltcG9ydCB7IFRhc2tXb3JrZmxvd0pvYiB9IGZyb20gXCIuL3Rhc2std29ya2Zsb3ctam9iXCI7XG5pbXBvcnQgeyBHaXRodWJXb3JrZmxvdyB9IGZyb20gXCIuL3dvcmtmbG93c1wiO1xuaW1wb3J0IHR5cGUgeyBUcmlnZ2VycyB9IGZyb20gXCIuL3dvcmtmbG93cy1tb2RlbFwiO1xuaW1wb3J0IHR5cGUgeyBUYXNrIH0gZnJvbSBcIi4uL3Rhc2tcIjtcblxuY29uc3QgREVGQVVMVF9KT0JfSUQgPSBcImJ1aWxkXCI7XG5cbi8qKlxuICogT3B0aW9ucyB0byBjcmVhdGUgYSBUYXNrV29ya2Zsb3cuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFza1dvcmtmbG93T3B0aW9ucyBleHRlbmRzIFRhc2tXb3JrZmxvd0pvYk9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHdvcmtmbG93IG5hbWUuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwcmltYXJ5IGpvYiBpZC5cbiAgICogQGRlZmF1bHQgXCJidWlsZFwiXG4gICAqL1xuICByZWFkb25seSBqb2JJZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRyaWdnZXJzIGZvciB0aGUgd29ya2Zsb3cuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYnkgZGVmYXVsdCB3b3JrZmxvd3MgY2FuIG9ubHkgYmUgdHJpZ2dlcmVkIGJ5IG1hbnVhbGx5LlxuICAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlcnM/OiBUcmlnZ2VycztcblxuICAvKipcbiAgICogVGhlIG1haW4gdGFzayB0byBiZSBleGVjdXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHRhc2s6IFRhc2s7XG59XG5cbi8qKlxuICogQSBHaXRIdWIgd29ya2Zsb3cgZm9yIGNvbW1vbiBidWlsZCB0YXNrcyB3aXRoaW4gYSBwcm9qZWN0LlxuICovXG5leHBvcnQgY2xhc3MgVGFza1dvcmtmbG93IGV4dGVuZHMgR2l0aHViV29ya2Zsb3cge1xuICBwdWJsaWMgcmVhZG9ubHkgam9iSWQ6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGFydGlmYWN0c0RpcmVjdG9yeT86IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihnaXRodWI6IEdpdEh1Yiwgb3B0aW9uczogVGFza1dvcmtmbG93T3B0aW9ucykge1xuICAgIHN1cGVyKGdpdGh1Yiwgb3B0aW9ucy5uYW1lKTtcbiAgICB0aGlzLmpvYklkID0gb3B0aW9ucy5qb2JJZCA/PyBERUZBVUxUX0pPQl9JRDtcbiAgICB0aGlzLmFydGlmYWN0c0RpcmVjdG9yeSA9IG9wdGlvbnMuYXJ0aWZhY3RzRGlyZWN0b3J5O1xuXG4gICAgaWYgKG9wdGlvbnMudHJpZ2dlcnMpIHtcbiAgICAgIGlmIChvcHRpb25zLnRyaWdnZXJzLmlzc3VlQ29tbWVudCkge1xuICAgICAgICAvLyBodHRwczovL2RvY3MuZ2l0aHViLmNvbS9lbi9hY3Rpb25zL2xlYXJuLWdpdGh1Yi1hY3Rpb25zL3NlY3VyaXR5LWhhcmRlbmluZy1mb3ItZ2l0aHViLWFjdGlvbnMjcG90ZW50aWFsLWltcGFjdC1vZi1hLWNvbXByb21pc2VkLXJ1bm5lclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgJ1RyaWdnZXIgXCJpc3N1ZUNvbW1lbnRcIiBzaG91bGQgbm90IGJlIHVzZWQgZHVlIHRvIGEgc2VjdXJpdHkgY29uY2VybicsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMub24ob3B0aW9ucy50cmlnZ2Vycyk7XG4gICAgfVxuXG4gICAgdGhpcy5vbih7XG4gICAgICB3b3JrZmxvd0Rpc3BhdGNoOiB7fSwgLy8gYWxsb3cgbWFudWFsIHRyaWdnZXJpbmdcbiAgICB9KTtcblxuICAgIGNvbnN0IGpvYiA9IG5ldyBUYXNrV29ya2Zsb3dKb2IodGhpcywgb3B0aW9ucy50YXNrLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgZG93bmxvYWRMZnM6IG9wdGlvbnMuZG93bmxvYWRMZnMgPz8gZ2l0aHViLmRvd25sb2FkTGZzLFxuICAgICAgY2hlY2tvdXRTdWJtb2R1bGVzOlxuICAgICAgICBvcHRpb25zLmNoZWNrb3V0U3VibW9kdWxlcyA/PyBnaXRodWIuY2hlY2tvdXRTdWJtb2R1bGVzLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRKb2JzKHsgW3RoaXMuam9iSWRdOiBqb2IgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBnaXQgaWRlbnRpdHkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2l0SWRlbnRpdHkge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHVzZXIuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBlbWFpbCBhZGRyZXNzIG9mIHRoZSBnaXQgdXNlci5cbiAgICovXG4gIHJlYWRvbmx5IGVtYWlsOiBzdHJpbmc7XG59XG4iXX0=