projen-pipelines 0.0.56 → 0.0.58

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** |
@@ -419,6 +433,7 @@ Configuration options for the pipeline.
419
433
  | <code><a href="#projen-pipelines.GithubCDKPipeline.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
420
434
  | <code><a href="#projen-pipelines.GithubCDKPipeline.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
421
435
  | <code><a href="#projen-pipelines.GithubCDKPipeline.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
436
+ | <code><a href="#projen-pipelines.GithubCDKPipeline.engineType">engineType</a></code> | the type of engine this implementation of CDKPipeline is for. |
422
437
  | <code><a href="#projen-pipelines.GithubCDKPipeline.createAssetUpload">createAssetUpload</a></code> | Creates a job to upload assets to AWS as part of the pipeline. |
423
438
  | <code><a href="#projen-pipelines.GithubCDKPipeline.createDeployment">createDeployment</a></code> | Creates a job to deploy the CDK application to AWS. |
424
439
 
@@ -458,6 +473,14 @@ public synthesize(): void
458
473
 
459
474
  Synthesizes files to the project output directory.
460
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
+
461
484
  ##### `createAssetUpload` <a name="createAssetUpload" id="projen-pipelines.GithubCDKPipeline.createAssetUpload"></a>
462
485
 
463
486
  ```typescript
@@ -652,6 +675,7 @@ Configuration options for the pipeline.
652
675
  | <code><a href="#projen-pipelines.GitlabCDKPipeline.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
653
676
  | <code><a href="#projen-pipelines.GitlabCDKPipeline.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
654
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.* |
655
679
 
656
680
  ---
657
681
 
@@ -689,6 +713,12 @@ public synthesize(): void
689
713
 
690
714
  Synthesizes files to the project output directory.
691
715
 
716
+ ##### `engineType` <a name="engineType" id="projen-pipelines.GitlabCDKPipeline.engineType"></a>
717
+
718
+ ```typescript
719
+ public engineType(): PipelineEngine
720
+ ```
721
+
692
722
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
693
723
 
694
724
  | **Name** | **Description** |
@@ -866,8 +896,11 @@ const bashCDKPipelineOptions: BashCDKPipelineOptions = { ... }
866
896
  | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.featureStages">featureStages</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
867
897
  | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.personalStage">personalStage</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
868
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.* |
869
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.* |
870
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.* |
871
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. |
872
905
 
873
906
  ---
@@ -955,6 +988,16 @@ public readonly postSynthCommands: string[];
955
988
 
956
989
  ---
957
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
+
958
1001
  ##### `preInstallCommands`<sup>Optional</sup> <a name="preInstallCommands" id="projen-pipelines.BashCDKPipelineOptions.property.preInstallCommands"></a>
959
1002
 
960
1003
  ```typescript
@@ -965,6 +1008,16 @@ public readonly preInstallCommands: string[];
965
1008
 
966
1009
  ---
967
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
+
968
1021
  ##### `preSynthCommands`<sup>Optional</sup> <a name="preSynthCommands" id="projen-pipelines.BashCDKPipelineOptions.property.preSynthCommands"></a>
969
1022
 
970
1023
  ```typescript
@@ -975,6 +1028,16 @@ public readonly preSynthCommands: string[];
975
1028
 
976
1029
  ---
977
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
+
978
1041
  ##### `stackPrefix`<sup>Optional</sup> <a name="stackPrefix" id="projen-pipelines.BashCDKPipelineOptions.property.stackPrefix"></a>
979
1042
 
980
1043
  ```typescript
@@ -988,6 +1051,38 @@ This field is used to define a prefix for the AWS Stack resources created during
988
1051
 
989
1052
  ---
990
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
+
991
1086
  ### CDKPipelineOptions <a name="CDKPipelineOptions" id="projen-pipelines.CDKPipelineOptions"></a>
992
1087
 
993
1088
  The CDKPipelineOptions interface is designed to provide configuration options for a CDK (Cloud Development Kit) pipeline.
@@ -1015,8 +1110,11 @@ const cDKPipelineOptions: CDKPipelineOptions = { ... }
1015
1110
  | <code><a href="#projen-pipelines.CDKPipelineOptions.property.featureStages">featureStages</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
1016
1111
  | <code><a href="#projen-pipelines.CDKPipelineOptions.property.personalStage">personalStage</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
1017
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.* |
1018
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.* |
1019
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.* |
1020
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. |
1021
1119
 
