projen-pipelines 0.0.55 → 0.0.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/API.md CHANGED
@@ -39,6 +39,7 @@ new BashCDKPipeline(app: AwsCdkTypeScriptApp, options: BashCDKPipelineOptions)
39
39
  | <code><a href="#projen-pipelines.BashCDKPipeline.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
40
40
  | <code><a href="#projen-pipelines.BashCDKPipeline.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
41
41
  | <code><a href="#projen-pipelines.BashCDKPipeline.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
42
+ | <code><a href="#projen-pipelines.BashCDKPipeline.engineType">engineType</a></code> | *No description.* |
42
43
 
43
44
  ---
44
45
 
@@ -76,6 +77,12 @@ public synthesize(): void
76
77
 
77
78
  Synthesizes files to the project output directory.
78
79
 
80
+ ##### `engineType` <a name="engineType" id="projen-pipelines.BashCDKPipeline.engineType"></a>
81
+
82
+ ```typescript
83
+ public engineType(): PipelineEngine
84
+ ```
85
+
79
86
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
80
87
 
81
88
  | **Name** | **Description** |
@@ -228,6 +235,7 @@ new CDKPipeline(app: AwsCdkTypeScriptApp, baseOptions: CDKPipelineOptions)
228
235
  | <code><a href="#projen-pipelines.CDKPipeline.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
229
236
  | <code><a href="#projen-pipelines.CDKPipeline.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
230
237
  | <code><a href="#projen-pipelines.CDKPipeline.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
238
+ | <code><a href="#projen-pipelines.CDKPipeline.engineType">engineType</a></code> | *No description.* |
231
239
 
232
240
  ---
233
241
 
@@ -265,6 +273,12 @@ public synthesize(): void
265
273
 
266
274
  Synthesizes files to the project output directory.
267
275
 
276
+ ##### `engineType` <a name="engineType" id="projen-pipelines.CDKPipeline.engineType"></a>
277
+
278
+ ```typescript
279
+ public engineType(): PipelineEngine
280
+ ```
281
+
268
282
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
269
283
 
270
284
  | **Name** | **Description** |
@@ -378,6 +392,8 @@ public readonly stackPrefix: string;
378
392
 
379
393
  ### GithubCDKPipeline <a name="GithubCDKPipeline" id="projen-pipelines.GithubCDKPipeline"></a>
380
394
 
395
+ Implements a CDK Pipeline configured specifically for GitHub workflows.
396
+
381
397
  #### Initializers <a name="Initializers" id="projen-pipelines.GithubCDKPipeline.Initializer"></a>
382
398
 
383
399
  ```typescript
@@ -388,8 +404,8 @@ new GithubCDKPipeline(app: AwsCdkTypeScriptApp, options: GithubCDKPipelineOption
388
404
 
389
405
  | **Name** | **Type** | **Description** |
390
406
  | --- | --- | --- |
391
- | <code><a href="#projen-pipelines.GithubCDKPipeline.Initializer.parameter.app">app</a></code> | <code>projen.awscdk.AwsCdkTypeScriptApp</code> | *No description.* |
392
- | <code><a href="#projen-pipelines.GithubCDKPipeline.Initializer.parameter.options">options</a></code> | <code><a href="#projen-pipelines.GithubCDKPipelineOptions">GithubCDKPipelineOptions</a></code> | *No description.* |
407
+ | <code><a href="#projen-pipelines.GithubCDKPipeline.Initializer.parameter.app">app</a></code> | <code>projen.awscdk.AwsCdkTypeScriptApp</code> | - The CDK app associated with this pipeline. |
408
+ | <code><a href="#projen-pipelines.GithubCDKPipeline.Initializer.parameter.options">options</a></code> | <code><a href="#projen-pipelines.GithubCDKPipelineOptions">GithubCDKPipelineOptions</a></code> | - Configuration options for the pipeline. |
393
409
 
394
410
  ---
395
411
 
@@ -397,12 +413,16 @@ new GithubCDKPipeline(app: AwsCdkTypeScriptApp, options: GithubCDKPipelineOption
397
413
 
398
414
  - *Type:* projen.awscdk.AwsCdkTypeScriptApp
399
415
 
416
+ The CDK app associated with this pipeline.
417
+
400
418
  ---
401
419
 
402
420
  ##### `options`<sup>Required</sup> <a name="options" id="projen-pipelines.GithubCDKPipeline.Initializer.parameter.options"></a>
403
421
 
404
422
  - *Type:* <a href="#projen-pipelines.GithubCDKPipelineOptions">GithubCDKPipelineOptions</a>
405
423
 
424
+ Configuration options for the pipeline.
425
+
406
426
  ---
407
427
 
408
428
  #### Methods <a name="Methods" id="Methods"></a>
@@ -413,8 +433,9 @@ new GithubCDKPipeline(app: AwsCdkTypeScriptApp, options: GithubCDKPipelineOption
413
433
  | <code><a href="#projen-pipelines.GithubCDKPipeline.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
414
434
  | <code><a href="#projen-pipelines.GithubCDKPipeline.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
415
435
  | <code><a href="#projen-pipelines.GithubCDKPipeline.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
416
- | <code><a href="#projen-pipelines.GithubCDKPipeline.createAssetUpload">createAssetUpload</a></code> | *No description.* |
417
- | <code><a href="#projen-pipelines.GithubCDKPipeline.createDeployment">createDeployment</a></code> | *No description.* |
436
+ | <code><a href="#projen-pipelines.GithubCDKPipeline.engineType">engineType</a></code> | the type of engine this implementation of CDKPipeline is for. |
437
+ | <code><a href="#projen-pipelines.GithubCDKPipeline.createAssetUpload">createAssetUpload</a></code> | Creates a job to upload assets to AWS as part of the pipeline. |
438
+ | <code><a href="#projen-pipelines.GithubCDKPipeline.createDeployment">createDeployment</a></code> | Creates a job to deploy the CDK application to AWS. |
418
439
 
419
440
  ---
420
441
 
@@ -452,22 +473,36 @@ public synthesize(): void
452
473
 
453
474
  Synthesizes files to the project output directory.
454
475
 
476
+ ##### `engineType` <a name="engineType" id="projen-pipelines.GithubCDKPipeline.engineType"></a>
477
+
478
+ ```typescript
479
+ public engineType(): PipelineEngine
480
+ ```
481
+
482
+ the type of engine this implementation of CDKPipeline is for.
483
+
455
484
  ##### `createAssetUpload` <a name="createAssetUpload" id="projen-pipelines.GithubCDKPipeline.createAssetUpload"></a>
456
485
 
457
486
  ```typescript
