UNPKG

projen

Version:

CDK for software projects

53 lines 7.44 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.17" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctam9icy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9naXRodWIvd29ya2Zsb3ctam9icy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHdCQU1XO0FBQ1gsMkNBQTBEO0FBQzFELHVEQUFnRTtBQUNoRSxzREFBOEU7QUFFOUU7O0dBRUc7QUFDSCxNQUFhLFlBQVk7SUFDdkI7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxvQkFBb0IsQ0FDaEMsT0FBb0M7UUFFcEMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxxQkFBcUIsQ0FBQztRQUN6RCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxJQUFJLHVDQUEyQixDQUFDO1FBRXZFLE1BQU0sS0FBSyxHQUFjO1lBQ3ZCLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUM7WUFDMUMsR0FBRyxrQkFBZSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDbkQsZ0JBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDO1lBQy9DLEdBQUcsa0JBQWUsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDbkMsR0FBRyxPQUFPO2dCQUNWLFdBQVc7YUFDWixDQUFDO1NBQ0gsQ0FBQztRQUVGLE1BQU0sV0FBVyxHQUNmLE9BQU8sQ0FBQyxXQUFXLEVBQUUsUUFBUSxJQUFJLDZCQUE2QjtZQUM1RCxDQUFDLENBQUM7Z0JBQ0UsUUFBUSxFQUFFLCtCQUFhLENBQUMsS0FBSztnQkFDN0IsWUFBWSxFQUFFLCtCQUFhLENBQUMsS0FBSzthQUNsQztZQUNILENBQUMsQ0FBQztnQkFDRSxRQUFRLEVBQUUsWUFBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJO2FBQ3ZDLENBQUM7UUFFUixPQUFPO1lBQ0wsSUFBSSxFQUFFLE9BQU87WUFDYixFQUFFLEVBQUUsY0FBYyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssWUFBWSxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsS0FBSztZQUM5RSxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUM1QixXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVcsRUFBRSxXQUFXO1lBQzdDLFdBQVc7WUFDWCxHQUFHLElBQUEsc0NBQXFCLEVBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDO1lBQzdELEtBQUs7U0FDTixDQUFDO0lBQ0osQ0FBQzs7QUF6Q0gsb0NBMENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hlY2tvdXRXaXRoUGF0Y2hPcHRpb25zLFxuICBDcmVhdGVQdWxsUmVxdWVzdE9wdGlvbnMsXG4gIFdvcmtmbG93QWN0aW9ucyxcbiAgV29ya2Zsb3dTdGVwcyxcbiAgd29ya2Zsb3dzLFxufSBmcm9tIFwiLlwiO1xuaW1wb3J0IHsgREVGQVVMVF9HSVRIVUJfQUNUSU9OU19VU0VSIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBKb2IsIEpvYlBlcm1pc3Npb24sIEpvYlN0ZXAgfSBmcm9tIFwiLi93b3JrZmxvd3MtbW9kZWxcIjtcbmltcG9ydCB7IEdyb3VwUnVubmVyT3B0aW9ucywgZmlsdGVyZWRSdW5zT25PcHRpb25zIH0gZnJvbSBcIi4uL3J1bm5lci1vcHRpb25zXCI7XG5cbi8qKlxuICogQSBzZXQgb2YgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGNyZWF0aW5nIGpvYnMgaW4gR2l0SHViIFdvcmtmbG93cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFdvcmtmbG93Sm9icyB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcHVsbCByZXF1ZXN0IHdpdGggdGhlIGNoYW5nZXMgb2YgYSBwYXRjaCBmaWxlLlxuICAgKlxuICAgKiBAcmV0dXJucyBKb2JcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcHVsbFJlcXVlc3RGcm9tUGF0Y2goXG4gICAgb3B0aW9uczogUHVsbFJlcXVlc3RGcm9tUGF0Y2hPcHRpb25zLFxuICApOiBKb2Ige1xuICAgIGNvbnN0IGpvYk5hbWUgPSBvcHRpb25zLmpvYk5hbWUgPz8gXCJDcmVhdGUgUHVsbCBSZXF1ZXN0XCI7XG4gICAgY29uc3QgZ2l0SWRlbnRpdHkgPSBvcHRpb25zLmdpdElkZW50aXR5ID8/IERFRkFVTFRfR0lUSFVCX0FDVElPTlNfVVNFUjtcblxuICAgIGNvbnN0IHN0ZXBzOiBKb2JTdGVwW10gPSBbXG4gICAgICAuLi4ob3B0aW9ucy5jcmVkZW50aWFscz8uc2V0dXBTdGVwcyB8fCBbXSksXG4gICAgICAuLi5Xb3JrZmxvd0FjdGlvbnMuY2hlY2tvdXRXaXRoUGF0Y2gob3B0aW9ucy5wYXRjaCksXG4gICAgICBXb3JrZmxvd1N0ZXBzLnNldHVwR2l0SWRlbnRpdHkoeyBnaXRJZGVudGl0eSB9KSxcbiAgICAgIC4uLldvcmtmbG93QWN0aW9ucy5jcmVhdGVQdWxsUmVxdWVzdCh7XG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgIGdpdElkZW50aXR5LFxuICAgICAgfSksXG4gICAgXTtcblxuICAgIGNvbnN0IHBlcm1pc3Npb25zID1cbiAgICAgIG9wdGlvbnMuY3JlZGVudGlhbHM/LnRva2VuUmVmID09IFwiJHt7IHNlY3JldHMuR0lUSFVCX1RPS0VOIH19XCJcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBjb250ZW50czogSm9iUGVybWlzc2lvbi5XUklURSxcbiAgICAgICAgICAgIHB1bGxSZXF1ZXN0czogSm9iUGVybWlzc2lvbi5XUklURSxcbiAgICAgICAgICB9XG4gICAgICAgIDoge1xuICAgICAgICAgICAgY29udGVudHM6IHdvcmtmbG93cy5Kb2JQZXJtaXNzaW9uLlJFQUQsXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiBqb2JOYW1lLFxuICAgICAgaWY6IGBcXCR7eyBuZWVkcy4ke29wdGlvbnMucGF0Y2guam9iSWR9Lm91dHB1dHMuJHtvcHRpb25zLnBhdGNoLm91dHB1dE5hbWV9IH19YCxcbiAgICAgIG5lZWRzOiBbb3B0aW9ucy5wYXRjaC5qb2JJZF0sXG4gICAgICBlbnZpcm9ubWVudDogb3B0aW9ucy5jcmVkZW50aWFscz8uZW52aXJvbm1lbnQsXG4gICAgICBwZXJtaXNzaW9ucyxcbiAgICAgIC4uLmZpbHRlcmVkUnVuc09uT3B0aW9ucyhvcHRpb25zLnJ1bnNPbiwgb3B0aW9ucy5ydW5zT25Hcm91cCksXG4gICAgICBzdGVwcyxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVsbFJlcXVlc3RQYXRjaFNvdXJjZSBleHRlbmRzIENoZWNrb3V0V2l0aFBhdGNoT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgaWQgb2YgdGhlIGpvYiB0aGF0IGNyZWF0ZWQgdGhlIHBhdGNoIGZpbGVcbiAgICovXG4gIHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBvdXRwdXQgdGhhdCBpbmRpY2F0ZXMgaWYgYSBwYXRjaCBoYXMgYmVlbiBjcmVhdGVkXG4gICAqL1xuICByZWFkb25seSBvdXRwdXROYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVsbFJlcXVlc3RGcm9tUGF0Y2hPcHRpb25zIGV4dGVuZHMgQ3JlYXRlUHVsbFJlcXVlc3RPcHRpb25zIHtcbiAgLyoqXG4gICAqIEluZm9ybWF0aW9uIGFib3V0IHRoZSBwYXRjaCB0aGF0IGlzIHVzZWQgdG8gY3JlYXRlIHRoZSBwdWxsIHJlcXVlc3QuXG4gICAqL1xuICByZWFkb25seSBwYXRjaDogUHVsbFJlcXVlc3RQYXRjaFNvdXJjZTtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGpvYiBkaXNwbGF5ZWQgb24gR2l0SHViLlxuICAgKiBAZGVmYXVsdCBcIkNyZWF0ZSBQdWxsIFJlcXVlc3RcIlxuICAgKi9cbiAgcmVhZG9ubHkgam9iTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogR2l0aHViIFJ1bm5lciBzZWxlY3Rpb24gbGFiZWxzXG4gICAqIEBkZWZhdWx0IFtcInVidW50dS1sYXRlc3RcIl1cbiAgICogQGRlc2NyaXB0aW9uIERlZmluZXMgYSB0YXJnZXQgUnVubmVyIGJ5IGxhYmVsc1xuICAgKiBAdGhyb3dzIHtFcnJvcn0gaWYgYm90aCBgcnVuc09uYCBhbmQgYHJ1bnNPbkdyb3VwYCBhcmUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSBydW5zT24/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogR2l0aHViIFJ1bm5lciBHcm91cCBzZWxlY3Rpb24gb3B0aW9uc1xuICAgKiBAZGVzY3JpcHRpb24gRGVmaW5lcyBhIHRhcmdldCBSdW5uZXIgR3JvdXAgYnkgbmFtZSBhbmQvb3IgbGFiZWxzXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBpZiBib3RoIGBydW5zT25gIGFuZCBgcnVuc09uR3JvdXBgIGFyZSBzcGVjaWZpZWRcbiAgICovXG4gIHJlYWRvbmx5IHJ1bnNPbkdyb3VwPzogR3JvdXBSdW5uZXJPcHRpb25zO1xufVxuIl19