1022
1120
  ---
@@ -1104,6 +1202,16 @@ public readonly postSynthCommands: string[];
1104
1202
 
1105
1203
  ---
1106
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
+
1107
1215
  ##### `preInstallCommands`<sup>Optional</sup> <a name="preInstallCommands" id="projen-pipelines.CDKPipelineOptions.property.preInstallCommands"></a>
1108
1216
 
1109
1217
  ```typescript
@@ -1114,6 +1222,16 @@ public readonly preInstallCommands: string[];
1114
1222
 
1115
1223
  ---
1116
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
+
1117
1235
  ##### `preSynthCommands`<sup>Optional</sup> <a name="preSynthCommands" id="projen-pipelines.CDKPipelineOptions.property.preSynthCommands"></a>
1118
1236
 
1119
1237
  ```typescript
@@ -1124,6 +1242,16 @@ public readonly preSynthCommands: string[];
1124
1242
 
1125
1243
  ---
1126
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
+
1127
1255
  ##### `stackPrefix`<sup>Optional</sup> <a name="stackPrefix" id="projen-pipelines.CDKPipelineOptions.property.stackPrefix"></a>
1128
1256
 
1129
1257
  ```typescript
@@ -1265,10 +1393,14 @@ const githubCDKPipelineOptions: GithubCDKPipelineOptions = { ... }
1265
1393
  | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.featureStages">featureStages</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
1266
1394
  | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.personalStage">personalStage</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
1267
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.* |
1268
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.* |
1269
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.* |
1270
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. |
1271
- | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.iamRoleArns">iamRoleArns</a></code> | <code><a href="#projen-pipelines.GithubIamRoleConfig">GithubIamRoleConfig</a></code> | *No description.* |
1402
+ | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.iamRoleArns">iamRoleArns</a></code> | <code><a href="#projen-pipelines.GithubIamRoleConfig">GithubIamRoleConfig</a></code> | IAM config for GitHub Actions. |
1403
+ | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.runnerTags">runnerTags</a></code> | <code>string[]</code> | runner tags to use to select runners. |
1272
1404
 
1273
1405
  ---
1274
1406
 
@@ -1355,6 +1487,16 @@ public readonly postSynthCommands: string[];
1355
1487
 
1356
1488
  ---
1357
1489
 
1490
+ ##### `postSynthSteps`<sup>Optional</sup> <a name="postSynthSteps" id="projen-pipelines.GithubCDKPipelineOptions.property.postSynthSteps"></a>
1491
+
1492
+ ```typescript
1493
+ public readonly postSynthSteps: PipelineStep[];
1494
+ ```
1495
+
1496
+ - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
1497
+
1498
+ ---
1499
+
1358
1500
  ##### `preInstallCommands`<sup>Optional</sup> <a name="preInstallCommands" id="projen-pipelines.GithubCDKPipelineOptions.property.preInstallCommands"></a>
1359
1501
 
1360
1502
  ```typescript
@@ -1365,6 +1507,16 @@ public readonly preInstallCommands: string[];
1365
1507
 
1366
1508
  ---
1367
1509
 
1510
+ ##### `preInstallSteps`<sup>Optional</sup> <a name="preInstallSteps" id="projen-pipelines.GithubCDKPipelineOptions.property.preInstallSteps"></a>
1511
+
1512
+ ```typescript
1513
+ public readonly preInstallSteps: PipelineStep[];
1514
+ ```
1515
+
1516
+ - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
1517
+
1518
+ ---
1519
+
1368
1520
  ##### `preSynthCommands`<sup>Optional</sup> <a name="preSynthCommands" id="projen-pipelines.GithubCDKPipelineOptions.property.preSynthCommands"></a>
1369
1521
 
1370
1522
  ```typescript
@@ -1375,6 +1527,16 @@ public readonly preSynthCommands: string[];
1375
1527
 
1376
1528
  ---
1377
1529
 
1530
+ ##### `preSynthSteps`<sup>Optional</sup> <a name="preSynthSteps" id="projen-pipelines.GithubCDKPipelineOptions.property.preSynthSteps"></a>
1531
+
1532
+ ```typescript
1533
+ public readonly preSynthSteps: PipelineStep[];
1534
+ ```
1535
+
1536
+ - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
1537
+
1538
+ ---
1539
+
1378
1540
  ##### `stackPrefix`<sup>Optional</sup> <a name="stackPrefix" id="projen-pipelines.GithubCDKPipelineOptions.property.stackPrefix"></a>
1379
1541
 
1380
1542
  ```typescript