458
487
  public createAssetUpload(): void
459
488
  ```
460
489
 
490
+ Creates a job to upload assets to AWS as part of the pipeline.
491
+
461
492
  ##### `createDeployment` <a name="createDeployment" id="projen-pipelines.GithubCDKPipeline.createDeployment"></a>
462
493
 
463
494
  ```typescript
464
495
  public createDeployment(stage: DeploymentStage): void
465
496
  ```
466
497
 
498
+ Creates a job to deploy the CDK application to AWS.
499
+
467
500
  ###### `stage`<sup>Required</sup> <a name="stage" id="projen-pipelines.GithubCDKPipeline.createDeployment.parameter.stage"></a>
468
501
 
469
502
  - *Type:* <a href="#projen-pipelines.DeploymentStage">DeploymentStage</a>
470
503
 
504
+ The deployment stage to create.
505
+
471
506
  ---
472
507
 
473
508
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
@@ -535,7 +570,7 @@ Test whether the given construct is a component.
535
570
  | <code><a href="#projen-pipelines.GithubCDKPipeline.property.project">project</a></code> | <code>projen.Project</code> | *No description.* |
536
571
  | <code><a href="#projen-pipelines.GithubCDKPipeline.property.branchName">branchName</a></code> | <code>string</code> | *No description.* |
537
572
  | <code><a href="#projen-pipelines.GithubCDKPipeline.property.stackPrefix">stackPrefix</a></code> | <code>string</code> | *No description.* |
538
- | <code><a href="#projen-pipelines.GithubCDKPipeline.property.needsVersionedArtifacts">needsVersionedArtifacts</a></code> | <code>boolean</code> | *No description.* |
573
+ | <code><a href="#projen-pipelines.GithubCDKPipeline.property.needsVersionedArtifacts">needsVersionedArtifacts</a></code> | <code>boolean</code> | Indicates if versioned artifacts are needed based on manual approval requirements. |
539
574
 
540
575
  ---
541
576
 
@@ -589,6 +624,8 @@ public readonly needsVersionedArtifacts: boolean;
589
624
 
590
625
  - *Type:* boolean
591
626
 
627
+ Indicates if versioned artifacts are needed based on manual approval requirements.
628
+
592
629
  ---
593
630
 
594
631
 
@@ -638,6 +675,7 @@ Configuration options for the pipeline.
638
675
  | <code><a href="#projen-pipelines.GitlabCDKPipeline.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
639
676
  | <code><a href="#projen-pipelines.GitlabCDKPipeline.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
640
677
  | <code><a href="#projen-pipelines.GitlabCDKPipeline.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
678
+ | <code><a href="#projen-pipelines.GitlabCDKPipeline.engineType">engineType</a></code> | *No description.* |
641
679
 
642
680
  ---
643
681
 
@@ -675,6 +713,12 @@ public synthesize(): void
675
713
 
676
714
  Synthesizes files to the project output directory.
677
715
 
716
+ ##### `engineType` <a name="engineType" id="projen-pipelines.GitlabCDKPipeline.engineType"></a>
717
+
718
+ ```typescript
719
+ public engineType(): PipelineEngine
720
+ ```
721
+
678
722
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
679
723
 
680
724
  | **Name** | **Description** |
@@ -852,8 +896,11 @@ const bashCDKPipelineOptions: BashCDKPipelineOptions = { ... }
852
896
  | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.featureStages">featureStages</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
853
897
  | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.personalStage">personalStage</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
854
898
  | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.postSynthCommands">postSynthCommands</a></code> | <code>string[]</code> | *No description.* |
899
+ | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.postSynthSteps">postSynthSteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
855
900
  | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.preInstallCommands">preInstallCommands</a></code> | <code>string[]</code> | *No description.* |
901
+ | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.preInstallSteps">preInstallSteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
856
902
  | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.preSynthCommands">preSynthCommands</a></code> | <code>string[]</code> | *No description.* |
903
+ | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.preSynthSteps">preSynthSteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
857
904
  | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.stackPrefix">stackPrefix</a></code> | <code>string</code> | This field is used to define a prefix for the AWS Stack resources created during the pipeline's operation. |
858
905
 
859
906
  ---
@@ -941,6 +988,16 @@ public readonly postSynthCommands: string[];
941
988
 
942
989
  ---
943
990
 
991
+ ##### `postSynthSteps`<sup>Optional</sup> <a name="postSynthSteps" id="projen-pipelines.BashCDKPipelineOptions.property.postSynthSteps"></a>
992
+
993
+ ```typescript
994
+ public readonly postSynthSteps: PipelineStep[];
995
+ ```
996
+
997
+ - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
998
+
999
+ ---
1000
+
944
1001
  ##### `preInstallCommands`<sup>Optional</sup> <a name="preInstallCommands" id="projen-pipelines.BashCDKPipelineOptions.property.preInstallCommands"></a>
945
1002
 
946
1003
  ```typescript
