UNPKG

aws-delivlib

Version:

A fabulous library for defining continuous pipelines for building, testing and releasing code libraries.

80 lines 10.9 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.SignNuGetWithSigner = void 0; const path = __importStar(require("path")); const aws_codebuild_1 = require("aws-cdk-lib/aws-codebuild"); const aws_codepipeline_1 = require("aws-cdk-lib/aws-codepipeline"); const aws_codepipeline_actions_1 = require("aws-cdk-lib/aws-codepipeline-actions"); const constructs_1 = require("constructs"); const build_spec_1 = require("./build-spec"); const constants_1 = require("./constants"); const shellable_1 = require("./shellable"); class SignNuGetWithSigner extends constructs_1.Construct { constructor(scope, id, props) { super(scope, id); const environment = { SIGNING_BUCKET_NAME: props.signingBucket.bucketName, SIGNING_LAMBDA_ARN: props.signingLambda.functionArn, ACCESS_ROLE_ARN: props.accessRole.roleArn, }; if (props.signerProfileName) { environment.SIGNER_PROFILE_NAME = props.signerProfileName; } if (props.signerProfileOwner) { environment.SIGNER_PROFILE_OWNER = props.signerProfileOwner; } const shellable = new shellable_1.Shellable(this, 'Default', { platform: new shellable_1.LinuxPlatform(props.buildImage ?? aws_codebuild_1.LinuxBuildImage.fromDockerRegistry(constants_1.DEFAULT_SUPERCHAIN_IMAGE)), scriptDirectory: path.join(__dirname, 'signing', 'nuget'), entrypoint: 'sign.sh', serviceRole: props.serviceRole, buildSpec: build_spec_1.BuildSpec.literal({ version: '0.2', artifacts: { files: ['**/*'], ['base-directory']: '.', }, }), environment, }); this.role = shellable.role; this.project = shellable.project; } addToPipeline(stage, id, options) { const signingInput = options.inputArtifact || new aws_codepipeline_1.Artifact(); const signingOutput = new aws_codepipeline_1.Artifact(); stage.addAction(new aws_codepipeline_actions_1.CodeBuildAction({ actionName: id, input: signingInput, runOrder: options.runOrder, project: this.project, outputs: [signingOutput], })); return signingOutput; } } exports.SignNuGetWithSigner = SignNuGetWithSigner; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNpZ25pbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNkI7QUFDN0IsNkRBQWtGO0FBQ2xGLG1FQUFnRTtBQUNoRSxtRkFBdUU7QUFJdkUsMkNBQW1EO0FBQ25ELDZDQUF5QztBQUN6QywyQ0FBdUQ7QUFFdkQsMkNBQXVEO0FBc0V2RCxNQUFhLG1CQUFvQixTQUFRLHNCQUFTO0lBSWhELFlBQW1CLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQStCO1FBQzlFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxXQUFXLEdBQThCO1lBQzdDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsVUFBVTtZQUNuRCxrQkFBa0IsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLFdBQVc7WUFDbkQsZUFBZSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTztTQUMxQyxDQUFDO1FBRUYsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEVBQUU7WUFDM0IsV0FBVyxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztTQUMzRDtRQUVELElBQUksS0FBSyxDQUFDLGtCQUFrQixFQUFFO1lBQzVCLFdBQVcsQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUM7U0FDN0Q7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLHFCQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUMvQyxRQUFRLEVBQUUsSUFBSSx5QkFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksK0JBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxvQ0FBd0IsQ0FBQyxDQUFDO1lBQzdHLGVBQWUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDO1lBQ3pELFVBQVUsRUFBRSxTQUFTO1lBQ3JCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztZQUM5QixTQUFTLEVBQUUsc0JBQVMsQ0FBQyxPQUFPLENBQUM7Z0JBQzNCLE9BQU8sRUFBRSxLQUFLO2dCQUNkLFNBQVMsRUFBRTtvQkFDVCxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUM7b0JBQ2YsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLEdBQUc7aUJBQ3hCO2FBQ0YsQ0FBQztZQUNGLFdBQVc7U0FDWixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO0lBQ25DLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBYSxFQUFFLEVBQVUsRUFBRSxPQUE2QjtRQUMzRSxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsYUFBYSxJQUFJLElBQUksMkJBQVEsRUFBRSxDQUFDO1FBQzdELE1BQU0sYUFBYSxHQUFHLElBQUksMkJBQVEsRUFBRSxDQUFDO1FBRXJDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSwwQ0FBZSxDQUFDO1lBQ2xDLFVBQVUsRUFBRSxFQUFFO1lBQ2QsS0FBSyxFQUFFLFlBQVk7WUFDbkIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO1lBQzFCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7U0FDekIsQ0FBQyxDQUFDLENBQUM7UUFFSixPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0NBQ0Y7QUF0REQsa0RBc0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IElCdWlsZEltYWdlLCBMaW51eEJ1aWxkSW1hZ2UsIFByb2plY3QgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkJztcbmltcG9ydCB7IEFydGlmYWN0LCBJU3RhZ2UgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lJztcbmltcG9ydCB7IENvZGVCdWlsZEFjdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmUtYWN0aW9ucyc7XG5pbXBvcnQgeyBJUm9sZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgSUZ1bmN0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBJQnVja2V0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCB7IENvbnN0cnVjdCwgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQnVpbGRTcGVjIH0gZnJvbSAnLi9idWlsZC1zcGVjJztcbmltcG9ydCB7IERFRkFVTFRfU1VQRVJDSEFJTl9JTUFHRSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IEFkZFRvUGlwZWxpbmVPcHRpb25zIH0gZnJvbSAnLi9waXBlbGluZSc7XG5pbXBvcnQgeyBMaW51eFBsYXRmb3JtLCBTaGVsbGFibGUgfSBmcm9tICcuL3NoZWxsYWJsZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNpZ25lciBleHRlbmRzIElDb25zdHJ1Y3Qge1xuICBhZGRUb1BpcGVsaW5lKHN0YWdlOiBJU3RhZ2UsIGlkOiBzdHJpbmcsIG9wdGlvbnM6IEFkZFRvUGlwZWxpbmVPcHRpb25zKTogQXJ0aWZhY3Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkU2lnbmluZ09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGlucHV0IGFydGlmYWN0IHRvIHVzZVxuICAgKlxuICAgKiBAZGVmYXVsdCBCdWlsZCBvdXRwdXQgYXJ0aWZhY3RcbiAgICovXG4gIHJlYWRvbmx5IGlucHV0QXJ0aWZhY3Q/OiBBcnRpZmFjdDtcblxuICAvKipcbiAgICogU3RhZ2UgbmFtZSB0byBhZGQgc2lnbmluZyBqb2IgdG9cbiAgICpcbiAgICogQGRlZmF1bHQgXCJTaWduXCJcbiAgICovXG4gIHJlYWRvbmx5IHN0YWdlTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWduTnVHZXRXaXRoU2lnbmVyUHJvcHMge1xuICAvKipcbiAgICogQW4gUzMgYnVja2V0IHVzZWQgdG8gc3RvcmUgc2lnbmVkIGFuZCB1bnNpZ25lZCBETEwgZmlsZXNcbiAgICovXG4gIHJlYWRvbmx5IHNpZ25pbmdCdWNrZXQ6IElCdWNrZXQ7XG5cbiAgLyoqXG4gICAqIEEgTGFtYmRhIGZ1bmN0aW9uIHVzZWQgdG8gcGVyZm9ybSBzaWduaW5nIG9wZXJhdGlvbnMgd2l0aCBBV1MgU2lnbmVyXG4gICAqL1xuICByZWFkb25seSBzaWduaW5nTGFtYmRhOiBJRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIEEgcm9sZSB1c2VkIHByb3ZpZGUgYWNjZXNzIHRvIHRoZSBzaWduaW5nIGJ1Y2tldCBhbmQgc2lnbmluZyBsYW1iZGFcbiAgICovXG4gIHJlYWRvbmx5IGFjY2Vzc1JvbGU6IElSb2xlO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgc2lnbmVyIHByb2ZpbGUgdG8gdXNlIGZvciBzaWduaW5nXG4gICAqXG4gICAqIEBkZWZhdWx0IG5vIHNpZ25pbmcgcHJvZmlsZSBuYW1lXG4gICAqL1xuICByZWFkb25seSBzaWduZXJQcm9maWxlTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG93bmVyIG9mIHRoZSBzaWduZXIgcHJvZmlsZSB0byB1c2UgZm9yIHNpZ25pbmdcbiAgICpcbiAgICogQGRlZmF1bHQgbm8gc2lnbmluZyBwcm9maWxlIG93bmVyXG4gICAqL1xuICByZWFkb25seSBzaWduZXJQcm9maWxlT3duZXI/OiBzdHJpbmc7XG5cbiAgLypcbiAgICogVGhlIHNlcnZpY2Ugcm9sZSB0aGF0IHdpbGwgYmUgdXNlZCB0byBhbGxvdyBDb2RlQnVpbGQgdG8gcGVyZm9ybSBvcGVyYXRpb25zXG4gICAqIG9uIHlvdXIgYmVoYWxmLlxuICAgKlxuICAgKiBAZGVmYXVsdCBBIHJvbGUgd2lsbCBiZSBjcmVhdGVkXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlUm9sZT86IElSb2xlO1xuXG4gIC8qKlxuICAgKiBUaGUgYnVpbGQgaW1hZ2UgdG8gZG8gdGhlIHNpZ25pbmcgaW5cbiAgICpcbiAgICogTmVlZHMgdG8gaGF2ZSBOdUdldCBwcmVpbnN0YWxsZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IExhdGVzdCBzdXBlcmNoYWluXG4gICAqL1xuICByZWFkb25seSBidWlsZEltYWdlPzogSUJ1aWxkSW1hZ2U7XG59XG5cbmV4cG9ydCBjbGFzcyBTaWduTnVHZXRXaXRoU2lnbmVyIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSVNpZ25lciB7XG4gIHB1YmxpYyByZWFkb25seSByb2xlOiBJUm9sZTtcbiAgcHVibGljIHJlYWRvbmx5IHByb2plY3Q6IFByb2plY3Q7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTaWduTnVHZXRXaXRoU2lnbmVyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZW52aXJvbm1lbnQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgICBTSUdOSU5HX0JVQ0tFVF9OQU1FOiBwcm9wcy5zaWduaW5nQnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICBTSUdOSU5HX0xBTUJEQV9BUk46IHByb3BzLnNpZ25pbmdMYW1iZGEuZnVuY3Rpb25Bcm4sXG4gICAgICBBQ0NFU1NfUk9MRV9BUk46IHByb3BzLmFjY2Vzc1JvbGUucm9sZUFybixcbiAgICB9O1xuXG4gICAgaWYgKHByb3BzLnNpZ25lclByb2ZpbGVOYW1lKSB7XG4gICAgICBlbnZpcm9ubWVudC5TSUdORVJfUFJPRklMRV9OQU1FID0gcHJvcHMuc2lnbmVyUHJvZmlsZU5hbWU7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnNpZ25lclByb2ZpbGVPd25lcikge1xuICAgICAgZW52aXJvbm1lbnQuU0lHTkVSX1BST0ZJTEVfT1dORVIgPSBwcm9wcy5zaWduZXJQcm9maWxlT3duZXI7XG4gICAgfVxuXG4gICAgY29uc3Qgc2hlbGxhYmxlID0gbmV3IFNoZWxsYWJsZSh0aGlzLCAnRGVmYXVsdCcsIHtcbiAgICAgIHBsYXRmb3JtOiBuZXcgTGludXhQbGF0Zm9ybShwcm9wcy5idWlsZEltYWdlID8/IExpbnV4QnVpbGRJbWFnZS5mcm9tRG9ja2VyUmVnaXN0cnkoREVGQVVMVF9TVVBFUkNIQUlOX0lNQUdFKSksXG4gICAgICBzY3JpcHREaXJlY3Rvcnk6IHBhdGguam9pbihfX2Rpcm5hbWUsICdzaWduaW5nJywgJ251Z2V0JyksXG4gICAgICBlbnRyeXBvaW50OiAnc2lnbi5zaCcsXG4gICAgICBzZXJ2aWNlUm9sZTogcHJvcHMuc2VydmljZVJvbGUsXG4gICAgICBidWlsZFNwZWM6IEJ1aWxkU3BlYy5saXRlcmFsKHtcbiAgICAgICAgdmVyc2lvbjogJzAuMicsXG4gICAgICAgIGFydGlmYWN0czoge1xuICAgICAgICAgIGZpbGVzOiBbJyoqLyonXSxcbiAgICAgICAgICBbJ2Jhc2UtZGlyZWN0b3J5J106ICcuJyxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgZW52aXJvbm1lbnQsXG4gICAgfSk7XG5cbiAgICB0aGlzLnJvbGUgPSBzaGVsbGFibGUucm9sZTtcbiAgICB0aGlzLnByb2plY3QgPSBzaGVsbGFibGUucHJvamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb1BpcGVsaW5lKHN0YWdlOiBJU3RhZ2UsIGlkOiBzdHJpbmcsIG9wdGlvbnM6IEFkZFRvUGlwZWxpbmVPcHRpb25zKSB7XG4gICAgY29uc3Qgc2lnbmluZ0lucHV0ID0gb3B0aW9ucy5pbnB1dEFydGlmYWN0IHx8IG5ldyBBcnRpZmFjdCgpO1xuICAgIGNvbnN0IHNpZ25pbmdPdXRwdXQgPSBuZXcgQXJ0aWZhY3QoKTtcblxuICAgIHN0YWdlLmFkZEFjdGlvbihuZXcgQ29kZUJ1aWxkQWN0aW9uKHtcbiAgICAgIGFjdGlvbk5hbWU6IGlkLFxuICAgICAgaW5wdXQ6IHNpZ25pbmdJbnB1dCxcbiAgICAgIHJ1bk9yZGVyOiBvcHRpb25zLnJ1bk9yZGVyLFxuICAgICAgcHJvamVjdDogdGhpcy5wcm9qZWN0LFxuICAgICAgb3V0cHV0czogW3NpZ25pbmdPdXRwdXRdLFxuICAgIH0pKTtcblxuICAgIHJldHVybiBzaWduaW5nT3V0cHV0O1xuICB9XG59Il19