From feb3ead6c8b17e8c09be7a1fc7a9a588ab1aec16 Mon Sep 17 00:00:00 2001 From: Laurent Mathieu Date: Mon, 28 Apr 2025 16:14:46 -0400 Subject: [PATCH 1/5] feat(tm-pipeline): testing github source action --- examples/tm-pipeline/bin/tm-pipeline.ts | 8 +++--- examples/tm-pipeline/lib/tm-pipeline-stack.ts | 27 +++++++++++++++---- src/pipeline/index.ts | 6 ++--- 3 files changed, 28 insertions(+), 13 deletions(-) diff --git a/examples/tm-pipeline/bin/tm-pipeline.ts b/examples/tm-pipeline/bin/tm-pipeline.ts index 73cc1ef..85dbf4e 100644 --- a/examples/tm-pipeline/bin/tm-pipeline.ts +++ b/examples/tm-pipeline/bin/tm-pipeline.ts @@ -2,11 +2,11 @@ import 'source-map-support/register'; import * as cdk from 'aws-cdk-lib'; import { TmPipelineStack } from '../lib/tm-pipeline-stack'; -import { AwsSolutionsChecks } from 'cdk-nag'; -import { Aspects } from 'aws-cdk-lib'; +//import { AwsSolutionsChecks, NagSuppressions } from 'cdk-nag'; +//import { Aspects } from 'aws-cdk-lib'; const app = new cdk.App(); -Aspects.of(app).add(new AwsSolutionsChecks({ verbose: true })) +//Aspects.of(app).add(new AwsSolutionsChecks({ verbose: true })) new TmPipelineStack(app, 'CdkPipelinecdkStack', { /* If you don't specify 'env', this stack will be environment-agnostic. * Account/Region-dependent features and context lookups will not work, @@ -21,4 +21,4 @@ new TmPipelineStack(app, 'CdkPipelinecdkStack', { // env: { account: '123456789012', region: 'us-east-1' }, /* For more information, see https://docs.aws.amazon.com/cdk/latest/guide/environments.html */ -}); \ No newline at end of file +}); diff --git a/examples/tm-pipeline/lib/tm-pipeline-stack.ts b/examples/tm-pipeline/lib/tm-pipeline-stack.ts index 0aa6af3..b221502 100644 --- a/examples/tm-pipeline/lib/tm-pipeline-stack.ts +++ b/examples/tm-pipeline/lib/tm-pipeline-stack.ts @@ -1,23 +1,40 @@ import * as cdk from 'aws-cdk-lib'; import { Construct } from 'constructs'; import { TmPipeline } from '../../../src'; -// import * as sqs from 'aws-cdk-lib/aws-sqs'; export class TmPipelineStack extends cdk.Stack { constructor(scope: Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); + // TEST CODE + // Remove this code when you are done testing + // and replace with commented code below + new TmPipeline(this, 'PipelineCdk', { + pipelineName: 'PipelineCdk', + repoName: 'toumoro/cdk-constructs', + repoBranch: 'feat/change-pipeline-source', + primaryOutputDirectory: 'examples/cdk-pipelinecdk/cdk.out', + synthCommand: [ 'cd examples/cdk-pipelinecdk', + 'npm install', + 'cdk synth', + 'find . -iname cdk.out', + 'pwd'] + }); + } + + /* // The code that defines your stack goes here new TmPipeline(this, 'PipelineCdk', { pipelineName: 'PipelineCdk', repoName: 'cdk-constructs', repoBranch: 'main', primaryOutputDirectory: 'examples/cdk-pipelinecdk/cdk.out', - synthCommand: [ 'cd examples/cdk-pipelinecdk', - 'npm install', - 'cdk synth', - 'find . -iname cdk.out', + synthCommand: [ 'cd examples/cdk-pipelinecdk', + 'npm install', + 'cdk synth', + 'find . -iname cdk.out', 'pwd'] }); } + */ } diff --git a/src/pipeline/index.ts b/src/pipeline/index.ts index 8512462..600b98c 100644 --- a/src/pipeline/index.ts +++ b/src/pipeline/index.ts @@ -1,4 +1,3 @@ -import * as codecommit from 'aws-cdk-lib/aws-codecommit'; import * as pipelines from 'aws-cdk-lib/pipelines'; import { Construct } from 'constructs'; @@ -47,13 +46,12 @@ export class TmPipeline extends Construct { constructor(scope: Construct, id: string, props: TmPipelineProps) { super(scope, id); - // Define a CodeCommit repository - const repository = codecommit.Repository.fromRepositoryName(this, props.repoName, props.repoName); + // Create a pipeline this.pipeline = new pipelines.CodePipeline(this, props.pipelineName, { synth: new pipelines.ShellStep('Synth', { - input: pipelines.CodePipelineSource.codeCommit(repository, props.repoBranch), + input: pipelines.CodePipelineSource.gitHub(props.repoName, props.repoBranch), // Commands to run in the synth step installCommands: ['npm install', 'npm ci', 'npm install -g aws-cdk'], commands: props.synthCommand ?? ['npm install', 'npm ci', 'npm install -g aws-cdk', 'cdk synth'], From 8351df7f421c698f65331346479f8abac6b9d33c Mon Sep 17 00:00:00 2001 From: Laurent Mathieu Date: Mon, 28 Apr 2025 16:17:19 -0400 Subject: [PATCH 2/5] fix(tm-pipeline): fix example path --- examples/tm-pipeline/lib/tm-pipeline-stack.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/tm-pipeline/lib/tm-pipeline-stack.ts b/examples/tm-pipeline/lib/tm-pipeline-stack.ts index b221502..4f92225 100644 --- a/examples/tm-pipeline/lib/tm-pipeline-stack.ts +++ b/examples/tm-pipeline/lib/tm-pipeline-stack.ts @@ -13,8 +13,8 @@ export class TmPipelineStack extends cdk.Stack { pipelineName: 'PipelineCdk', repoName: 'toumoro/cdk-constructs', repoBranch: 'feat/change-pipeline-source', - primaryOutputDirectory: 'examples/cdk-pipelinecdk/cdk.out', - synthCommand: [ 'cd examples/cdk-pipelinecdk', + primaryOutputDirectory: 'examples/tm-pipeline/cdk.out', + synthCommand: [ 'cd examples/tm-pipeline', 'npm install', 'cdk synth', 'find . -iname cdk.out', From 53adfb8b78dfb88924f11ee225a6609dbea0615d Mon Sep 17 00:00:00 2001 From: Laurent Mathieu Date: Tue, 29 Apr 2025 12:58:48 -0400 Subject: [PATCH 3/5] feat(tm-pipeline): allow using other CodePipeline sources --- API.md | 39 +-- examples/tm-pipeline/bin/tm-pipeline.ts | 4 +- examples/tm-pipeline/lib/tm-pipeline-stack.ts | 81 ++++-- src/pipeline/index.ts | 44 +++- yarn.lock | 233 +++++++++--------- 5 files changed, 231 insertions(+), 170 deletions(-) diff --git a/API.md b/API.md index 85dc622..e3671e0 100644 --- a/API.md +++ b/API.md @@ -2889,11 +2889,12 @@ const tmPipelineProps: TmPipelineProps = { ... } | **Name** | **Type** | **Description** | | --- | --- | --- | -| pipelineName | string | The name of the pipeline. | -| repoBranch | string | The branch of the repository to use. | -| repoName | string | The name of the repository. | -| primaryOutputDirectory | string | The primary output directory. | -| synthCommand | string[] | The command to run in the synth step. | +| pipelineName | string | *No description.* | +| primaryOutputDirectory | string | *No description.* | +| repoBranch | string | *No description.* | +| repoName | string | *No description.* | +| source | aws-cdk-lib.pipelines.CodePipelineSource | *No description.* | +| synthCommand | string[] | *No description.* | --- @@ -2905,11 +2906,19 @@ public readonly pipelineName: string; - *Type:* string -The name of the pipeline. +--- + +##### `primaryOutputDirectory`Optional + +```typescript +public readonly primaryOutputDirectory: string; +``` + +- *Type:* string --- -##### `repoBranch`Required +##### `repoBranch`Optional ```typescript public readonly repoBranch: string; @@ -2917,11 +2926,9 @@ public readonly repoBranch: string; - *Type:* string -The branch of the repository to use. - --- -##### `repoName`Required +##### `repoName`Optional ```typescript public readonly repoName: string; @@ -2929,19 +2936,15 @@ public readonly repoName: string; - *Type:* string -The name of the repository. - --- -##### `primaryOutputDirectory`Optional +##### `source`Optional ```typescript -public readonly primaryOutputDirectory: string; +public readonly source: CodePipelineSource; ``` -- *Type:* string - -The primary output directory. +- *Type:* aws-cdk-lib.pipelines.CodePipelineSource --- @@ -2953,8 +2956,6 @@ public readonly synthCommand: string[]; - *Type:* string[] -The command to run in the synth step. - --- ### TmRdsAuroraMysqlServerlessProps diff --git a/examples/tm-pipeline/bin/tm-pipeline.ts b/examples/tm-pipeline/bin/tm-pipeline.ts index 85dbf4e..3f75d07 100644 --- a/examples/tm-pipeline/bin/tm-pipeline.ts +++ b/examples/tm-pipeline/bin/tm-pipeline.ts @@ -2,11 +2,9 @@ import 'source-map-support/register'; import * as cdk from 'aws-cdk-lib'; import { TmPipelineStack } from '../lib/tm-pipeline-stack'; -//import { AwsSolutionsChecks, NagSuppressions } from 'cdk-nag'; -//import { Aspects } from 'aws-cdk-lib'; const app = new cdk.App(); -//Aspects.of(app).add(new AwsSolutionsChecks({ verbose: true })) + new TmPipelineStack(app, 'CdkPipelinecdkStack', { /* If you don't specify 'env', this stack will be environment-agnostic. * Account/Region-dependent features and context lookups will not work, diff --git a/examples/tm-pipeline/lib/tm-pipeline-stack.ts b/examples/tm-pipeline/lib/tm-pipeline-stack.ts index 4f92225..0dbf05d 100644 --- a/examples/tm-pipeline/lib/tm-pipeline-stack.ts +++ b/examples/tm-pipeline/lib/tm-pipeline-stack.ts @@ -1,4 +1,8 @@ import * as cdk from 'aws-cdk-lib'; +import * as codepipeline_actions from 'aws-cdk-lib/aws-codepipeline-actions'; +import * as iam from 'aws-cdk-lib/aws-iam'; +import * as s3 from 'aws-cdk-lib/aws-s3'; +import * as pipelines from 'aws-cdk-lib/pipelines'; import { Construct } from 'constructs'; import { TmPipeline } from '../../../src'; @@ -6,13 +10,25 @@ export class TmPipelineStack extends cdk.Stack { constructor(scope: Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); - // TEST CODE - // Remove this code when you are done testing - // and replace with commented code below - new TmPipeline(this, 'PipelineCdk', { - pipelineName: 'PipelineCdk', - repoName: 'toumoro/cdk-constructs', - repoBranch: 'feat/change-pipeline-source', + // ** Pipeline with CodeCommit source ** + new TmPipeline(this, 'PipelineCdkCodeCommit', { + pipelineName: 'PipelineCdkCodeCommit', + repoName: 'cdk-constructs', + repoBranch: 'main', + primaryOutputDirectory: 'examples/cdk-pipelinecdk/cdk.out', + synthCommand: [ 'cd examples/cdk-pipelinecdk', + 'npm install', + 'cdk synth', + 'find . -iname cdk.out', + 'pwd'] + }); + + // ** Pipeline with GitHub source ** + const githubSource = pipelines.CodePipelineSource.gitHub("toumoro/cdk-constructs", "main"); + + new TmPipeline(this, 'PipelineCdkGithub', { + pipelineName: 'PipelineCdkGithub', + source: githubSource, primaryOutputDirectory: 'examples/tm-pipeline/cdk.out', synthCommand: [ 'cd examples/tm-pipeline', 'npm install', @@ -20,21 +36,52 @@ export class TmPipelineStack extends cdk.Stack { 'find . -iname cdk.out', 'pwd'] }); - } - /* - // The code that defines your stack goes here - new TmPipeline(this, 'PipelineCdk', { - pipelineName: 'PipelineCdk', - repoName: 'cdk-constructs', - repoBranch: 'main', - primaryOutputDirectory: 'examples/cdk-pipelinecdk/cdk.out', - synthCommand: [ 'cd examples/cdk-pipelinecdk', + // ** Pipeline with S3 source ** + const sourceBucket = new s3.Bucket(this, 'Infrastructure Source Bucket', + { + versioned: true, + removalPolicy: cdk.RemovalPolicy.DESTROY, + autoDeleteObjects: true, + lifecycleRules: [ + { + noncurrentVersionExpiration: cdk.Duration.days(30), + noncurrentVersionsToRetain: 10, + }, + ], + } + ); + + // Deny HTTP (unencrypted) requests + sourceBucket.addToResourcePolicy(new iam.PolicyStatement({ + sid: 'AllowSSLRequestsOnly', + effect: iam.Effect.DENY, + principals: [new iam.AnyPrincipal()], + actions: ['s3:*'], + resources: [ + sourceBucket.bucketArn, + `${sourceBucket.bucketArn}/*`, + ], + conditions: { + Bool: { + 'aws:SecureTransport': 'false', + }, + }, + })); + + // Should be triggered by S3 put, but the event bridge rule doesn't seem to trigger. + const s3Source = pipelines.CodePipelineSource.s3(sourceBucket, 'source.zip', { trigger: codepipeline_actions.S3Trigger.EVENTS }); + + new TmPipeline(this, 'PipelineCdkS3', { + pipelineName: 'PipelineCdkS3', + source: s3Source, + primaryOutputDirectory: 'examples/tm-pipeline/cdk.out', + synthCommand: [ 'cd examples/tm-pipeline', 'npm install', 'cdk synth', 'find . -iname cdk.out', 'pwd'] }); + } - */ } diff --git a/src/pipeline/index.ts b/src/pipeline/index.ts index 600b98c..d4a9c2c 100644 --- a/src/pipeline/index.ts +++ b/src/pipeline/index.ts @@ -1,3 +1,4 @@ +import * as codecommit from 'aws-cdk-lib/aws-codecommit'; import * as pipelines from 'aws-cdk-lib/pipelines'; import { Construct } from 'constructs'; @@ -5,27 +6,38 @@ import { Construct } from 'constructs'; // https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.pipelines-readme.html // Define the properties for the Pipeline construct + export interface TmPipelineProps { /** * The name of the pipeline. */ readonly pipelineName: string; + /** + * The command to run in the synth step. + */ + readonly synthCommand?: string[]; /** + * The primary output directory. + */ + readonly primaryOutputDirectory?: string; + + /* * The name of the repository. + * This is used only if the source is not provided. */ - readonly repoName: string; + readonly repoName?: string; /** * The branch of the repository to use. + * This is used only if the source is not provided. */ - readonly repoBranch: string; - /** - * The command to run in the synth step. - */ - readonly synthCommand?: Array; - /** - * The primary output directory. + readonly repoBranch?: string; + + /* + * The source of the pipeline. + * This is used if repoName and repoBranch are not provided. */ - readonly primaryOutputDirectory?: string; + readonly source?: pipelines.CodePipelineSource; + } /** @@ -46,12 +58,22 @@ export class TmPipeline extends Construct { constructor(scope: Construct, id: string, props: TmPipelineProps) { super(scope, id); - + // If the source is not provided, use the CodeCommit source + let input: pipelines.CodePipelineSource; + if (props.source) { + input = props.source; + } else if (props.repoName && props.repoBranch) { + // Define a CodeCommit repository + const repository = codecommit.Repository.fromRepositoryName(this, props.repoName, props.repoName); + input = pipelines.CodePipelineSource.codeCommit(repository, props.repoBranch); + } else { + throw new Error('You must provide either source or both repoName and repoBranch'); + } // Create a pipeline this.pipeline = new pipelines.CodePipeline(this, props.pipelineName, { synth: new pipelines.ShellStep('Synth', { - input: pipelines.CodePipelineSource.gitHub(props.repoName, props.repoBranch), + input: input, // Commands to run in the synth step installCommands: ['npm install', 'npm ci', 'npm install -g aws-cdk'], commands: props.synthCommand ?? ['npm install', 'npm ci', 'npm install -g aws-cdk', 'cdk synth'], diff --git a/yarn.lock b/yarn.lock index 9c0e51f..95a8088 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,13 +10,13 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" -"@asamuzakjp/css-color@^3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@asamuzakjp/css-color/-/css-color-3.1.1.tgz#41a612834dafd9353b89855b37baa8a03fb67bf2" - integrity sha512-hpRD68SV2OMcZCsrbdkccTw5FXjNDLo5OuqSHyHZfwweGsDWZwDJ2+gONyNAbazZclobMirACLw0lk8WVxIqxA== +"@asamuzakjp/css-color@^3.1.2": + version "3.1.5" + resolved "https://registry.yarnpkg.com/@asamuzakjp/css-color/-/css-color-3.1.5.tgz#b6bc36ad3a10289219102028f10e6d173165350a" + integrity sha512-w7AmVyTTiU41fNLsFDf+gA2Dwtbx2EJtn2pbJNAGSRAg50loXy1uLXA3hEpD8+eydcomTurw09tq5/AyceCaGg== dependencies: - "@csstools/css-calc" "^2.1.2" - "@csstools/css-color-parser" "^3.0.8" + "@csstools/css-calc" "^2.1.3" + "@csstools/css-color-parser" "^3.0.9" "@csstools/css-parser-algorithms" "^3.0.4" "@csstools/css-tokenizer" "^3.0.3" lru-cache "^10.4.3" @@ -319,18 +319,18 @@ resolved "https://registry.yarnpkg.com/@csstools/color-helpers/-/color-helpers-5.0.2.tgz#82592c9a7c2b83c293d9161894e2a6471feb97b8" integrity sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA== -"@csstools/css-calc@^2.1.2": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@csstools/css-calc/-/css-calc-2.1.2.tgz#bffd55f002dab119b76d4023f95cd943e6c8c11e" - integrity sha512-TklMyb3uBB28b5uQdxjReG4L80NxAqgrECqLZFQbyLekwwlcDDS8r3f07DKqeo8C4926Br0gf/ZDe17Zv4wIuw== +"@csstools/css-calc@^2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@csstools/css-calc/-/css-calc-2.1.3.tgz#6f68affcb569a86b91965e8622d644be35a08423" + integrity sha512-XBG3talrhid44BY1x3MHzUx/aTG8+x/Zi57M4aTKK9RFB4aLlF3TTSzfzn8nWVHWL3FgAXAxmupmDd6VWww+pw== -"@csstools/css-color-parser@^3.0.8": - version "3.0.8" - resolved "https://registry.yarnpkg.com/@csstools/css-color-parser/-/css-color-parser-3.0.8.tgz#5fe9322920851450bf5e065c2b0e731b9e165394" - integrity sha512-pdwotQjCCnRPuNi06jFuP68cykU1f3ZWExLe/8MQ1LOs8Xq+fTkYgd+2V8mWUWMrOn9iS2HftPVaMZDaXzGbhQ== +"@csstools/css-color-parser@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@csstools/css-color-parser/-/css-color-parser-3.0.9.tgz#8d81b77d6f211495b5100ec4cad4c8828de49f6b" + integrity sha512-wILs5Zk7BU86UArYBJTPy/FMPPKVKHMj1ycCEyf3VUptol0JNRLFU/BZsJ4aiIHJEbSLiizzRrw8Pc1uAEDrXw== dependencies: "@csstools/color-helpers" "^5.0.2" - "@csstools/css-calc" "^2.1.2" + "@csstools/css-calc" "^2.1.3" "@csstools/css-parser-algorithms@^3.0.4": version "3.0.4" @@ -385,18 +385,11 @@ debug "^4.3.1" minimatch "^3.1.2" -"@eslint/config-helpers@^0.2.0": +"@eslint/config-helpers@^0.2.1": version "0.2.1" resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.2.1.tgz#26042c028d1beee5ce2235a7929b91c52651646d" integrity sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw== -"@eslint/core@^0.12.0": - version "0.12.0" - resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.12.0.tgz#5f960c3d57728be9f6c65bd84aa6aa613078798e" - integrity sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg== - dependencies: - "@types/json-schema" "^7.0.15" - "@eslint/core@^0.13.0": version "0.13.0" resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.13.0.tgz#bf02f209846d3bf996f9e8009db62df2739b458c" @@ -419,17 +412,17 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.24.0": - version "9.24.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.24.0.tgz#685277980bb7bf84ecc8e4e133ccdda7545a691e" - integrity sha512-uIY/y3z0uvOGX8cp1C2fiC4+ZmBhp6yZWkojtHL1YEMnRt1Y63HB9TM17proGEmeG7HeUY+UP36F0aknKYTpYA== +"@eslint/js@9.25.1": + version "9.25.1" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.25.1.tgz#25f5c930c2b68b5ebe7ac857f754cbd61ef6d117" + integrity sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg== "@eslint/object-schema@^2.1.6": version "2.1.6" resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.6.tgz#58369ab5b5b3ca117880c0f6c0b0f32f6950f24f" integrity sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA== -"@eslint/plugin-kit@^0.2.7": +"@eslint/plugin-kit@^0.2.8": version "0.2.8" resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz#47488d8f8171b5d4613e833313f3ce708e3525f8" integrity sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA== @@ -988,61 +981,61 @@ "@types/yargs-parser" "*" "@typescript-eslint/eslint-plugin@^8": - version "8.29.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.1.tgz#593639d9bb5239b2d877d65757b7e2c9100a2e84" - integrity sha512-ba0rr4Wfvg23vERs3eB+P3lfj2E+2g3lhWcCVukUuhtcdUx5lSIFZlGFEBHKr+3zizDa/TvZTptdNHVZWAkSBg== + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.31.1.tgz#62f1befe59647524994e89de4516d8dcba7a850a" + integrity sha512-oUlH4h1ABavI4F0Xnl8/fOtML/eu8nI2A1nYd+f+55XI0BLu+RIqKoCiZKNo6DtqZBEQm5aNKA20G3Z5w3R6GQ== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.29.1" - "@typescript-eslint/type-utils" "8.29.1" - "@typescript-eslint/utils" "8.29.1" - "@typescript-eslint/visitor-keys" "8.29.1" + "@typescript-eslint/scope-manager" "8.31.1" + "@typescript-eslint/type-utils" "8.31.1" + "@typescript-eslint/utils" "8.31.1" + "@typescript-eslint/visitor-keys" "8.31.1" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" ts-api-utils "^2.0.1" "@typescript-eslint/parser@^8": - version "8.29.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.29.1.tgz#10bf37411be0a199c27b6515726e22fe8d3df8d0" - integrity sha512-zczrHVEqEaTwh12gWBIJWj8nx+ayDcCJs06yoNMY0kwjMWDM6+kppljY+BxWI06d2Ja+h4+WdufDcwMnnMEWmg== - dependencies: - "@typescript-eslint/scope-manager" "8.29.1" - "@typescript-eslint/types" "8.29.1" - "@typescript-eslint/typescript-estree" "8.29.1" - "@typescript-eslint/visitor-keys" "8.29.1" + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.31.1.tgz#e9b0ccf30d37dde724ee4d15f4dbc195995cce1b" + integrity sha512-oU/OtYVydhXnumd0BobL9rkJg7wFJ9bFFPmSmB/bf/XWN85hlViji59ko6bSKBXyseT9V8l+CN1nwmlbiN0G7Q== + dependencies: + "@typescript-eslint/scope-manager" "8.31.1" + "@typescript-eslint/types" "8.31.1" + "@typescript-eslint/typescript-estree" "8.31.1" + "@typescript-eslint/visitor-keys" "8.31.1" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.29.1": - version "8.29.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.29.1.tgz#cfdfd4144f20c38b9d3e430efd6480e297ef52f6" - integrity sha512-2nggXGX5F3YrsGN08pw4XpMLO1Rgtnn4AzTegC2MDesv6q3QaTU5yU7IbS1tf1IwCR0Hv/1EFygLn9ms6LIpDA== +"@typescript-eslint/scope-manager@8.31.1": + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.31.1.tgz#1eb52e76878f545e4add142e0d8e3e97e7aa443b" + integrity sha512-BMNLOElPxrtNQMIsFHE+3P0Yf1z0dJqV9zLdDxN/xLlWMlXK/ApEsVEKzpizg9oal8bAT5Sc7+ocal7AC1HCVw== dependencies: - "@typescript-eslint/types" "8.29.1" - "@typescript-eslint/visitor-keys" "8.29.1" + "@typescript-eslint/types" "8.31.1" + "@typescript-eslint/visitor-keys" "8.31.1" -"@typescript-eslint/type-utils@8.29.1": - version "8.29.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.29.1.tgz#653dfff5c1711bc920a6a46a5a2c274899f00179" - integrity sha512-DkDUSDwZVCYN71xA4wzySqqcZsHKic53A4BLqmrWFFpOpNSoxX233lwGu/2135ymTCR04PoKiEEEvN1gFYg4Tw== +"@typescript-eslint/type-utils@8.31.1": + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.31.1.tgz#be0f438fb24b03568e282a0aed85f776409f970c" + integrity sha512-fNaT/m9n0+dpSp8G/iOQ05GoHYXbxw81x+yvr7TArTuZuCA6VVKbqWYVZrV5dVagpDTtj/O8k5HBEE/p/HM5LA== dependencies: - "@typescript-eslint/typescript-estree" "8.29.1" - "@typescript-eslint/utils" "8.29.1" + "@typescript-eslint/typescript-estree" "8.31.1" + "@typescript-eslint/utils" "8.31.1" debug "^4.3.4" ts-api-utils "^2.0.1" -"@typescript-eslint/types@8.29.1": - version "8.29.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.29.1.tgz#984ed1283fedbfb41d3993a9abdcb7b299971500" - integrity sha512-VT7T1PuJF1hpYC3AGm2rCgJBjHL3nc+A/bhOp9sGMKfi5v0WufsX/sHCFBfNTx2F+zA6qBc/PD0/kLRLjdt8mQ== +"@typescript-eslint/types@8.31.1": + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.31.1.tgz#478ed6f7e8aee1be7b63a60212b6bffe1423b5d4" + integrity sha512-SfepaEFUDQYRoA70DD9GtytljBePSj17qPxFHA/h3eg6lPTqGJ5mWOtbXCk1YrVU1cTJRd14nhaXWFu0l2troQ== -"@typescript-eslint/typescript-estree@8.29.1": - version "8.29.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.1.tgz#4ac085665ed5390d11c0e3426427978570e3b747" - integrity sha512-l1enRoSaUkQxOQnbi0KPUtqeZkSiFlqrx9/3ns2rEDhGKfTa+88RmXqedC1zmVTOWrLc2e6DEJrTA51C9iLH5g== +"@typescript-eslint/typescript-estree@8.31.1": + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.31.1.tgz#37792fe7ef4d3021c7580067c8f1ae66daabacdf" + integrity sha512-kaA0ueLe2v7KunYOyWYtlf/QhhZb7+qh4Yw6Ni5kgukMIG+iP773tjgBiLWIXYumWCwEq3nLW+TUywEp8uEeag== dependencies: - "@typescript-eslint/types" "8.29.1" - "@typescript-eslint/visitor-keys" "8.29.1" + "@typescript-eslint/types" "8.31.1" + "@typescript-eslint/visitor-keys" "8.31.1" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -1050,22 +1043,22 @@ semver "^7.6.0" ts-api-utils "^2.0.1" -"@typescript-eslint/utils@8.29.1", "@typescript-eslint/utils@^8.13.0": - version "8.29.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.29.1.tgz#3d206c8c8def3527a8eb0588e94e3e60f7e167c9" - integrity sha512-QAkFEbytSaB8wnmB+DflhUPz6CLbFWE2SnSCrRMEa+KnXIzDYbpsn++1HGvnfAsUY44doDXmvRkO5shlM/3UfA== +"@typescript-eslint/utils@8.31.1", "@typescript-eslint/utils@^8.13.0": + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.31.1.tgz#5628ea0393598a0b2f143d0fc6d019f0dee9dd14" + integrity sha512-2DSI4SNfF5T4oRveQ4nUrSjUqjMND0nLq9rEkz0gfGr3tg0S5KB6DhwR+WZPCjzkZl3cH+4x2ce3EsL50FubjQ== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.29.1" - "@typescript-eslint/types" "8.29.1" - "@typescript-eslint/typescript-estree" "8.29.1" + "@typescript-eslint/scope-manager" "8.31.1" + "@typescript-eslint/types" "8.31.1" + "@typescript-eslint/typescript-estree" "8.31.1" -"@typescript-eslint/visitor-keys@8.29.1": - version "8.29.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.1.tgz#9b74e5098c71138d42bbf2178fbe4dfad45d6b9a" - integrity sha512-RGLh5CRaUEf02viP5c1Vh1cMGffQscyHe7HPAzGpfmfflFg1wUz2rYxd+OZqwpeypYvZ8UxSxuIpF++fmOzEcg== +"@typescript-eslint/visitor-keys@8.31.1": + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.31.1.tgz#6742b0e3ba1e0c1e35bdaf78c03e759eb8dd8e75" + integrity sha512-I+/rgqOVBn6f0o7NDTmAPWWC6NuqhV174lfYvAm9fUaWeiefLdux9/YI3/nLugEn9L8fcSi0XmpKi/r5u0nmpw== dependencies: - "@typescript-eslint/types" "8.29.1" + "@typescript-eslint/types" "8.31.1" eslint-visitor-keys "^4.2.0" "@unrs/resolver-binding-darwin-arm64@1.4.1": @@ -1704,25 +1697,25 @@ comment-json@4.2.2: repeat-string "^1.6.1" commit-and-tag-version@^12: - version "12.5.0" - resolved "https://registry.yarnpkg.com/commit-and-tag-version/-/commit-and-tag-version-12.5.0.tgz#fcfd5db2d70c76cb1f40defb44b8c8d687af273b" - integrity sha512-Ll7rkKntH20iEFOPUT4e503Jf3J0J8jSN+aSeHuvNdtv4xmv9kSLSBg2CWsMVihwF3J2WvMHBEUSCKuDNesiTA== + version "12.5.1" + resolved "https://registry.yarnpkg.com/commit-and-tag-version/-/commit-and-tag-version-12.5.1.tgz#06b9930c74bcb8090c8947b5dab5061ece669f5b" + integrity sha512-EA+0zGai6pPfpD1/hwuRDGMLZe00V4b1PtIFtZw5ra/PCan3kxOMVTnj/VuMTNgmH6lwbptObxVDYYzWXzndsg== dependencies: chalk "^2.4.2" conventional-changelog "4.0.0" conventional-changelog-config-spec "2.1.0" conventional-changelog-conventionalcommits "6.1.0" conventional-recommended-bump "7.0.1" - detect-indent "^6.0.0" + detect-indent "^6.1.0" detect-newline "^3.1.0" dotgitignore "^2.1.0" - figures "^3.1.0" + figures "^3.2.0" find-up "^5.0.0" - git-semver-tags "^5.0.0" - jsdom "^25.0.0" + git-semver-tags "^5.0.1" + jsdom "^25.0.1" semver "^7.6.3" w3c-xmlserializer "^5.0.0" - yaml "^2.4.1" + yaml "^2.6.0" yargs "^17.7.2" commonmark@^0.31.2: @@ -1955,11 +1948,11 @@ cross-spawn@^7.0.3, cross-spawn@^7.0.6: which "^2.0.1" cssstyle@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-4.3.0.tgz#83db22d1aec8eb7e5ecd812b4d14a17fb3dd243d" - integrity sha512-6r0NiY0xizYqfBvWp1G7WXJ06/bZyrk7Dc6PHql82C/pKGUTKu4yAX4Y8JPamb1ob9nBKuxWzCGTRuGwU3yxJQ== + version "4.3.1" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-4.3.1.tgz#68a3c9f5a70aa97d5a6ebecc9805e511fc022eb8" + integrity sha512-ZgW+Jgdd7i52AaLYCriF8Mxqft0gD/R9i9wi6RWBhs1pqdPEzPjym7rvRKi397WmQFf3SlyUsszhw+VVCbx79Q== dependencies: - "@asamuzakjp/css-color" "^3.1.1" + "@asamuzakjp/css-color" "^3.1.2" rrweb-cssom "^0.8.0" dargs@^7.0.0: @@ -2092,7 +2085,7 @@ detect-indent@^5.0.0: resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" integrity sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g== -detect-indent@^6.0.0: +detect-indent@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== @@ -2177,10 +2170,10 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -entities@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" - integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== +entities@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-6.0.0.tgz#09c9e29cb79b0a6459a9b9db9efb418ac5bb8e51" + integrity sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw== entities@~3.0.1: version "3.0.1" @@ -2387,18 +2380,18 @@ eslint-visitor-keys@^4.2.0: integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== eslint@^9: - version "9.24.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.24.0.tgz#9a7f2e6cb2de81c405ab244b02f4584c79dc6bee" - integrity sha512-eh/jxIEJyZrvbWRe4XuVclLPDYSYYYgLy5zXGGxD6j8zjSAxFEzI2fL/8xNq6O2yKqVt+eF2YhV+hxjV6UKXwQ== + version "9.25.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.25.1.tgz#8a7cf8dd0e6acb858f86029720adb1785ee57580" + integrity sha512-E6Mtz9oGQWDCpV12319d59n4tx9zOTXSTmc8BLVxBx+G/0RdM5MvEEJLU9c0+aleoePYYgVTOsRblx433qmhWQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.12.1" "@eslint/config-array" "^0.20.0" - "@eslint/config-helpers" "^0.2.0" - "@eslint/core" "^0.12.0" + "@eslint/config-helpers" "^0.2.1" + "@eslint/core" "^0.13.0" "@eslint/eslintrc" "^3.3.1" - "@eslint/js" "9.24.0" - "@eslint/plugin-kit" "^0.2.7" + "@eslint/js" "9.25.1" + "@eslint/plugin-kit" "^0.2.8" "@humanfs/node" "^0.16.6" "@humanwhocodes/module-importer" "^1.0.1" "@humanwhocodes/retry" "^0.4.2" @@ -2564,7 +2557,7 @@ fdir@^6.4.3: resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.3.tgz#011cdacf837eca9b811c89dbb902df714273db72" integrity sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw== -figures@^3.1.0: +figures@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== @@ -2810,7 +2803,7 @@ git-remote-origin-url@^2.0.0: gitconfiglocal "^1.0.0" pify "^2.3.0" -git-semver-tags@^5.0.0: +git-semver-tags@^5.0.0, git-semver-tags@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-5.0.1.tgz#db748aa0e43d313bf38dcd68624d8443234e1c15" integrity sha512-hIvOeZwRbQ+7YEUmCkHqo8FOLQZCEn18yevLHADlFPZY02KJGsu5FZt9YW/lybfK2uhWFI7Qg/07LekJiTv7iA== @@ -3787,7 +3780,7 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" -jsdom@^25.0.0: +jsdom@^25.0.1: version "25.0.1" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-25.0.1.tgz#536ec685c288fc8a5773a65f82d8b44badcc73ef" integrity sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw== @@ -4511,11 +4504,11 @@ parse-json@^5.0.0, parse-json@^5.2.0: lines-and-columns "^1.1.6" parse5@^7.1.2: - version "7.2.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.2.1.tgz#8928f55915e6125f430cc44309765bf17556a33a" - integrity sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ== + version "7.3.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.3.0.tgz#d7e224fa72399c7a175099f45fc2ad024b05ec05" + integrity sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw== dependencies: - entities "^4.5.0" + entities "^6.0.0" path-exists@^3.0.0: version "3.0.0" @@ -5346,17 +5339,17 @@ tinyglobby@^0.2.12: fdir "^6.4.3" picomatch "^4.0.2" -tldts-core@^6.1.85: - version "6.1.85" - resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-6.1.85.tgz#6f6b795468c0b5f7660a11c7306ff2766ceaea7e" - integrity sha512-DTjUVvxckL1fIoPSb3KE7ISNtkWSawZdpfxGxwiIrZoO6EbHVDXXUIlIuWympPaeS+BLGyggozX/HTMsRAdsoA== +tldts-core@^6.1.86: + version "6.1.86" + resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-6.1.86.tgz#a93e6ed9d505cb54c542ce43feb14c73913265d8" + integrity sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA== tldts@^6.1.32: - version "6.1.85" - resolved "https://registry.yarnpkg.com/tldts/-/tldts-6.1.85.tgz#c7636ad5ec2f02591264360da51c6b584ef6f7bb" - integrity sha512-gBdZ1RjCSevRPFix/hpaUWeak2/RNUZB4/8frF1r5uYMHjFptkiT0JXIebWvgI/0ZHXvxaUDDJshiA0j6GdL3w== + version "6.1.86" + resolved "https://registry.yarnpkg.com/tldts/-/tldts-6.1.86.tgz#087e0555b31b9725ee48ca7e77edc56115cd82f7" + integrity sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ== dependencies: - tldts-core "^6.1.85" + tldts-core "^6.1.86" tmpl@1.0.5: version "1.0.5" @@ -5378,9 +5371,9 @@ tough-cookie@^5.0.0: tldts "^6.1.32" tr46@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-5.1.0.tgz#4a077922360ae807e172075ce5beb79b36e4a101" - integrity sha512-IUWnUK7ADYR5Sl1fZlO1INDUhVhatWl7BtJWsIhwJ0UAK7ilzzIa8uIqOO/aYVWHZPJkKbEL+362wrzoeRF7bw== + version "5.1.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-5.1.1.tgz#96ae867cddb8fdb64a49cc3059a8d428bcf238ca" + integrity sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw== dependencies: punycode "^2.3.1" @@ -5842,7 +5835,7 @@ yaml@1.10.2: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yaml@^2.2.2, yaml@^2.4.1: +yaml@^2.2.2, yaml@^2.6.0: version "2.7.1" resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.7.1.tgz#44a247d1b88523855679ac7fa7cda6ed7e135cf6" integrity sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ== From 84621775a198cfb053e990e4abc4669b11d2088b Mon Sep 17 00:00:00 2001 From: github-actions Date: Mon, 5 May 2025 15:17:56 +0000 Subject: [PATCH 4/5] chore: self mutation Signed-off-by: github-actions --- API.md | 18 ++++++++++++++---- src/pipeline/index.ts | 2 +- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/API.md b/API.md index e3671e0..5ad8053 100644 --- a/API.md +++ b/API.md @@ -2889,12 +2889,12 @@ const tmPipelineProps: TmPipelineProps = { ... } | **Name** | **Type** | **Description** | | --- | --- | --- | -| pipelineName | string | *No description.* | -| primaryOutputDirectory | string | *No description.* | -| repoBranch | string | *No description.* | +| pipelineName | string | The name of the pipeline. | +| primaryOutputDirectory | string | The primary output directory. | +| repoBranch | string | The branch of the repository to use. | | repoName | string | *No description.* | | source | aws-cdk-lib.pipelines.CodePipelineSource | *No description.* | -| synthCommand | string[] | *No description.* | +| synthCommand | string[] | The command to run in the synth step. | --- @@ -2906,6 +2906,8 @@ public readonly pipelineName: string; - *Type:* string +The name of the pipeline. + --- ##### `primaryOutputDirectory`Optional @@ -2916,6 +2918,8 @@ public readonly primaryOutputDirectory: string; - *Type:* string +The primary output directory. + --- ##### `repoBranch`Optional @@ -2926,6 +2930,10 @@ public readonly repoBranch: string; - *Type:* string +The branch of the repository to use. + +This is used only if the source is not provided. + --- ##### `repoName`Optional @@ -2956,6 +2964,8 @@ public readonly synthCommand: string[]; - *Type:* string[] +The command to run in the synth step. + --- ### TmRdsAuroraMysqlServerlessProps diff --git a/src/pipeline/index.ts b/src/pipeline/index.ts index d4a9c2c..89e84d1 100644 --- a/src/pipeline/index.ts +++ b/src/pipeline/index.ts @@ -12,7 +12,7 @@ export interface TmPipelineProps { * The name of the pipeline. */ readonly pipelineName: string; - /** + /** * The command to run in the synth step. */ readonly synthCommand?: string[]; From 6c4b17f0bdc056836928fd38401fbe5b8d938393 Mon Sep 17 00:00:00 2001 From: Laurent Mathieu Date: Wed, 30 Jul 2025 14:01:11 -0400 Subject: [PATCH 5/5] feat(tm-pipeline): remove s3 source example --- examples/tm-pipeline/lib/tm-pipeline-stack.ts | 46 ------------------- 1 file changed, 46 deletions(-) diff --git a/examples/tm-pipeline/lib/tm-pipeline-stack.ts b/examples/tm-pipeline/lib/tm-pipeline-stack.ts index 0dbf05d..68b06ab 100644 --- a/examples/tm-pipeline/lib/tm-pipeline-stack.ts +++ b/examples/tm-pipeline/lib/tm-pipeline-stack.ts @@ -37,51 +37,5 @@ export class TmPipelineStack extends cdk.Stack { 'pwd'] }); - // ** Pipeline with S3 source ** - const sourceBucket = new s3.Bucket(this, 'Infrastructure Source Bucket', - { - versioned: true, - removalPolicy: cdk.RemovalPolicy.DESTROY, - autoDeleteObjects: true, - lifecycleRules: [ - { - noncurrentVersionExpiration: cdk.Duration.days(30), - noncurrentVersionsToRetain: 10, - }, - ], - } - ); - - // Deny HTTP (unencrypted) requests - sourceBucket.addToResourcePolicy(new iam.PolicyStatement({ - sid: 'AllowSSLRequestsOnly', - effect: iam.Effect.DENY, - principals: [new iam.AnyPrincipal()], - actions: ['s3:*'], - resources: [ - sourceBucket.bucketArn, - `${sourceBucket.bucketArn}/*`, - ], - conditions: { - Bool: { - 'aws:SecureTransport': 'false', - }, - }, - })); - - // Should be triggered by S3 put, but the event bridge rule doesn't seem to trigger. - const s3Source = pipelines.CodePipelineSource.s3(sourceBucket, 'source.zip', { trigger: codepipeline_actions.S3Trigger.EVENTS }); - - new TmPipeline(this, 'PipelineCdkS3', { - pipelineName: 'PipelineCdkS3', - source: s3Source, - primaryOutputDirectory: 'examples/tm-pipeline/cdk.out', - synthCommand: [ 'cd examples/tm-pipeline', - 'npm install', - 'cdk synth', - 'find . -iname cdk.out', - 'pwd'] - }); - } }