@@ -951,6 +1008,16 @@ public readonly preInstallCommands: string[];
951
1008
 
952
1009
  ---
953
1010
 
1011
+ ##### `preInstallSteps`<sup>Optional</sup> <a name="preInstallSteps" id="projen-pipelines.BashCDKPipelineOptions.property.preInstallSteps"></a>
1012
+
1013
+ ```typescript
1014
+ public readonly preInstallSteps: PipelineStep[];
1015
+ ```
1016
+
1017
+ - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
1018
+
1019
+ ---
1020
+
954
1021
  ##### `preSynthCommands`<sup>Optional</sup> <a name="preSynthCommands" id="projen-pipelines.BashCDKPipelineOptions.property.preSynthCommands"></a>
955
1022
 
956
1023
  ```typescript
@@ -961,6 +1028,16 @@ public readonly preSynthCommands: string[];
961
1028
 
962
1029
  ---
963
1030
 
1031
+ ##### `preSynthSteps`<sup>Optional</sup> <a name="preSynthSteps" id="projen-pipelines.BashCDKPipelineOptions.property.preSynthSteps"></a>
1032
+
1033
+ ```typescript
1034
+ public readonly preSynthSteps: PipelineStep[];
1035
+ ```
1036
+
1037
+ - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
1038
+
1039
+ ---
1040
+
964
1041
  ##### `stackPrefix`<sup>Optional</sup> <a name="stackPrefix" id="projen-pipelines.BashCDKPipelineOptions.property.stackPrefix"></a>
965
1042
 
966
1043
  ```typescript
@@ -974,6 +1051,38 @@ This field is used to define a prefix for the AWS Stack resources created during
974
1051
 
975
1052
  ---
976
1053
 
1054
+ ### BashStepConfig <a name="BashStepConfig" id="projen-pipelines.BashStepConfig"></a>
1055
+
1056
+ Configuration interface for a bash script step.
1057
+
1058
+ #### Initializer <a name="Initializer" id="projen-pipelines.BashStepConfig.Initializer"></a>
1059
+
1060
+ ```typescript
1061
+ import { BashStepConfig } from 'projen-pipelines'
1062
+
1063
+ const bashStepConfig: BashStepConfig = { ... }
1064
+ ```
1065
+
1066
+ #### Properties <a name="Properties" id="Properties"></a>
1067
+
1068
+ | **Name** | **Type** | **Description** |
1069
+ | --- | --- | --- |
1070
+ | <code><a href="#projen-pipelines.BashStepConfig.property.commands">commands</a></code> | <code>string[]</code> | Shell commands to execute. |
1071
+
1072
+ ---
1073
+
1074
+ ##### `commands`<sup>Required</sup> <a name="commands" id="projen-pipelines.BashStepConfig.property.commands"></a>
1075
+
1076
+ ```typescript
1077
+ public readonly commands: string[];
1078
+ ```
1079
+
1080
+ - *Type:* string[]
1081
+
1082
+ Shell commands to execute.
1083
+
1084
+ ---
1085
+
977
1086
  ### CDKPipelineOptions <a name="CDKPipelineOptions" id="projen-pipelines.CDKPipelineOptions"></a>
978
1087
 
979
1088
  The CDKPipelineOptions interface is designed to provide configuration options for a CDK (Cloud Development Kit) pipeline.
@@ -1001,8 +1110,11 @@ const cDKPipelineOptions: CDKPipelineOptions = { ... }
1001
1110
  | <code><a href="#projen-pipelines.CDKPipelineOptions.property.featureStages">featureStages</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
1002
1111
  | <code><a href="#projen-pipelines.CDKPipelineOptions.property.personalStage">personalStage</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
1003
1112
  | <code><a href="#projen-pipelines.CDKPipelineOptions.property.postSynthCommands">postSynthCommands</a></code> | <code>string[]</code> | *No description.* |
1113
+ | <code><a href="#projen-pipelines.CDKPipelineOptions.property.postSynthSteps">postSynthSteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
1004
1114
  | <code><a href="#projen-pipelines.CDKPipelineOptions.property.preInstallCommands">preInstallCommands</a></code> | <code>string[]</code> | *No description.* |
1115
+ | <code><a href="#projen-pipelines.CDKPipelineOptions.property.preInstallSteps">preInstallSteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
1005
1116
  | <code><a href="#projen-pipelines.CDKPipelineOptions.property.preSynthCommands">preSynthCommands</a></code> | <code>string[]</code> | *No description.* |
1117
+ | <code><a href="#projen-pipelines.CDKPipelineOptions.property.preSynthSteps">preSynthSteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
1006
1118
  | <code><a href="#projen-pipelines.CDKPipelineOptions.property.stackPrefix">stackPrefix</a></code> | <code>string</code> | This field is used to define a prefix for the AWS Stack resources created during the pipeline's operation. |
