aws-delivlib
Version:
A fabulous library for defining continuous pipelines for building, testing and releasing code libraries.
80 lines • 10.9 kB
JavaScript
;
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