@nikovirtala/cdk-codebuild-hosted-github-actions-runner
Version:
A construct to create an AWS CodeBuild project that can be used to run GitHub Actions workflows
32 lines • 5.77 kB
JavaScript
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CodebuildHostedGitHubActionsRunner = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const aws_cdk_lib_1 = require("aws-cdk-lib");
const constructs_1 = require("constructs");
class CodebuildHostedGitHubActionsRunner extends constructs_1.Construct {
constructor(scope, id, props) {
super(scope, id);
const { codeBuildProjectName, repositoryOwner, repositoryName, tokenSecretArn } = props;
if (tokenSecretArn) {
const secret = aws_cdk_lib_1.aws_secretsmanager.Secret.fromSecretCompleteArn(this, "GitHubToken", tokenSecretArn);
new aws_cdk_lib_1.aws_codebuild.GitHubSourceCredentials(this, "GitHubSourceCredentials", {
accessToken: secret.secretValue,
});
}
this.project = new aws_cdk_lib_1.aws_codebuild.Project(this, "Project", {
projectName: codeBuildProjectName ?? `${repositoryOwner}-${repositoryName}`,
source: aws_cdk_lib_1.aws_codebuild.Source.gitHub({
owner: repositoryOwner,
repo: repositoryName,
webhook: true,
webhookFilters: [aws_cdk_lib_1.aws_codebuild.FilterGroup.inEventOf(aws_cdk_lib_1.aws_codebuild.EventAction.WORKFLOW_JOB_QUEUED)],
}),
});
}
}
exports.CodebuildHostedGitHubActionsRunner = CodebuildHostedGitHubActionsRunner;
_a = JSII_RTTI_SYMBOL_1;
CodebuildHostedGitHubActionsRunner[_a] = { fqn: "@nikovirtala/cdk-codebuild-hosted-github-actions-runner.CodebuildHostedGitHubActionsRunner", version: "1.0.276" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBZ0U7QUFDaEUsMkNBQXVDO0FBK0J2QyxNQUFhLGtDQUFtQyxTQUFRLHNCQUFTO0lBRzdELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBOEM7UUFDcEYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFFeEYsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNqQixNQUFNLE1BQU0sR0FBRyxnQ0FBa0IsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxjQUFjLENBQUMsQ0FBQztZQUVwRyxJQUFJLDJCQUFhLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLHlCQUF5QixFQUFFO2dCQUN2RSxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7YUFDbEMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSwyQkFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ3RELFdBQVcsRUFBRSxvQkFBb0IsSUFBSSxHQUFHLGVBQWUsSUFBSSxjQUFjLEVBQUU7WUFDM0UsTUFBTSxFQUFFLDJCQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztnQkFDaEMsS0FBSyxFQUFFLGVBQWU7Z0JBQ3RCLElBQUksRUFBRSxjQUFjO2dCQUNwQixPQUFPLEVBQUUsSUFBSTtnQkFDYixjQUFjLEVBQUUsQ0FBQywyQkFBYSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsMkJBQWEsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsQ0FBQzthQUN2RyxDQUFDO1NBQ0wsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7QUF6QkwsZ0ZBMEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXdzX2NvZGVidWlsZCwgYXdzX3NlY3JldHNtYW5hZ2VyIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvZGVidWlsZEhvc3RlZEdpdEh1YkFjdGlvbnNSdW5uZXJQcm9wcyB7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIENvZGVCdWlsZCBwcm9qZWN0LlxuICAgICAqIEBkZWZhdWx0IC0gQSBuYW1lIGlzIGdlbmVyYXRlZCBiYXNlZCBvbiB0aGUgcmVwb3NpdG9yeSBvd25lciBhbmQgbmFtZS5cbiAgICAgKi9cbiAgICByZWFkb25seSBjb2RlQnVpbGRQcm9qZWN0TmFtZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBvd25lciBvZiB0aGUgR2l0SHViIHJlcG9zaXRvcnkuXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVwb3NpdG9yeU93bmVyOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgR2l0SHViIHJlcG9zaXRvcnkuXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVwb3NpdG9yeU5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBBUk4gb2YgdGhlIFNlY3JldHMgTWFuYWdlciBzZWNyZXQgY29udGFpbmluZyB0aGUgR2l0SHViIHRva2VuLlxuICAgICAqXG4gICAgICogTm90ZSEgQ29kZUJ1aWxkIG9ubHkgYWxsb3dzIGEgc2luZ2xlIGNyZWRlbnRpYWwgZm9yIEdpdEh1YlxuICAgICAqIHRvIGJlIHNhdmVkIGluIGEgZ2l2ZW4gQVdTIGFjY291bnQgaW4gYSBnaXZlbiByZWdpb24gLVxuICAgICAqIGFueSBhdHRlbXB0IHRvIGFkZCBtb3JlIHRoYW4gb25lIHdpbGwgcmVzdWx0IGluIGFuIGVycm9yLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSBObyBHaXRIdWIgdG9rZW4gaXMgdXNlZC5cbiAgICAgKi9cbiAgICByZWFkb25seSB0b2tlblNlY3JldEFybj86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIENvZGVidWlsZEhvc3RlZEdpdEh1YkFjdGlvbnNSdW5uZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAgIHB1YmxpYyByZWFkb25seSBwcm9qZWN0OiBhd3NfY29kZWJ1aWxkLklQcm9qZWN0O1xuXG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IENvZGVidWlsZEhvc3RlZEdpdEh1YkFjdGlvbnNSdW5uZXJQcm9wcykge1xuICAgICAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgICAgIGNvbnN0IHsgY29kZUJ1aWxkUHJvamVjdE5hbWUsIHJlcG9zaXRvcnlPd25lciwgcmVwb3NpdG9yeU5hbWUsIHRva2VuU2VjcmV0QXJuIH0gPSBwcm9wcztcblxuICAgICAgICBpZiAodG9rZW5TZWNyZXRBcm4pIHtcbiAgICAgICAgICAgIGNvbnN0IHNlY3JldCA9IGF3c19zZWNyZXRzbWFuYWdlci5TZWNyZXQuZnJvbVNlY3JldENvbXBsZXRlQXJuKHRoaXMsIFwiR2l0SHViVG9rZW5cIiwgdG9rZW5TZWNyZXRBcm4pO1xuXG4gICAgICAgICAgICBuZXcgYXdzX2NvZGVidWlsZC5HaXRIdWJTb3VyY2VDcmVkZW50aWFscyh0aGlzLCBcIkdpdEh1YlNvdXJjZUNyZWRlbnRpYWxzXCIsIHtcbiAgICAgICAgICAgICAgICBhY2Nlc3NUb2tlbjogc2VjcmV0LnNlY3JldFZhbHVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByb2plY3QgPSBuZXcgYXdzX2NvZGVidWlsZC5Qcm9qZWN0KHRoaXMsIFwiUHJvamVjdFwiLCB7XG4gICAgICAgICAgICBwcm9qZWN0TmFtZTogY29kZUJ1aWxkUHJvamVjdE5hbWUgPz8gYCR7cmVwb3NpdG9yeU93bmVyfS0ke3JlcG9zaXRvcnlOYW1lfWAsXG4gICAgICAgICAgICBzb3VyY2U6IGF3c19jb2RlYnVpbGQuU291cmNlLmdpdEh1Yih7XG4gICAgICAgICAgICAgICAgb3duZXI6IHJlcG9zaXRvcnlPd25lcixcbiAgICAgICAgICAgICAgICByZXBvOiByZXBvc2l0b3J5TmFtZSxcbiAgICAgICAgICAgICAgICB3ZWJob29rOiB0cnVlLFxuICAgICAgICAgICAgICAgIHdlYmhvb2tGaWx0ZXJzOiBbYXdzX2NvZGVidWlsZC5GaWx0ZXJHcm91cC5pbkV2ZW50T2YoYXdzX2NvZGVidWlsZC5FdmVudEFjdGlvbi5XT1JLRkxPV19KT0JfUVVFVUVEKV0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
;