1007
1119
 
1008
1120
  ---
@@ -1090,6 +1202,16 @@ public readonly postSynthCommands: string[];
1090
1202
 
1091
1203
  ---
1092
1204
 
1205
+ ##### `postSynthSteps`<sup>Optional</sup> <a name="postSynthSteps" id="projen-pipelines.CDKPipelineOptions.property.postSynthSteps"></a>
1206
+
1207
+ ```typescript
1208
+ public readonly postSynthSteps: PipelineStep[];
1209
+ ```
1210
+
1211
+ - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
1212
+
1213
+ ---
1214
+
1093
1215
  ##### `preInstallCommands`<sup>Optional</sup> <a name="preInstallCommands" id="projen-pipelines.CDKPipelineOptions.property.preInstallCommands"></a>
1094
1216
 
1095
1217
  ```typescript
@@ -1100,6 +1222,16 @@ public readonly preInstallCommands: string[];
1100
1222
 
1101
1223
  ---
1102
1224
 
1225
+ ##### `preInstallSteps`<sup>Optional</sup> <a name="preInstallSteps" id="projen-pipelines.CDKPipelineOptions.property.preInstallSteps"></a>
1226
+
1227
+ ```typescript
1228
+ public readonly preInstallSteps: PipelineStep[];
1229
+ ```
1230
+
1231
+ - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
1232
+
1233
+ ---
1234
+
1103
1235
  ##### `preSynthCommands`<sup>Optional</sup> <a name="preSynthCommands" id="projen-pipelines.CDKPipelineOptions.property.preSynthCommands"></a>
1104
1236
 
1105
1237
  ```typescript
@@ -1110,6 +1242,16 @@ public readonly preSynthCommands: string[];
1110
1242
 
1111
1243
  ---
1112
1244
 
1245
+ ##### `preSynthSteps`<sup>Optional</sup> <a name="preSynthSteps" id="projen-pipelines.CDKPipelineOptions.property.preSynthSteps"></a>
1246
+
1247
+ ```typescript
1248
+ public readonly preSynthSteps: PipelineStep[];
1249
+ ```
1250
+
1251
+ - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
1252
+
1253
+ ---
1254
+
1113
1255
  ##### `stackPrefix`<sup>Optional</sup> <a name="stackPrefix" id="projen-pipelines.CDKPipelineOptions.property.stackPrefix"></a>
1114
1256
 
1115
1257
  ```typescript
@@ -1230,6 +1372,8 @@ availability, and pricing.
1230
1372
 
1231
1373
  ### GithubCDKPipelineOptions <a name="GithubCDKPipelineOptions" id="projen-pipelines.GithubCDKPipelineOptions"></a>
1232
1374
 
1375
+ Extension of the base CDKPipeline options including specific configurations for GitHub.
1376
+
1233
1377
  #### Initializer <a name="Initializer" id="projen-pipelines.GithubCDKPipelineOptions.Initializer"></a>
1234
1378
 
1235
1379
  ```typescript
@@ -1249,8 +1393,11 @@ const githubCDKPipelineOptions: GithubCDKPipelineOptions = { ... }
1249
1393
  | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.featureStages">featureStages</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
1250
1394
  | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.personalStage">personalStage</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
1251
1395
  | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.postSynthCommands">postSynthCommands</a></code> | <code>string[]</code> | *No description.* |
1396
+ | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.postSynthSteps">postSynthSteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
1252
1397
  | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.preInstallCommands">preInstallCommands</a></code> | <code>string[]</code> | *No description.* |
1398
+ | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.preInstallSteps">preInstallSteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
1253
1399
  | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.preSynthCommands">preSynthCommands</a></code> | <code>string[]</code> | *No description.* |
1400
+ | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.preSynthSteps">preSynthSteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
1254
1401
  | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.stackPrefix">stackPrefix</a></code> | <code>string</code> | This field is used to define a prefix for the AWS Stack resources created during the pipeline's operation. |
1255
1402
  | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.iamRoleArns">iamRoleArns</a></code> | <code><a href="#projen-pipelines.GithubIamRoleConfig">GithubIamRoleConfig</a></code> | *No description.* |
1256
1403
 
@@ -1339,6 +1486,16 @@ public readonly postSynthCommands: string[];
1339
1486
 
1340
1487
  ---
1341
1488
 
1489
+ ##### `postSynthSteps`<sup>Optional</sup> <a name="postSynthSteps" id="projen-pipelines.GithubCDKPipelineOptions.property.postSynthSteps"></a>
1490
+
1491
+ ```typescript
1492
+ public readonly postSynthSteps: PipelineStep[];
1493
+ ```
1494
+
1495
+ - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
1496
+
1497
+ ---
1498
+
1342
1499
  ##### `preInstallCommands`<sup>Optional</sup> <a name="preInstallCommands" id="projen-pipelines.GithubCDKPipelineOptions.property.preInstallCommands"></a>
1343
1500
 
