UNPKG

projen

Version:

CDK for software projects

53 lines 7.58 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.WorkflowJobs = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const _1 = require("."); const constants_1 = require("./constants"); const workflows_model_1 = require("./workflows-model"); const runner_options_1 = require("../runner-options"); /** * A set of utility functions for creating jobs in GitHub Workflows. */ class WorkflowJobs { /** * Creates a pull request with the changes of a patch file. * * @returns Job */ static pullRequestFromPatch(options) { const jobName = options.jobName ?? "Create Pull Request"; const gitIdentity = options.gitIdentity ?? constants_1.DEFAULT_GITHUB_ACTIONS_USER; const steps = [ ...(options.credentials?.setupSteps || []), ..._1.WorkflowActions.checkoutWithPatch(options.patch), _1.WorkflowSteps.setupGitIdentity({ gitIdentity }), ..._1.WorkflowActions.createPullRequest({ ...options, gitIdentity, }), ]; const permissions = options.credentials?.tokenRef == "${{ secrets.GITHUB_TOKEN }}" ? { contents: workflows_model_1.JobPermission.WRITE, pullRequests: workflows_model_1.JobPermission.WRITE, } : { contents: _1.workflows.JobPermission.READ, }; return { name: jobName, if: `\${{ needs.${options.patch.jobId}.outputs.${options.patch.outputName} }}`, needs: [options.patch.jobId], environment: options.credentials?.environment, permissions, ...(0, runner_options_1.filteredRunsOnOptions)(options.runsOn, options.runsOnGroup), steps, }; } } exports.WorkflowJobs = WorkflowJobs; _a = JSII_RTTI_SYMBOL_1; WorkflowJobs[_a] = { fqn: "projen.github.WorkflowJobs", version: "0.99.51" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctam9icy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9naXRodWIvd29ya2Zsb3ctam9icy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLHdCQUE4RDtBQUM5RCwyQ0FBMEQ7QUFFMUQsdURBQWtEO0FBRWxELHNEQUEwRDtBQUUxRDs7R0FFRztBQUNILE1BQWEsWUFBWTtJQUN2Qjs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLG9CQUFvQixDQUNoQyxPQUFvQztRQUVwQyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxJQUFJLHFCQUFxQixDQUFDO1FBQ3pELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLElBQUksdUNBQTJCLENBQUM7UUFFdkUsTUFBTSxLQUFLLEdBQWM7WUFDdkIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUMxQyxHQUFHLGtCQUFlLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNuRCxnQkFBYSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUM7WUFDL0MsR0FBRyxrQkFBZSxDQUFDLGlCQUFpQixDQUFDO2dCQUNuQyxHQUFHLE9BQU87Z0JBQ1YsV0FBVzthQUNaLENBQUM7U0FDSCxDQUFDO1FBRUYsTUFBTSxXQUFXLEdBQ2YsT0FBTyxDQUFDLFdBQVcsRUFBRSxRQUFRLElBQUksNkJBQTZCO1lBQzVELENBQUMsQ0FBQztnQkFDRSxRQUFRLEVBQUUsK0JBQWEsQ0FBQyxLQUFLO2dCQUM3QixZQUFZLEVBQUUsK0JBQWEsQ0FBQyxLQUFLO2FBQ2xDO1lBQ0gsQ0FBQyxDQUFDO2dCQUNFLFFBQVEsRUFBRSxZQUFTLENBQUMsYUFBYSxDQUFDLElBQUk7YUFDdkMsQ0FBQztRQUVSLE9BQU87WUFDTCxJQUFJLEVBQUUsT0FBTztZQUNiLEVBQUUsRUFBRSxjQUFjLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxZQUFZLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxLQUFLO1lBQzlFLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQzVCLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxFQUFFLFdBQVc7WUFDN0MsV0FBVztZQUNYLEdBQUcsSUFBQSxzQ0FBcUIsRUFBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUM7WUFDN0QsS0FBSztTQUNOLENBQUM7SUFDSixDQUFDOztBQXpDSCxvQ0EwQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENoZWNrb3V0V2l0aFBhdGNoT3B0aW9ucywgQ3JlYXRlUHVsbFJlcXVlc3RPcHRpb25zIH0gZnJvbSBcIi5cIjtcbmltcG9ydCB7IFdvcmtmbG93QWN0aW9ucywgV29ya2Zsb3dTdGVwcywgd29ya2Zsb3dzIH0gZnJvbSBcIi5cIjtcbmltcG9ydCB7IERFRkFVTFRfR0lUSFVCX0FDVElPTlNfVVNFUiB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHR5cGUgeyBKb2IsIEpvYlN0ZXAgfSBmcm9tIFwiLi93b3JrZmxvd3MtbW9kZWxcIjtcbmltcG9ydCB7IEpvYlBlcm1pc3Npb24gfSBmcm9tIFwiLi93b3JrZmxvd3MtbW9kZWxcIjtcbmltcG9ydCB0eXBlIHsgR3JvdXBSdW5uZXJPcHRpb25zIH0gZnJvbSBcIi4uL3J1bm5lci1vcHRpb25zXCI7XG5pbXBvcnQgeyBmaWx0ZXJlZFJ1bnNPbk9wdGlvbnMgfSBmcm9tIFwiLi4vcnVubmVyLW9wdGlvbnNcIjtcblxuLyoqXG4gKiBBIHNldCBvZiB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgY3JlYXRpbmcgam9icyBpbiBHaXRIdWIgV29ya2Zsb3dzLlxuICovXG5leHBvcnQgY2xhc3MgV29ya2Zsb3dKb2JzIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBwdWxsIHJlcXVlc3Qgd2l0aCB0aGUgY2hhbmdlcyBvZiBhIHBhdGNoIGZpbGUuXG4gICAqXG4gICAqIEByZXR1cm5zIEpvYlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBwdWxsUmVxdWVzdEZyb21QYXRjaChcbiAgICBvcHRpb25zOiBQdWxsUmVxdWVzdEZyb21QYXRjaE9wdGlvbnMsXG4gICk6IEpvYiB7XG4gICAgY29uc3Qgam9iTmFtZSA9IG9wdGlvbnMuam9iTmFtZSA/PyBcIkNyZWF0ZSBQdWxsIFJlcXVlc3RcIjtcbiAgICBjb25zdCBnaXRJZGVudGl0eSA9IG9wdGlvbnMuZ2l0SWRlbnRpdHkgPz8gREVGQVVMVF9HSVRIVUJfQUNUSU9OU19VU0VSO1xuXG4gICAgY29uc3Qgc3RlcHM6IEpvYlN0ZXBbXSA9IFtcbiAgICAgIC4uLihvcHRpb25zLmNyZWRlbnRpYWxzPy5zZXR1cFN0ZXBzIHx8IFtdKSxcbiAgICAgIC4uLldvcmtmbG93QWN0aW9ucy5jaGVja291dFdpdGhQYXRjaChvcHRpb25zLnBhdGNoKSxcbiAgICAgIFdvcmtmbG93U3RlcHMuc2V0dXBHaXRJZGVudGl0eSh7IGdpdElkZW50aXR5IH0pLFxuICAgICAgLi4uV29ya2Zsb3dBY3Rpb25zLmNyZWF0ZVB1bGxSZXF1ZXN0KHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgZ2l0SWRlbnRpdHksXG4gICAgICB9KSxcbiAgICBdO1xuXG4gICAgY29uc3QgcGVybWlzc2lvbnMgPVxuICAgICAgb3B0aW9ucy5jcmVkZW50aWFscz8udG9rZW5SZWYgPT0gXCIke3sgc2VjcmV0cy5HSVRIVUJfVE9LRU4gfX1cIlxuICAgICAgICA/IHtcbiAgICAgICAgICAgIGNvbnRlbnRzOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgICAgICAgICAgcHVsbFJlcXVlc3RzOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB7XG4gICAgICAgICAgICBjb250ZW50czogd29ya2Zsb3dzLkpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IGpvYk5hbWUsXG4gICAgICBpZjogYFxcJHt7IG5lZWRzLiR7b3B0aW9ucy5wYXRjaC5qb2JJZH0ub3V0cHV0cy4ke29wdGlvbnMucGF0Y2gub3V0cHV0TmFtZX0gfX1gLFxuICAgICAgbmVlZHM6IFtvcHRpb25zLnBhdGNoLmpvYklkXSxcbiAgICAgIGVudmlyb25tZW50OiBvcHRpb25zLmNyZWRlbnRpYWxzPy5lbnZpcm9ubWVudCxcbiAgICAgIHBlcm1pc3Npb25zLFxuICAgICAgLi4uZmlsdGVyZWRSdW5zT25PcHRpb25zKG9wdGlvbnMucnVuc09uLCBvcHRpb25zLnJ1bnNPbkdyb3VwKSxcbiAgICAgIHN0ZXBzLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWxsUmVxdWVzdFBhdGNoU291cmNlIGV4dGVuZHMgQ2hlY2tvdXRXaXRoUGF0Y2hPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBpZCBvZiB0aGUgam9iIHRoYXQgY3JlYXRlZCB0aGUgcGF0Y2ggZmlsZVxuICAgKi9cbiAgcmVhZG9ubHkgam9iSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIG91dHB1dCB0aGF0IGluZGljYXRlcyBpZiBhIHBhdGNoIGhhcyBiZWVuIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IG91dHB1dE5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWxsUmVxdWVzdEZyb21QYXRjaE9wdGlvbnMgZXh0ZW5kcyBDcmVhdGVQdWxsUmVxdWVzdE9wdGlvbnMge1xuICAvKipcbiAgICogSW5mb3JtYXRpb24gYWJvdXQgdGhlIHBhdGNoIHRoYXQgaXMgdXNlZCB0byBjcmVhdGUgdGhlIHB1bGwgcmVxdWVzdC5cbiAgICovXG4gIHJlYWRvbmx5IHBhdGNoOiBQdWxsUmVxdWVzdFBhdGNoU291cmNlO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgam9iIGRpc3BsYXllZCBvbiBHaXRIdWIuXG4gICAqIEBkZWZhdWx0IFwiQ3JlYXRlIFB1bGwgUmVxdWVzdFwiXG4gICAqL1xuICByZWFkb25seSBqb2JOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBHaXRodWIgUnVubmVyIHNlbGVjdGlvbiBsYWJlbHNcbiAgICogQGRlZmF1bHQgW1widWJ1bnR1LWxhdGVzdFwiXVxuICAgKiBAZGVzY3JpcHRpb24gRGVmaW5lcyBhIHRhcmdldCBSdW5uZXIgYnkgbGFiZWxzXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBpZiBib3RoIGBydW5zT25gIGFuZCBgcnVuc09uR3JvdXBgIGFyZSBzcGVjaWZpZWRcbiAgICovXG4gIHJlYWRvbmx5IHJ1bnNPbj86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBHaXRodWIgUnVubmVyIEdyb3VwIHNlbGVjdGlvbiBvcHRpb25zXG4gICAqIEBkZXNjcmlwdGlvbiBEZWZpbmVzIGEgdGFyZ2V0IFJ1bm5lciBHcm91cCBieSBuYW1lIGFuZC9vciBsYWJlbHNcbiAgICogQHRocm93cyB7RXJyb3J9IGlmIGJvdGggYHJ1bnNPbmAgYW5kIGBydW5zT25Hcm91cGAgYXJlIHNwZWNpZmllZFxuICAgKi9cbiAgcmVhZG9ubHkgcnVuc09uR3JvdXA/OiBHcm91cFJ1bm5lck9wdGlvbnM7XG59XG4iXX0=