@@ -1396,6 +1558,21 @@ public readonly iamRoleArns: GithubIamRoleConfig;
1396
1558
 
1397
1559
  - *Type:* <a href="#projen-pipelines.GithubIamRoleConfig">GithubIamRoleConfig</a>
1398
1560
 
1561
+ IAM config for GitHub Actions.
1562
+
1563
+ ---
1564
+
1565
+ ##### `runnerTags`<sup>Optional</sup> <a name="runnerTags" id="projen-pipelines.GithubCDKPipelineOptions.property.runnerTags"></a>
1566
+
1567
+ ```typescript
1568
+ public readonly runnerTags: string[];
1569
+ ```
1570
+
1571
+ - *Type:* string[]
1572
+ - *Default:* ['ubuntu-latest']
1573
+
1574
+ runner tags to use to select runners.
1575
+
1399
1576
  ---
1400
1577
 
1401
1578
  ### GithubIamRoleConfig <a name="GithubIamRoleConfig" id="projen-pipelines.GithubIamRoleConfig"></a>
@@ -1469,6 +1646,51 @@ IAM role ARN for the synthesis step.
1469
1646
 
1470
1647
  ---
1471
1648
 
1649
+ ### GithubStepConfig <a name="GithubStepConfig" id="projen-pipelines.GithubStepConfig"></a>
1650
+
1651
+ Configuration interface for a GitHub Actions step.
1652
+
1653
+ #### Initializer <a name="Initializer" id="projen-pipelines.GithubStepConfig.Initializer"></a>
1654
+
1655
+ ```typescript
1656
+ import { GithubStepConfig } from 'projen-pipelines'
1657
+
1658
+ const githubStepConfig: GithubStepConfig = { ... }
1659
+ ```
1660
+
1661
+ #### Properties <a name="Properties" id="Properties"></a>
1662
+
1663
+ | **Name** | **Type** | **Description** |
1664
+ | --- | --- | --- |
1665
+ | <code><a href="#projen-pipelines.GithubStepConfig.property.needs">needs</a></code> | <code>string[]</code> | Dependencies which need to be completed before this step. |
1666
+ | <code><a href="#projen-pipelines.GithubStepConfig.property.steps">steps</a></code> | <code>projen.github.workflows.JobStep[]</code> | Commands wrapped as GitHub Action job steps. |
1667
+
1668
+ ---
1669
+
1670
+ ##### `needs`<sup>Required</sup> <a name="needs" id="projen-pipelines.GithubStepConfig.property.needs"></a>
1671
+
1672
+ ```typescript
1673
+ public readonly needs: string[];
1674
+ ```
1675
+
1676
+ - *Type:* string[]
1677
+
1678
+ Dependencies which need to be completed before this step.
1679
+
1680
+ ---
1681
+
1682
+ ##### `steps`<sup>Required</sup> <a name="steps" id="projen-pipelines.GithubStepConfig.property.steps"></a>
1683
+
1684
+ ```typescript
1685
+ public readonly steps: JobStep[];
1686
+ ```
1687
+
1688
+ - *Type:* projen.github.workflows.JobStep[]
1689
+
1690
+ Commands wrapped as GitHub Action job steps.
1691
+
1692
+ ---
1693
+
1472
1694
  ### GitlabCDKPipelineOptions <a name="GitlabCDKPipelineOptions" id="projen-pipelines.GitlabCDKPipelineOptions"></a>
1473
1695
 
1474
1696
  Options for configuring the GitLab CDK pipeline, extending the base CDK pipeline options.
@@ -1492,8 +1714,11 @@ const gitlabCDKPipelineOptions: GitlabCDKPipelineOptions = { ... }
1492
1714
  | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.featureStages">featureStages</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
1493
1715
  | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.personalStage">personalStage</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
1494
1716
  | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.postSynthCommands">postSynthCommands</a></code> | <code>string[]</code> | *No description.* |
1717
+ | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.postSynthSteps">postSynthSteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
1495
1718
  | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.preInstallCommands">preInstallCommands</a></code> | <code>string[]</code> | *No description.* |
1719
+ | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.preInstallSteps">preInstallSteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
1496
1720
  | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.preSynthCommands">preSynthCommands</a></code> | <code>string[]</code> | *No description.* |