1344
1501
  ```typescript
@@ -1349,6 +1506,16 @@ public readonly preInstallCommands: string[];
1349
1506
 
1350
1507
  ---
1351
1508
 
1509
+ ##### `preInstallSteps`<sup>Optional</sup> <a name="preInstallSteps" id="projen-pipelines.GithubCDKPipelineOptions.property.preInstallSteps"></a>
1510
+
1511
+ ```typescript
1512
+ public readonly preInstallSteps: PipelineStep[];
1513
+ ```
1514
+
1515
+ - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
1516
+
1517
+ ---
1518
+
1352
1519
  ##### `preSynthCommands`<sup>Optional</sup> <a name="preSynthCommands" id="projen-pipelines.GithubCDKPipelineOptions.property.preSynthCommands"></a>
1353
1520
 
1354
1521
  ```typescript
@@ -1359,6 +1526,16 @@ public readonly preSynthCommands: string[];
1359
1526
 
1360
1527
  ---
1361
1528
 
1529
+ ##### `preSynthSteps`<sup>Optional</sup> <a name="preSynthSteps" id="projen-pipelines.GithubCDKPipelineOptions.property.preSynthSteps"></a>
1530
+
1531
+ ```typescript
1532
+ public readonly preSynthSteps: PipelineStep[];
1533
+ ```
1534
+
1535
+ - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
1536
+
1537
+ ---
1538
+
1362
1539
  ##### `stackPrefix`<sup>Optional</sup> <a name="stackPrefix" id="projen-pipelines.GithubCDKPipelineOptions.property.stackPrefix"></a>
1363
1540
 
1364
1541
  ```typescript
@@ -1384,6 +1561,8 @@ public readonly iamRoleArns: GithubIamRoleConfig;
1384
1561
 
1385
1562
  ### GithubIamRoleConfig <a name="GithubIamRoleConfig" id="projen-pipelines.GithubIamRoleConfig"></a>
1386
1563
 
1564
+ Configuration interface for GitHub-specific IAM roles used in the CDK pipeline.
1565
+
1387
1566
  #### Initializer <a name="Initializer" id="projen-pipelines.GithubIamRoleConfig.Initializer"></a>
1388
1567
 
1389
1568
  ```typescript
@@ -1396,10 +1575,10 @@ const githubIamRoleConfig: GithubIamRoleConfig = { ... }
1396
1575
 
1397
1576
  | **Name** | **Type** | **Description** |
1398
1577
  | --- | --- | --- |
1399
- | <code><a href="#projen-pipelines.GithubIamRoleConfig.property.assetPublishing">assetPublishing</a></code> | <code>string</code> | *No description.* |
1400
- | <code><a href="#projen-pipelines.GithubIamRoleConfig.property.default">default</a></code> | <code>string</code> | *No description.* |
1401
- | <code><a href="#projen-pipelines.GithubIamRoleConfig.property.deployment">deployment</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
1402
- | <code><a href="#projen-pipelines.GithubIamRoleConfig.property.synth">synth</a></code> | <code>string</code> | *No description.* |
1578
+ | <code><a href="#projen-pipelines.GithubIamRoleConfig.property.assetPublishing">assetPublishing</a></code> | <code>string</code> | IAM role ARN for the asset publishing step. |
1579
+ | <code><a href="#projen-pipelines.GithubIamRoleConfig.property.default">default</a></code> | <code>string</code> | Default IAM role ARN used if no specific role is provided. |
1580
+ | <code><a href="#projen-pipelines.GithubIamRoleConfig.property.deployment">deployment</a></code> | <code>{[ key: string ]: string}</code> | IAM role ARNs for different deployment stages. |
1581
+ | <code><a href="#projen-pipelines.GithubIamRoleConfig.property.synth">synth</a></code> | <code>string</code> | IAM role ARN for the synthesis step. |
1403
1582
 
1404
1583
  ---
1405
1584
 
@@ -1411,6 +1590,8 @@ public readonly assetPublishing: string;
1411
1590
 
1412
1591
  - *Type:* string
1413
1592
 
1593
+ IAM role ARN for the asset publishing step.
1594
+
1414
1595
  ---
1415
1596
 
1416
1597
  ##### `default`<sup>Optional</sup> <a name="default" id="projen-pipelines.GithubIamRoleConfig.property.default"></a>
@@ -1421,6 +1602,8 @@ public readonly default: string;
1421
1602
 
1422
1603
  - *Type:* string
1423
1604
 
1605
+ Default IAM role ARN used if no specific role is provided.
1606
+
1424
1607
  ---
1425
1608
 
1426
1609
  ##### `deployment`<sup>Optional</sup> <a name="deployment" id="projen-pipelines.GithubIamRoleConfig.property.deployment"></a>
@@ -1431,6 +1614,8 @@ public readonly deployment: {[ key: string ]: string};
1431
1614
 
1432
1615
  - *Type:* {[ key: string ]: string}
1433
1616
 
1617
+ IAM role ARNs for different deployment stages.
1618
+
1434
1619
  ---
1435
1620
 
1436
1621
  ##### `synth`<sup>Optional</sup> <a name="synth" id="projen-pipelines.GithubIamRoleConfig.property.synth"></a>
@@ -1441,6 +1626,53 @@ public readonly synth: string;
1441
1626
 
1442
1627
  - *Type:* string
1443
1628
 
1629
+ IAM role ARN for the synthesis step.
1630
+
1631
+ ---
1632
+
1633
+ ### GithubStepConfig <a name="GithubStepConfig" id="projen-pipelines.GithubStepConfig"></a>
1634
+
1635
+ Configuration interface for a GitHub Actions step.
1636
+
1637
+ #### Initializer <a name="Initializer" id="projen-pipelines.GithubStepConfig.Initializer"></a>
1638
+
1639
+ ```typescript
1640
+ import { GithubStepConfig } from 'projen-pipelines'
1641
+
1642
+ const githubStepConfig: GithubStepConfig = { ... }
1643
+ ```
1644
+
1645
+ #### Properties <a name="Properties" id="Properties"></a>
1646
+
1647
+ | **Name** | **Type** | **Description** |
1648
+ | --- | --- | --- |
1649
+ | <code><a href="#projen-pipelines.GithubStepConfig.property.needs">needs</a></code> | <code>string[]</code> | Dependencies which need to be completed before this step. |
1650
+ | <code><a href="#projen-pipelines.GithubStepConfig.property.steps">steps</a></code> | <code>projen.github.workflows.JobStep[]</code> | Commands wrapped as GitHub Action job steps. |
1651
+
1652
+ ---
1653
+
1654
+ ##### `needs`<sup>Required</sup> <a name="needs" id="projen-pipelines.GithubStepConfig.property.needs"></a>
1655
+
1656
+ ```typescript
1657
+ public readonly needs: string[];
1658
+ ```
1659
+
1660
+ - *Type:* string[]
1661
+
1662
+ Dependencies which need to be completed before this step.
1663
+
1664
+ ---
1665
+
1666
+ ##### `steps`<sup>Required</sup> <a name="steps" id="projen-pipelines.GithubStepConfig.property.steps"></a>
1667
+
1668
+ ```typescript
1669
+ public readonly steps: JobStep[];
1670
+ ```
1671
+
1672
+ - *Type:* projen.github.workflows.JobStep[]
1673
+
1674
+ Commands wrapped as GitHub Action job steps.
1675
+
1444
1676
  ---
1445
1677
 
1446
1678
  ### GitlabCDKPipelineOptions <a name="GitlabCDKPipelineOptions" id="projen-pipelines.GitlabCDKPipelineOptions"></a>
@@ -1466,8 +1698,11 @@ const gitlabCDKPipelineOptions: GitlabCDKPipelineOptions = { ... }
1466
1698
  | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.featureStages">featureStages</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
1467
1699
  | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.personalStage">personalStage</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
1468
1700
  | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.postSynthCommands">postSynthCommands</a></code> | <code>string[]</code> | *No description.* |
1701
+ | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.postSynthSteps">postSynthSteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
1469
1702
  | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.preInstallCommands">preInstallCommands</a></code> | <code>string[]</code> | *No description.* |
1703
+ | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.preInstallSteps">preInstallSteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
1470
1704
  | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.preSynthCommands">preSynthCommands</a></code> | <code>string[]</code> | *No description.* |
1705
+ | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.preSynthSteps">preSynthSteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
1471
1706
  | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.stackPrefix">stackPrefix</a></code> | <code>string</code> | This field is used to define a prefix for the AWS Stack resources created during the pipeline's operation. |
1472
1707
  | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.iamRoleArns">iamRoleArns</a></code> | <code><a href="#projen-pipelines.GitlabIamRoleConfig">GitlabIamRoleConfig</a></code> | IAM role ARNs configuration for the pipeline. |
1473
1708
  | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.image">image</a></code> | <code>string</code> | The Docker image to use for running the pipeline jobs. |
@@ -1558,6 +1793,16 @@ public readonly postSynthCommands: string[];
1558
1793
 
1559
1794
  ---
1560
1795
 
1796
+ ##### `postSynthSteps`<sup>Optional</sup> <a name="postSynthSteps" id="projen-pipelines.GitlabCDKPipelineOptions.property.postSynthSteps"></a>
1797
+
1798
+ ```typescript
1799
+ public readonly postSynthSteps: PipelineStep[];
1800
+ ```
1801
+
1802
+ - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
1803
+
1804
+ ---
1805
+
1561
1806
  ##### `preInstallCommands`<sup>Optional</sup> <a name="preInstallCommands" id="projen-pipelines.GitlabCDKPipelineOptions.property.preInstallCommands"></a>
1562
1807
 
1563
1808
  ```typescript
@@ -1568,6 +1813,16 @@ public readonly preInstallCommands: string[];
1568
1813
 
1569
1814
  ---
1570
1815
 
1816
+ ##### `preInstallSteps`<sup>Optional</sup> <a name="preInstallSteps" id="projen-pipelines.GitlabCDKPipelineOptions.property.preInstallSteps"></a>
1817
+
1818
+ ```typescript
1819
+ public readonly preInstallSteps: PipelineStep[];
1820
+ ```
1821
+
1822
+ - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
1823
+
1824
+ ---
1825
+
1571
1826
  ##### `preSynthCommands`<sup>Optional</sup> <a name="preSynthCommands" id="projen-pipelines.GitlabCDKPipelineOptions.property.preSynthCommands"></a>
1572
1827
 
1573
1828
  ```typescript
@@ -1578,6 +1833,16 @@ public readonly preSynthCommands: string[];
1578
1833
 
1579
1834
  ---
1580
1835
 
1836
+ ##### `preSynthSteps`<sup>Optional</sup> <a name="preSynthSteps" id="projen-pipelines.GitlabCDKPipelineOptions.property.preSynthSteps"></a>
1837
+
1838
+ ```typescript
1839
+ public readonly preSynthSteps: PipelineStep[];
1840
+ ```
1841
+
1842
+ - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
1843
+
1844
+ ---
1845
+
1581
1846
  ##### `stackPrefix`<sup>Optional</sup> <a name="stackPrefix" id="projen-pipelines.GitlabCDKPipelineOptions.property.stackPrefix"></a>