1721
+ | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.preSynthSteps">preSynthSteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
1497
1722
  | <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. |
1498
1723
  | <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. |
1499
1724
  | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.image">image</a></code> | <code>string</code> | The Docker image to use for running the pipeline jobs. |
@@ -1584,6 +1809,16 @@ public readonly postSynthCommands: string[];
1584
1809
 
1585
1810
  ---
1586
1811
 
1812
+ ##### `postSynthSteps`<sup>Optional</sup> <a name="postSynthSteps" id="projen-pipelines.GitlabCDKPipelineOptions.property.postSynthSteps"></a>
1813
+
1814
+ ```typescript
1815
+ public readonly postSynthSteps: PipelineStep[];
1816
+ ```
1817
+
1818
+ - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
1819
+
1820
+ ---
1821
+
1587
1822
  ##### `preInstallCommands`<sup>Optional</sup> <a name="preInstallCommands" id="projen-pipelines.GitlabCDKPipelineOptions.property.preInstallCommands"></a>
1588
1823
 
1589
1824
  ```typescript
@@ -1594,6 +1829,16 @@ public readonly preInstallCommands: string[];
1594
1829
 
1595
1830
  ---
1596
1831
 
1832
+ ##### `preInstallSteps`<sup>Optional</sup> <a name="preInstallSteps" id="projen-pipelines.GitlabCDKPipelineOptions.property.preInstallSteps"></a>
1833
+
1834
+ ```typescript
1835
+ public readonly preInstallSteps: PipelineStep[];
1836
+ ```
1837
+
1838
+ - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
1839
+
1840
+ ---
1841
+
1597
1842
  ##### `preSynthCommands`<sup>Optional</sup> <a name="preSynthCommands" id="projen-pipelines.GitlabCDKPipelineOptions.property.preSynthCommands"></a>
1598
1843
 
1599
1844
  ```typescript
@@ -1604,6 +1849,16 @@ public readonly preSynthCommands: string[];
1604
1849
 
1605
1850
  ---
1606
1851
 
1852
+ ##### `preSynthSteps`<sup>Optional</sup> <a name="preSynthSteps" id="projen-pipelines.GitlabCDKPipelineOptions.property.preSynthSteps"></a>
1853
+
1854
+ ```typescript
1855
+ public readonly preSynthSteps: PipelineStep[];
1856
+ ```
1857
+
1858
+ - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
1859
+
1860
+ ---
1861
+
1607
1862
  ##### `stackPrefix`<sup>Optional</sup> <a name="stackPrefix" id="projen-pipelines.GitlabCDKPipelineOptions.property.stackPrefix"></a>
1608
1863
 