1582
1847
 
1583
1848
  ```typescript
@@ -1800,6 +2065,64 @@ Runner tags for the synthesis stage.
1800
2065
 
1801
2066
  ---
1802
2067
 
2068
+ ### GitlabStepConfig <a name="GitlabStepConfig" id="projen-pipelines.GitlabStepConfig"></a>
2069
+
2070
+ Configuration interface for a GitLab CI step.
2071
+
2072
+ #### Initializer <a name="Initializer" id="projen-pipelines.GitlabStepConfig.Initializer"></a>
2073
+
2074
+ ```typescript
2075
+ import { GitlabStepConfig } from 'projen-pipelines'
2076
+
2077
+ const gitlabStepConfig: GitlabStepConfig = { ... }
2078
+ ```
2079
+
2080
+ #### Properties <a name="Properties" id="Properties"></a>
2081
+
2082
+ | **Name** | **Type** | **Description** |
2083
+ | --- | --- | --- |
2084
+ | <code><a href="#projen-pipelines.GitlabStepConfig.property.commands">commands</a></code> | <code>string[]</code> | Shell commands to execute in this step. |
2085
+ | <code><a href="#projen-pipelines.GitlabStepConfig.property.extensions">extensions</a></code> | <code>string[]</code> | List of job extensions related to the step. |
2086
+ | <code><a href="#projen-pipelines.GitlabStepConfig.property.needs">needs</a></code> | <code>projen.gitlab.Need[]</code> | Dependencies which need to be completed before this step. |
2087
+
2088
+ ---
2089
+
2090
+ ##### `commands`<sup>Required</sup> <a name="commands" id="projen-pipelines.GitlabStepConfig.property.commands"></a>
2091
+
2092
+ ```typescript
2093
+ public readonly commands: string[];
2094
+ ```
2095
+
2096
+ - *Type:* string[]
2097
+
2098
+ Shell commands to execute in this step.
2099
+
2100
+ ---
2101
+
2102
+ ##### `extensions`<sup>Required</sup> <a name="extensions" id="projen-pipelines.GitlabStepConfig.property.extensions"></a>
2103
+
2104
+ ```typescript
2105
+ public readonly extensions: string[];
2106
+ ```
2107
+
2108
+ - *Type:* string[]
2109
+
2110
+ List of job extensions related to the step.
2111
+
2112
+ ---
2113
+
2114
+ ##### `needs`<sup>Required</sup> <a name="needs" id="projen-pipelines.GitlabStepConfig.property.needs"></a>
2115
+
2116
+ ```typescript
2117
+ public readonly needs: Need[];
2118
+ ```
2119
+
2120
+ - *Type:* projen.gitlab.Need[]
2121
+
2122
+ Dependencies which need to be completed before this step.
2123
+
2124
+ ---
2125
+
1803
2126
  ### StageOptions <a name="StageOptions" id="projen-pipelines.StageOptions"></a>
1804
2127
 
1805
2128
  #### Initializer <a name="Initializer" id="projen-pipelines.StageOptions.Initializer"></a>
@@ -1828,6 +2151,148 @@ public readonly env: Environment;
1828
2151
 
1829
2152
  ---
1830
2153
 
2154
+ ## Classes <a name="Classes" id="Classes"></a>
2155
+
2156
+ ### PipelineStep <a name="PipelineStep" id="projen-pipelines.PipelineStep"></a>
2157
+
2158
+ Abstract class defining the structure of a pipeline step.
2159
+
2160
+ #### Initializers <a name="Initializers" id="projen-pipelines.PipelineStep.Initializer"></a>
2161
+
2162
+ ```typescript
2163
+ import { PipelineStep } from 'projen-pipelines'
2164
+
2165
+ new PipelineStep(project: Project)
2166
+ ```
2167
+
2168
+ | **Name** | **Type** | **Description** |
2169
+ | --- | --- | --- |
2170
+ | <code><a href="#projen-pipelines.PipelineStep.Initializer.parameter.project">project</a></code> | <code>projen.Project</code> | - The projen project reference. |
2171
+
2172
+ ---
2173
+
2174
+ ##### `project`<sup>Required</sup> <a name="project" id="projen-pipelines.PipelineStep.Initializer.parameter.project"></a>
2175
+
2176
+ - *Type:* projen.Project
2177
+
2178
+ The projen project reference.
2179
+
2180
+ ---
2181
+
2182
+ #### Methods <a name="Methods" id="Methods"></a>
2183
+
2184
+ | **Name** | **Description** |
2185
+ | --- | --- |
2186
+ | <code><a href="#projen-pipelines.PipelineStep.toBash">toBash</a></code> | Generates a configuration for a bash script step. |
2187
+ | <code><a href="#projen-pipelines.PipelineStep.toGithub">toGithub</a></code> | Generates a configuration for a GitHub Actions step. |
2188
+ | <code><a href="#projen-pipelines.PipelineStep.toGitlab">toGitlab</a></code> | Generates a configuration for a GitLab CI step. |
2189
+
2190
+ ---
2191
+
2192
+ ##### `toBash` <a name="toBash" id="projen-pipelines.PipelineStep.toBash"></a>
2193
+
2194
+ ```typescript
2195
+ public toBash(): BashStepConfig
2196
+ ```
2197
+
2198
+ Generates a configuration for a bash script step.
2199
+
2200
+ Must be implemented by subclasses.
2201
+
2202
+ ##### `toGithub` <a name="toGithub" id="projen-pipelines.PipelineStep.toGithub"></a>
2203
+
2204
+ ```typescript
2205
+ public toGithub(): GithubStepConfig
2206
+ ```
2207
+
2208
+ Generates a configuration for a GitHub Actions step.
2209
+
2210
+ Must be implemented by subclasses.
2211
+
2212
+ ##### `toGitlab` <a name="toGitlab" id="projen-pipelines.PipelineStep.toGitlab"></a>
2213
+
2214
+ ```typescript
2215
+ public toGitlab(): GitlabStepConfig
2216
+ ```
2217
+
2218
+ Generates a configuration for a GitLab CI step.
2219
+
2220
+ Must be implemented by subclasses.
2221
+
2222
+
2223
+
2224
+
2225
+ ### SimpleCommandStep <a name="SimpleCommandStep" id="projen-pipelines.SimpleCommandStep"></a>
2226
+
2227
+ Concrete implementation of PipelineStep that executes simple commands.
2228
+
2229
+ #### Initializers <a name="Initializers" id="projen-pipelines.SimpleCommandStep.Initializer"></a>
2230
+
2231
+ ```typescript
2232
+ import { SimpleCommandStep } from 'projen-pipelines'
2233
+
2234
+ new SimpleCommandStep(project: Project, commands: string[])
2235
+ ```
2236
+
2237
+ | **Name** | **Type** | **Description** |
2238
+ | --- | --- | --- |
2239
+ | <code><a href="#projen-pipelines.SimpleCommandStep.Initializer.parameter.project">project</a></code> | <code>projen.Project</code> | - The projen project reference. |
2240
+ | <code><a href="#projen-pipelines.SimpleCommandStep.Initializer.parameter.commands">commands</a></code> | <code>string[]</code> | - Shell commands to execute. |
2241
+
2242
+ ---
2243
+
2244
+ ##### `project`<sup>Required</sup> <a name="project" id="projen-pipelines.SimpleCommandStep.Initializer.parameter.project"></a>
2245
+
2246
+ - *Type:* projen.Project
2247
+
2248
+ The projen project reference.
2249
+
2250
+ ---
2251
+
2252
+ ##### `commands`<sup>Required</sup> <a name="commands" id="projen-pipelines.SimpleCommandStep.Initializer.parameter.commands"></a>
2253
+
2254
+ - *Type:* string[]
2255
+
2256
+ Shell commands to execute.
2257
+
2258
+ ---
2259
+
2260
+ #### Methods <a name="Methods" id="Methods"></a>
2261
+
2262
+ | **Name** | **Description** |
2263
+ | --- | --- |
2264
+ | <code><a href="#projen-pipelines.SimpleCommandStep.toBash">toBash</a></code> | Converts the step into a Bash script configuration. |
2265
+ | <code><a href="#projen-pipelines.SimpleCommandStep.toGithub">toGithub</a></code> | Converts the step into a GitHub Actions step configuration. |
2266
+ | <code><a href="#projen-pipelines.SimpleCommandStep.toGitlab">toGitlab</a></code> | Converts the step into a GitLab CI configuration. |
2267
+
2268
+ ---
2269
+
2270
+ ##### `toBash` <a name="toBash" id="projen-pipelines.SimpleCommandStep.toBash"></a>
2271
+
2272
+ ```typescript
2273
+ public toBash(): BashStepConfig
2274
+ ```
2275
+
2276
+ Converts the step into a Bash script configuration.
2277
+
2278
+ ##### `toGithub` <a name="toGithub" id="projen-pipelines.SimpleCommandStep.toGithub"></a>
2279
+
2280
+ ```typescript
2281
+ public toGithub(): GithubStepConfig
2282
+ ```
2283
+
2284
+ Converts the step into a GitHub Actions step configuration.
2285
+
2286
+ ##### `toGitlab` <a name="toGitlab" id="projen-pipelines.SimpleCommandStep.toGitlab"></a>
2287
+
2288
+ ```typescript
2289
+ public toGitlab(): GitlabStepConfig
2290
+ ```
2291
+
2292
+ Converts the step into a GitLab CI configuration.
2293
+
2294
+
2295
+
1831
2296
 
1832
2297
 
1833
2298
  ## Enums <a name="Enums" id="Enums"></a>
@@ -1844,6 +2309,7 @@ The component will render workflows for the given system
1844
2309
  | --- | --- |
1845
2310
  | <code><a href="#projen-pipelines.PipelineEngine.GITHUB">GITHUB</a></code> | Create GitHub actions. |
1846
2311
  | <code><a href="#projen-pipelines.PipelineEngine.GITLAB">GITLAB</a></code> | Create a .gitlab-ci.yaml file. |
2312
+ | <code><a href="#projen-pipelines.PipelineEngine.BASH">BASH</a></code> | Create bash scripts. |
1847
2313
 
1848
2314
  ---
1849
2315
 
@@ -1860,3 +2326,10 @@ Create a .gitlab-ci.yaml file.
1860
2326
 
1861
2327
  ---
1862
2328
 
2329
+
2330
+ ##### `BASH` <a name="BASH" id="projen-pipelines.PipelineEngine.BASH"></a>
2331
+
2332
+ Create bash scripts.
2333
+
2334
+ ---
2335
+