1609
1864
  ```typescript
@@ -1826,6 +2081,64 @@ Runner tags for the synthesis stage.
1826
2081
 
1827
2082
  ---
1828
2083
 
2084
+ ### GitlabStepConfig <a name="GitlabStepConfig" id="projen-pipelines.GitlabStepConfig"></a>
2085
+
2086
+ Configuration interface for a GitLab CI step.
2087
+
2088
+ #### Initializer <a name="Initializer" id="projen-pipelines.GitlabStepConfig.Initializer"></a>
2089
+
2090
+ ```typescript
2091
+ import { GitlabStepConfig } from 'projen-pipelines'
2092
+
2093
+ const gitlabStepConfig: GitlabStepConfig = { ... }
2094
+ ```
2095
+
2096
+ #### Properties <a name="Properties" id="Properties"></a>
2097
+
2098
+ | **Name** | **Type** | **Description** |
2099
+ | --- | --- | --- |
2100
+ | <code><a href="#projen-pipelines.GitlabStepConfig.property.commands">commands</a></code> | <code>string[]</code> | Shell commands to execute in this step. |
2101
+ | <code><a href="#projen-pipelines.GitlabStepConfig.property.extensions">extensions</a></code> | <code>string[]</code> | List of job extensions related to the step. |
2102
+ | <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. |
2103
+
2104
+ ---
2105
+
2106
+ ##### `commands`<sup>Required</sup> <a name="commands" id="projen-pipelines.GitlabStepConfig.property.commands"></a>
2107
+
2108
+ ```typescript
2109
+ public readonly commands: string[];
2110
+ ```
2111
+
2112
+ - *Type:* string[]
2113
+
2114
+ Shell commands to execute in this step.
2115
+
2116
+ ---
2117
+
2118
+ ##### `extensions`<sup>Required</sup> <a name="extensions" id="projen-pipelines.GitlabStepConfig.property.extensions"></a>
2119
+
2120
+ ```typescript
2121
+ public readonly extensions: string[];
2122
+ ```
2123
+
2124
+ - *Type:* string[]
2125
+
2126
+ List of job extensions related to the step.
2127
+
2128
+ ---
2129
+
2130
+ ##### `needs`<sup>Required</sup> <a name="needs" id="projen-pipelines.GitlabStepConfig.property.needs"></a>
2131
+
2132
+ ```typescript
2133
+ public readonly needs: Need[];
2134
+ ```
2135
+
2136
+ - *Type:* projen.gitlab.Need[]
2137
+
2138
+ Dependencies which need to be completed before this step.
2139
+
2140
+ ---
2141
+
1829
2142
  ### StageOptions <a name="StageOptions" id="projen-pipelines.StageOptions"></a>
1830
2143
 
1831
2144
  #### Initializer <a name="Initializer" id="projen-pipelines.StageOptions.Initializer"></a>
@@ -1854,6 +2167,148 @@ public readonly env: Environment;
1854
2167
 
1855
2168
  ---
1856
2169
 
2170
+ ## Classes <a name="Classes" id="Classes"></a>
2171
+
2172
+ ### PipelineStep <a name="PipelineStep" id="projen-pipelines.PipelineStep"></a>
2173
+
2174
+ Abstract class defining the structure of a pipeline step.
2175
+
2176
+ #### Initializers <a name="Initializers" id="projen-pipelines.PipelineStep.Initializer"></a>
2177
+
2178
+ ```typescript
2179
+ import { PipelineStep } from 'projen-pipelines'
2180
+
2181
+ new PipelineStep(project: Project)
2182
+ ```
2183
+
2184
+ | **Name** | **Type** | **Description** |
2185
+ | --- | --- | --- |
2186
+ | <code><a href="#projen-pipelines.PipelineStep.Initializer.parameter.project">project</a></code> | <code>projen.Project</code> | - The projen project reference. |
2187
+
2188
+ ---
2189
+
2190
+ ##### `project`<sup>Required</sup> <a name="project" id="projen-pipelines.PipelineStep.Initializer.parameter.project"></a>
2191
+
2192
+ - *Type:* projen.Project
2193
+
2194
+ The projen project reference.
2195
+
2196
+ ---
2197
+
2198
+ #### Methods <a name="Methods" id="Methods"></a>
2199
+
2200
+ | **Name** | **Description** |
2201
+ | --- | --- |
2202
+ | <code><a href="#projen-pipelines.PipelineStep.toBash">toBash</a></code> | Generates a configuration for a bash script step. |
2203
+ | <code><a href="#projen-pipelines.PipelineStep.toGithub">toGithub</a></code> | Generates a configuration for a GitHub Actions step. |
2204
+ | <code><a href="#projen-pipelines.PipelineStep.toGitlab">toGitlab</a></code> | Generates a configuration for a GitLab CI step. |
2205
+
2206
+ ---
2207
+
2208
+ ##### `toBash` <a name="toBash" id="projen-pipelines.PipelineStep.toBash"></a>
2209
+
2210
+ ```typescript
2211
+ public toBash(): BashStepConfig
2212
+ ```
2213
+
2214
+ Generates a configuration for a bash script step.
2215
+
2216
+ Must be implemented by subclasses.
2217
+
2218
+ ##### `toGithub` <a name="toGithub" id="projen-pipelines.PipelineStep.toGithub"></a>
2219
+
2220
+ ```typescript
2221
+ public toGithub(): GithubStepConfig
2222
+ ```
2223
+
2224
+ Generates a configuration for a GitHub Actions step.
2225
+
2226
+ Must be implemented by subclasses.
2227
+
2228
+ ##### `toGitlab` <a name="toGitlab" id="projen-pipelines.PipelineStep.toGitlab"></a>
2229
+
2230
+ ```typescript
2231
+ public toGitlab(): GitlabStepConfig
2232
+ ```
2233
+
2234
+ Generates a configuration for a GitLab CI step.
2235
+
2236
+ Must be implemented by subclasses.
2237
+
2238
+
2239
+
2240
+
2241
+ ### SimpleCommandStep <a name="SimpleCommandStep" id="projen-pipelines.SimpleCommandStep"></a>
2242
+
2243
+ Concrete implementation of PipelineStep that executes simple commands.
2244
+
2245
+ #### Initializers <a name="Initializers" id="projen-pipelines.SimpleCommandStep.Initializer"></a>
2246
+
2247
+ ```typescript
2248
+ import { SimpleCommandStep } from 'projen-pipelines'
2249
+
2250
+ new SimpleCommandStep(project: Project, commands: string[])
2251
+ ```
2252
+
2253
+ | **Name** | **Type** | **Description** |
2254
+ | --- | --- | --- |
2255
+ | <code><a href="#projen-pipelines.SimpleCommandStep.Initializer.parameter.project">project</a></code> | <code>projen.Project</code> | - The projen project reference. |
2256
+ | <code><a href="#projen-pipelines.SimpleCommandStep.Initializer.parameter.commands">commands</a></code> | <code>string[]</code> | - Shell commands to execute. |
2257
+
2258
+ ---
2259
+
2260
+ ##### `project`<sup>Required</sup> <a name="project" id="projen-pipelines.SimpleCommandStep.Initializer.parameter.project"></a>
2261
+
2262
+ - *Type:* projen.Project
2263
+
2264
+ The projen project reference.
2265
+
2266
+ ---
2267
+
2268
+ ##### `commands`<sup>Required</sup> <a name="commands" id="projen-pipelines.SimpleCommandStep.Initializer.parameter.commands"></a>
2269
+
2270
+ - *Type:* string[]
2271
+
2272
+ Shell commands to execute.
2273
+
2274
+ ---
2275
+
2276
+ #### Methods <a name="Methods" id="Methods"></a>
2277
+
2278
+ | **Name** | **Description** |
2279
+ | --- | --- |
2280
+ | <code><a href="#projen-pipelines.SimpleCommandStep.toBash">toBash</a></code> | Converts the step into a Bash script configuration. |
2281
+ | <code><a href="#projen-pipelines.SimpleCommandStep.toGithub">toGithub</a></code> | Converts the step into a GitHub Actions step configuration. |
2282
+ | <code><a href="#projen-pipelines.SimpleCommandStep.toGitlab">toGitlab</a></code> | Converts the step into a GitLab CI configuration. |
2283
+
2284
+ ---
2285
+
2286
+ ##### `toBash` <a name="toBash" id="projen-pipelines.SimpleCommandStep.toBash"></a>
2287
+
2288
+ ```typescript
2289
+ public toBash(): BashStepConfig
2290
+ ```
2291
+
2292
+ Converts the step into a Bash script configuration.
2293
+
2294
+ ##### `toGithub` <a name="toGithub" id="projen-pipelines.SimpleCommandStep.toGithub"></a>
2295
+
2296
+ ```typescript
2297
+ public toGithub(): GithubStepConfig
2298
+ ```
2299
+
2300
+ Converts the step into a GitHub Actions step configuration.
2301
+
2302
+ ##### `toGitlab` <a name="toGitlab" id="projen-pipelines.SimpleCommandStep.toGitlab"></a>
2303
+
2304
+ ```typescript
2305
+ public toGitlab(): GitlabStepConfig
2306
+ ```
2307
+
2308
+ Converts the step into a GitLab CI configuration.
2309
+
2310
+
2311
+
1857
2312
 
1858
2313
 
1859
2314
  ## Enums <a name="Enums" id="Enums"></a>
@@ -1870,6 +2325,7 @@ The component will render workflows for the given system
1870
2325
  | --- | --- |
1871
2326
  | <code><a href="#projen-pipelines.PipelineEngine.GITHUB">GITHUB</a></code> | Create GitHub actions. |
1872
2327
  | <code><a href="#projen-pipelines.PipelineEngine.GITLAB">GITLAB</a></code> | Create a .gitlab-ci.yaml file. |
2328
+ | <code><a href="#projen-pipelines.PipelineEngine.BASH">BASH</a></code> | Create bash scripts. |
1873
2329
 
1874
2330
  ---
1875
2331
 
@@ -1886,3 +2342,10 @@ Create a .gitlab-ci.yaml file.
1886
2342
 
1887
2343
  ---
1888
2344
 
2345
+
2346
+ ##### `BASH` <a name="BASH" id="projen-pipelines.PipelineEngine.BASH"></a>
2347
+
2348
+ Create bash scripts.
2349
+
2350
+ ---
2351
+