@xpertss/projen-types 0.0.19 → 0.0.21
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/.jsii +193 -46
- package/API.md +302 -10
- package/README.md +10 -3
- package/lib/actions/action-build-workflow.js +1 -1
- package/lib/actions/action-dogfood-workflow.d.ts +12 -2
- package/lib/actions/action-dogfood-workflow.js +3 -3
- package/lib/actions/action-sonar-workflow.d.ts +7 -0
- package/lib/actions/action-sonar-workflow.js +4 -2
- package/lib/actions/github-action-project.d.ts +20 -2
- package/lib/actions/github-action-project.js +5 -3
- package/lib/cdk/app-runtime-scaffold.js +1 -1
- package/lib/cdk/cdk-app-project.js +1 -1
- package/lib/cdk/cdk-infra-project.js +1 -1
- package/lib/cdk/cdk-typescript-base.js +13 -2
- package/lib/cdk/components/ecr-ecs-constructs.js +1 -1
- package/lib/cdk/components/edge-networking-constructs.js +1 -1
- package/lib/cdk/database-component.js +1 -1
- package/lib/cdk/options.d.ts +20 -0
- package/lib/cdk/options.js +1 -1
- package/lib/common/projen-drift-check-workflow.js +1 -1
- package/lib/common/workflow-change-notice-workflow.js +1 -1
- package/lib/java/components/cdk-deploy-hook.js +1 -1
- package/lib/java/components/code-index-workflow.js +1 -1
- package/lib/java/components/docker-publish.js +1 -1
- package/lib/java/components/flyway-migration.js +1 -1
- package/lib/java/components/github-packages-publish.js +1 -1
- package/lib/java/components/maven-central-publish.js +1 -1
- package/lib/java/components/maven-upgrade-report.js +1 -1
- package/lib/java/java-app-project.js +1 -1
- package/lib/java/java-library-project.js +1 -1
- package/lib/java/java-maven-base.js +3 -3
- package/lib/java/java-service-project.js +1 -1
- package/lib/java/java-spring-boot-project.js +1 -1
- package/lib/java/maven/maven-module.js +1 -1
- package/lib/java/maven/maven-pom.js +1 -1
- package/lib/java/options.d.ts +1 -1
- package/lib/java/options.js +1 -1
- package/package.json +1 -1
package/API.md
CHANGED
|
@@ -15078,7 +15078,7 @@ const actionDogfoodOptions: ActionDogfoodOptions = { ... }
|
|
|
15078
15078
|
|
|
15079
15079
|
| **Name** | **Type** | **Description** |
|
|
15080
15080
|
| --- | --- | --- |
|
|
15081
|
-
| <code><a href="#@xpertss/projen-types.ActionDogfoodOptions.property.cleanup">cleanup</a></code> | <code>string[]</code> | Shell cleanup, run once at the end with `if: always()
|
|
15081
|
+
| <code><a href="#@xpertss/projen-types.ActionDogfoodOptions.property.cleanup">cleanup</a></code> | <code>string[]</code> | Shell cleanup, run once at the end with `if: always()` so repeated runs start clean. |
|
|
15082
15082
|
| <code><a href="#@xpertss/projen-types.ActionDogfoodOptions.property.scenario">scenario</a></code> | <code><a href="#@xpertss/projen-types.ActionDogfoodStep">ActionDogfoodStep</a>[]</code> | One or more scenario steps, run in order, in the dogfood job. |
|
|
15083
15083
|
|
|
15084
15084
|
---
|
|
@@ -15091,7 +15091,11 @@ public readonly cleanup: string[];
|
|
|
15091
15091
|
|
|
15092
15092
|
- *Type:* string[]
|
|
15093
15093
|
|
|
15094
|
-
Shell cleanup, run once at the end with `if: always()
|
|
15094
|
+
Shell cleanup, run once at the end with `if: always()` so repeated runs start clean.
|
|
15095
|
+
|
|
15096
|
+
Intentionally **best-effort**: unlike the assert step it does
|
|
15097
|
+
*not* run under `set -e`, so a failing line (e.g. deleting an already
|
|
15098
|
+
deleted ref) does not fail the job.
|
|
15095
15099
|
|
|
15096
15100
|
---
|
|
15097
15101
|
|
|
@@ -15141,6 +15145,10 @@ public readonly assertions: string[];
|
|
|
15141
15145
|
|
|
15142
15146
|
Shell assertions after this invocation - the job fails unless every one exits 0.
|
|
15143
15147
|
|
|
15148
|
+
The generated step runs under `set -euo pipefail`, so a failing
|
|
15149
|
+
assertion fails the step immediately rather than being masked by a later,
|
|
15150
|
+
passing one.
|
|
15151
|
+
|
|
15144
15152
|
---
|
|
15145
15153
|
|
|
15146
15154
|
##### `name`<sup>Required</sup> <a name="name" id="@xpertss/projen-types.ActionDogfoodStep.property.name"></a>
|
|
@@ -15209,6 +15217,7 @@ const actionSonarWorkflowOptions: ActionSonarWorkflowOptions = { ... }
|
|
|
15209
15217
|
| **Name** | **Type** | **Description** |
|
|
15210
15218
|
| --- | --- | --- |
|
|
15211
15219
|
| <code><a href="#@xpertss/projen-types.ActionSonarWorkflowOptions.property.sonarHostUrl">sonarHostUrl</a></code> | <code>string</code> | URL of the org's SonarCloud instance (e.g. `https://sonarcloud.io`). Required, no default - a guessed server is worse than a loud failure. |
|
|
15220
|
+
| <code><a href="#@xpertss/projen-types.ActionSonarWorkflowOptions.property.sonarOrganization">sonarOrganization</a></code> | <code>string</code> | SonarCloud organization key (`sonar.organization`). Mandatory for the Scanner CLI on SonarCloud - it is not derived from the token, so a scan without it always fails. |
|
|
15212
15221
|
| <code><a href="#@xpertss/projen-types.ActionSonarWorkflowOptions.property.sonarPullRequestGate">sonarPullRequestGate</a></code> | <code>boolean</code> | Whether `sonar.yml` also runs on `pull_request` as a pass/fail gate. |
|
|
15213
15222
|
| <code><a href="#@xpertss/projen-types.ActionSonarWorkflowOptions.property.sonarTokenSecret">sonarTokenSecret</a></code> | <code>string</code> | *No description.* |
|
|
15214
15223
|
|
|
@@ -15226,6 +15235,19 @@ URL of the org's SonarCloud instance (e.g. `https://sonarcloud.io`). Required, n
|
|
|
15226
15235
|
|
|
15227
15236
|
---
|
|
15228
15237
|
|
|
15238
|
+
##### `sonarOrganization`<sup>Optional</sup> <a name="sonarOrganization" id="@xpertss/projen-types.ActionSonarWorkflowOptions.property.sonarOrganization"></a>
|
|
15239
|
+
|
|
15240
|
+
```typescript
|
|
15241
|
+
public readonly sonarOrganization: string;
|
|
15242
|
+
```
|
|
15243
|
+
|
|
15244
|
+
- *Type:* string
|
|
15245
|
+
- *Default:* "xpertss"
|
|
15246
|
+
|
|
15247
|
+
SonarCloud organization key (`sonar.organization`). Mandatory for the Scanner CLI on SonarCloud - it is not derived from the token, so a scan without it always fails.
|
|
15248
|
+
|
|
15249
|
+
---
|
|
15250
|
+
|
|
15229
15251
|
##### `sonarPullRequestGate`<sup>Optional</sup> <a name="sonarPullRequestGate" id="@xpertss/projen-types.ActionSonarWorkflowOptions.property.sonarPullRequestGate"></a>
|
|
15230
15252
|
|
|
15231
15253
|
```typescript
|
|
@@ -15266,8 +15288,12 @@ const cdkAppProjectOptions: CdkAppProjectOptions = { ... }
|
|
|
15266
15288
|
| --- | --- | --- |
|
|
15267
15289
|
| <code><a href="#@xpertss/projen-types.CdkAppProjectOptions.property.name">name</a></code> | <code>string</code> | *No description.* |
|
|
15268
15290
|
| <code><a href="#@xpertss/projen-types.CdkAppProjectOptions.property.cdkVersion">cdkVersion</a></code> | <code>string</code> | *No description.* |
|
|
15291
|
+
| <code><a href="#@xpertss/projen-types.CdkAppProjectOptions.property.copyrightOwner">copyrightOwner</a></code> | <code>string</code> | Copyright owner named in the `LICENSE`. |
|
|
15292
|
+
| <code><a href="#@xpertss/projen-types.CdkAppProjectOptions.property.copyrightPeriod">copyrightPeriod</a></code> | <code>string</code> | Copyright period named in the `LICENSE`. |
|
|
15269
15293
|
| <code><a href="#@xpertss/projen-types.CdkAppProjectOptions.property.editorconfig">editorconfig</a></code> | <code>boolean</code> | Write a projen-managed `.editorconfig`. |
|
|
15270
15294
|
| <code><a href="#@xpertss/projen-types.CdkAppProjectOptions.property.gheTokenSecret">gheTokenSecret</a></code> | <code>string</code> | *No description.* |
|
|
15295
|
+
| <code><a href="#@xpertss/projen-types.CdkAppProjectOptions.property.license">license</a></code> | <code>string</code> | SPDX identifier for the generated `LICENSE`. |
|
|
15296
|
+
| <code><a href="#@xpertss/projen-types.CdkAppProjectOptions.property.licensed">licensed</a></code> | <code>boolean</code> | Write a `LICENSE`. |
|
|
15271
15297
|
| <code><a href="#@xpertss/projen-types.CdkAppProjectOptions.property.ecrEcs">ecrEcs</a></code> | <code><a href="#@xpertss/projen-types.EcrEcsOptions">EcrEcsOptions</a></code> | *No description.* |
|
|
15272
15298
|
| <code><a href="#@xpertss/projen-types.CdkAppProjectOptions.property.edgeResources">edgeResources</a></code> | <code>string[]</code> | *No description.* |
|
|
15273
15299
|
| <code><a href="#@xpertss/projen-types.CdkAppProjectOptions.property.environments">environments</a></code> | <code>string \| <a href="#@xpertss/projen-types.EnvironmentOptions">EnvironmentOptions</a>[]</code> | Deploy targets for the manual-dispatch deploy workflow, e.g. ["dev", "stage", "prod"]. No `deploy` workflow is generated when this is empty or omitted. |
|
|
@@ -15297,6 +15323,32 @@ public readonly cdkVersion: string;
|
|
|
15297
15323
|
|
|
15298
15324
|
---
|
|
15299
15325
|
|
|
15326
|
+
##### `copyrightOwner`<sup>Optional</sup> <a name="copyrightOwner" id="@xpertss/projen-types.CdkAppProjectOptions.property.copyrightOwner"></a>
|
|
15327
|
+
|
|
15328
|
+
```typescript
|
|
15329
|
+
public readonly copyrightOwner: string;
|
|
15330
|
+
```
|
|
15331
|
+
|
|
15332
|
+
- *Type:* string
|
|
15333
|
+
- *Default:* "Xpert Software"
|
|
15334
|
+
|
|
15335
|
+
Copyright owner named in the `LICENSE`.
|
|
15336
|
+
|
|
15337
|
+
---
|
|
15338
|
+
|
|
15339
|
+
##### `copyrightPeriod`<sup>Optional</sup> <a name="copyrightPeriod" id="@xpertss/projen-types.CdkAppProjectOptions.property.copyrightPeriod"></a>
|
|
15340
|
+
|
|
15341
|
+
```typescript
|
|
15342
|
+
public readonly copyrightPeriod: string;
|
|
15343
|
+
```
|
|
15344
|
+
|
|
15345
|
+
- *Type:* string
|
|
15346
|
+
- *Default:* the current year
|
|
15347
|
+
|
|
15348
|
+
Copyright period named in the `LICENSE`.
|
|
15349
|
+
|
|
15350
|
+
---
|
|
15351
|
+
|
|
15300
15352
|
##### `editorconfig`<sup>Optional</sup> <a name="editorconfig" id="@xpertss/projen-types.CdkAppProjectOptions.property.editorconfig"></a>
|
|
15301
15353
|
|
|
15302
15354
|
```typescript
|
|
@@ -15321,6 +15373,32 @@ public readonly gheTokenSecret: string;
|
|
|
15321
15373
|
|
|
15322
15374
|
---
|
|
15323
15375
|
|
|
15376
|
+
##### `license`<sup>Optional</sup> <a name="license" id="@xpertss/projen-types.CdkAppProjectOptions.property.license"></a>
|
|
15377
|
+
|
|
15378
|
+
```typescript
|
|
15379
|
+
public readonly license: string;
|
|
15380
|
+
```
|
|
15381
|
+
|
|
15382
|
+
- *Type:* string
|
|
15383
|
+
- *Default:* "MIT"
|
|
15384
|
+
|
|
15385
|
+
SPDX identifier for the generated `LICENSE`.
|
|
15386
|
+
|
|
15387
|
+
---
|
|
15388
|
+
|
|
15389
|
+
##### `licensed`<sup>Optional</sup> <a name="licensed" id="@xpertss/projen-types.CdkAppProjectOptions.property.licensed"></a>
|
|
15390
|
+
|
|
15391
|
+
```typescript
|
|
15392
|
+
public readonly licensed: boolean;
|
|
15393
|
+
```
|
|
15394
|
+
|
|
15395
|
+
- *Type:* boolean
|
|
15396
|
+
- *Default:* true
|
|
15397
|
+
|
|
15398
|
+
Write a `LICENSE`.
|
|
15399
|
+
|
|
15400
|
+
---
|
|
15401
|
+
|
|
15324
15402
|
##### `ecrEcs`<sup>Optional</sup> <a name="ecrEcs" id="@xpertss/projen-types.CdkAppProjectOptions.property.ecrEcs"></a>
|
|
15325
15403
|
|
|
15326
15404
|
```typescript
|
|
@@ -15428,8 +15506,12 @@ const cdkInfraProjectOptions: CdkInfraProjectOptions = { ... }
|
|
|
15428
15506
|
| --- | --- | --- |
|
|
15429
15507
|
| <code><a href="#@xpertss/projen-types.CdkInfraProjectOptions.property.name">name</a></code> | <code>string</code> | *No description.* |
|
|
15430
15508
|
| <code><a href="#@xpertss/projen-types.CdkInfraProjectOptions.property.cdkVersion">cdkVersion</a></code> | <code>string</code> | *No description.* |
|
|
15509
|
+
| <code><a href="#@xpertss/projen-types.CdkInfraProjectOptions.property.copyrightOwner">copyrightOwner</a></code> | <code>string</code> | Copyright owner named in the `LICENSE`. |
|
|
15510
|
+
| <code><a href="#@xpertss/projen-types.CdkInfraProjectOptions.property.copyrightPeriod">copyrightPeriod</a></code> | <code>string</code> | Copyright period named in the `LICENSE`. |
|
|
15431
15511
|
| <code><a href="#@xpertss/projen-types.CdkInfraProjectOptions.property.editorconfig">editorconfig</a></code> | <code>boolean</code> | Write a projen-managed `.editorconfig`. |
|
|
15432
15512
|
| <code><a href="#@xpertss/projen-types.CdkInfraProjectOptions.property.gheTokenSecret">gheTokenSecret</a></code> | <code>string</code> | *No description.* |
|
|
15513
|
+
| <code><a href="#@xpertss/projen-types.CdkInfraProjectOptions.property.license">license</a></code> | <code>string</code> | SPDX identifier for the generated `LICENSE`. |
|
|
15514
|
+
| <code><a href="#@xpertss/projen-types.CdkInfraProjectOptions.property.licensed">licensed</a></code> | <code>boolean</code> | Write a `LICENSE`. |
|
|
15433
15515
|
| <code><a href="#@xpertss/projen-types.CdkInfraProjectOptions.property.ecrEcs">ecrEcs</a></code> | <code><a href="#@xpertss/projen-types.EcrEcsOptions">EcrEcsOptions</a></code> | *No description.* |
|
|
15434
15516
|
| <code><a href="#@xpertss/projen-types.CdkInfraProjectOptions.property.edgeResources">edgeResources</a></code> | <code>string[]</code> | *No description.* |
|
|
15435
15517
|
| <code><a href="#@xpertss/projen-types.CdkInfraProjectOptions.property.environments">environments</a></code> | <code>string \| <a href="#@xpertss/projen-types.EnvironmentOptions">EnvironmentOptions</a>[]</code> | Deploy targets for the manual-dispatch deploy workflow, e.g. ["dev", "stage", "prod"]. No `deploy` workflow is generated when this is empty or omitted. |
|
|
@@ -15457,6 +15539,32 @@ public readonly cdkVersion: string;
|
|
|
15457
15539
|
|
|
15458
15540
|
---
|
|
15459
15541
|
|
|
15542
|
+
##### `copyrightOwner`<sup>Optional</sup> <a name="copyrightOwner" id="@xpertss/projen-types.CdkInfraProjectOptions.property.copyrightOwner"></a>
|
|
15543
|
+
|
|
15544
|
+
```typescript
|
|
15545
|
+
public readonly copyrightOwner: string;
|
|
15546
|
+
```
|
|
15547
|
+
|
|
15548
|
+
- *Type:* string
|
|
15549
|
+
- *Default:* "Xpert Software"
|
|
15550
|
+
|
|
15551
|
+
Copyright owner named in the `LICENSE`.
|
|
15552
|
+
|
|
15553
|
+
---
|
|
15554
|
+
|
|
15555
|
+
##### `copyrightPeriod`<sup>Optional</sup> <a name="copyrightPeriod" id="@xpertss/projen-types.CdkInfraProjectOptions.property.copyrightPeriod"></a>
|
|
15556
|
+
|
|
15557
|
+
```typescript
|
|
15558
|
+
public readonly copyrightPeriod: string;
|
|
15559
|
+
```
|
|
15560
|
+
|
|
15561
|
+
- *Type:* string
|
|
15562
|
+
- *Default:* the current year
|
|
15563
|
+
|
|
15564
|
+
Copyright period named in the `LICENSE`.
|
|
15565
|
+
|
|
15566
|
+
---
|
|
15567
|
+
|
|
15460
15568
|
##### `editorconfig`<sup>Optional</sup> <a name="editorconfig" id="@xpertss/projen-types.CdkInfraProjectOptions.property.editorconfig"></a>
|
|
15461
15569
|
|
|
15462
15570
|
```typescript
|
|
@@ -15481,6 +15589,32 @@ public readonly gheTokenSecret: string;
|
|
|
15481
15589
|
|
|
15482
15590
|
---
|
|
15483
15591
|
|
|
15592
|
+
##### `license`<sup>Optional</sup> <a name="license" id="@xpertss/projen-types.CdkInfraProjectOptions.property.license"></a>
|
|
15593
|
+
|
|
15594
|
+
```typescript
|
|
15595
|
+
public readonly license: string;
|
|
15596
|
+
```
|
|
15597
|
+
|
|
15598
|
+
- *Type:* string
|
|
15599
|
+
- *Default:* "MIT"
|
|
15600
|
+
|
|
15601
|
+
SPDX identifier for the generated `LICENSE`.
|
|
15602
|
+
|
|
15603
|
+
---
|
|
15604
|
+
|
|
15605
|
+
##### `licensed`<sup>Optional</sup> <a name="licensed" id="@xpertss/projen-types.CdkInfraProjectOptions.property.licensed"></a>
|
|
15606
|
+
|
|
15607
|
+
```typescript
|
|
15608
|
+
public readonly licensed: boolean;
|
|
15609
|
+
```
|
|
15610
|
+
|
|
15611
|
+
- *Type:* boolean
|
|
15612
|
+
- *Default:* true
|
|
15613
|
+
|
|
15614
|
+
Write a `LICENSE`.
|
|
15615
|
+
|
|
15616
|
+
---
|
|
15617
|
+
|
|
15484
15618
|
##### `ecrEcs`<sup>Optional</sup> <a name="ecrEcs" id="@xpertss/projen-types.CdkInfraProjectOptions.property.ecrEcs"></a>
|
|
15485
15619
|
|
|
15486
15620
|
```typescript
|
|
@@ -15536,8 +15670,12 @@ const cdkTypescriptProjectOptions: CdkTypescriptProjectOptions = { ... }
|
|
|
15536
15670
|
| --- | --- | --- |
|
|
15537
15671
|
| <code><a href="#@xpertss/projen-types.CdkTypescriptProjectOptions.property.name">name</a></code> | <code>string</code> | *No description.* |
|
|
15538
15672
|
| <code><a href="#@xpertss/projen-types.CdkTypescriptProjectOptions.property.cdkVersion">cdkVersion</a></code> | <code>string</code> | *No description.* |
|
|
15673
|
+
| <code><a href="#@xpertss/projen-types.CdkTypescriptProjectOptions.property.copyrightOwner">copyrightOwner</a></code> | <code>string</code> | Copyright owner named in the `LICENSE`. |
|
|
15674
|
+
| <code><a href="#@xpertss/projen-types.CdkTypescriptProjectOptions.property.copyrightPeriod">copyrightPeriod</a></code> | <code>string</code> | Copyright period named in the `LICENSE`. |
|
|
15539
15675
|
| <code><a href="#@xpertss/projen-types.CdkTypescriptProjectOptions.property.editorconfig">editorconfig</a></code> | <code>boolean</code> | Write a projen-managed `.editorconfig`. |
|
|
15540
15676
|
| <code><a href="#@xpertss/projen-types.CdkTypescriptProjectOptions.property.gheTokenSecret">gheTokenSecret</a></code> | <code>string</code> | *No description.* |
|
|
15677
|
+
| <code><a href="#@xpertss/projen-types.CdkTypescriptProjectOptions.property.license">license</a></code> | <code>string</code> | SPDX identifier for the generated `LICENSE`. |
|
|
15678
|
+
| <code><a href="#@xpertss/projen-types.CdkTypescriptProjectOptions.property.licensed">licensed</a></code> | <code>boolean</code> | Write a `LICENSE`. |
|
|
15541
15679
|
| <code><a href="#@xpertss/projen-types.CdkTypescriptProjectOptions.property.environments">environments</a></code> | <code>string \| <a href="#@xpertss/projen-types.EnvironmentOptions">EnvironmentOptions</a>[]</code> | *No description.* |
|
|
15542
15680
|
|
|
15543
15681
|
---
|
|
@@ -15563,6 +15701,32 @@ public readonly cdkVersion: string;
|
|
|
15563
15701
|
|
|
15564
15702
|
---
|
|
15565
15703
|
|
|
15704
|
+
##### `copyrightOwner`<sup>Optional</sup> <a name="copyrightOwner" id="@xpertss/projen-types.CdkTypescriptProjectOptions.property.copyrightOwner"></a>
|
|
15705
|
+
|
|
15706
|
+
```typescript
|
|
15707
|
+
public readonly copyrightOwner: string;
|
|
15708
|
+
```
|
|
15709
|
+
|
|
15710
|
+
- *Type:* string
|
|
15711
|
+
- *Default:* "Xpert Software"
|
|
15712
|
+
|
|
15713
|
+
Copyright owner named in the `LICENSE`.
|
|
15714
|
+
|
|
15715
|
+
---
|
|
15716
|
+
|
|
15717
|
+
##### `copyrightPeriod`<sup>Optional</sup> <a name="copyrightPeriod" id="@xpertss/projen-types.CdkTypescriptProjectOptions.property.copyrightPeriod"></a>
|
|
15718
|
+
|
|
15719
|
+
```typescript
|
|
15720
|
+
public readonly copyrightPeriod: string;
|
|
15721
|
+
```
|
|
15722
|
+
|
|
15723
|
+
- *Type:* string
|
|
15724
|
+
- *Default:* the current year
|
|
15725
|
+
|
|
15726
|
+
Copyright period named in the `LICENSE`.
|
|
15727
|
+
|
|
15728
|
+
---
|
|
15729
|
+
|
|
15566
15730
|
##### `editorconfig`<sup>Optional</sup> <a name="editorconfig" id="@xpertss/projen-types.CdkTypescriptProjectOptions.property.editorconfig"></a>
|
|
15567
15731
|
|
|
15568
15732
|
```typescript
|
|
@@ -15587,6 +15751,32 @@ public readonly gheTokenSecret: string;
|
|
|
15587
15751
|
|
|
15588
15752
|
---
|
|
15589
15753
|
|
|
15754
|
+
##### `license`<sup>Optional</sup> <a name="license" id="@xpertss/projen-types.CdkTypescriptProjectOptions.property.license"></a>
|
|
15755
|
+
|
|
15756
|
+
```typescript
|
|
15757
|
+
public readonly license: string;
|
|
15758
|
+
```
|
|
15759
|
+
|
|
15760
|
+
- *Type:* string
|
|
15761
|
+
- *Default:* "MIT"
|
|
15762
|
+
|
|
15763
|
+
SPDX identifier for the generated `LICENSE`.
|
|
15764
|
+
|
|
15765
|
+
---
|
|
15766
|
+
|
|
15767
|
+
##### `licensed`<sup>Optional</sup> <a name="licensed" id="@xpertss/projen-types.CdkTypescriptProjectOptions.property.licensed"></a>
|
|
15768
|
+
|
|
15769
|
+
```typescript
|
|
15770
|
+
public readonly licensed: boolean;
|
|
15771
|
+
```
|
|
15772
|
+
|
|
15773
|
+
- *Type:* boolean
|
|
15774
|
+
- *Default:* true
|
|
15775
|
+
|
|
15776
|
+
Write a `LICENSE`.
|
|
15777
|
+
|
|
15778
|
+
---
|
|
15779
|
+
|
|
15590
15780
|
##### `environments`<sup>Optional</sup> <a name="environments" id="@xpertss/projen-types.CdkTypescriptProjectOptions.property.environments"></a>
|
|
15591
15781
|
|
|
15592
15782
|
```typescript
|
|
@@ -15613,8 +15803,12 @@ const commonCdkOptions: CommonCdkOptions = { ... }
|
|
|
15613
15803
|
| --- | --- | --- |
|
|
15614
15804
|
| <code><a href="#@xpertss/projen-types.CommonCdkOptions.property.name">name</a></code> | <code>string</code> | *No description.* |
|
|
15615
15805
|
| <code><a href="#@xpertss/projen-types.CommonCdkOptions.property.cdkVersion">cdkVersion</a></code> | <code>string</code> | *No description.* |
|
|
15806
|
+
| <code><a href="#@xpertss/projen-types.CommonCdkOptions.property.copyrightOwner">copyrightOwner</a></code> | <code>string</code> | Copyright owner named in the `LICENSE`. |
|
|
15807
|
+
| <code><a href="#@xpertss/projen-types.CommonCdkOptions.property.copyrightPeriod">copyrightPeriod</a></code> | <code>string</code> | Copyright period named in the `LICENSE`. |
|
|
15616
15808
|
| <code><a href="#@xpertss/projen-types.CommonCdkOptions.property.editorconfig">editorconfig</a></code> | <code>boolean</code> | Write a projen-managed `.editorconfig`. |
|
|
15617
15809
|
| <code><a href="#@xpertss/projen-types.CommonCdkOptions.property.gheTokenSecret">gheTokenSecret</a></code> | <code>string</code> | *No description.* |
|
|
15810
|
+
| <code><a href="#@xpertss/projen-types.CommonCdkOptions.property.license">license</a></code> | <code>string</code> | SPDX identifier for the generated `LICENSE`. |
|
|
15811
|
+
| <code><a href="#@xpertss/projen-types.CommonCdkOptions.property.licensed">licensed</a></code> | <code>boolean</code> | Write a `LICENSE`. |
|
|
15618
15812
|
|
|
15619
15813
|
---
|
|
15620
15814
|
|
|
@@ -15639,6 +15833,32 @@ public readonly cdkVersion: string;
|
|
|
15639
15833
|
|
|
15640
15834
|
---
|
|
15641
15835
|
|
|
15836
|
+
##### `copyrightOwner`<sup>Optional</sup> <a name="copyrightOwner" id="@xpertss/projen-types.CommonCdkOptions.property.copyrightOwner"></a>
|
|
15837
|
+
|
|
15838
|
+
```typescript
|
|
15839
|
+
public readonly copyrightOwner: string;
|
|
15840
|
+
```
|
|
15841
|
+
|
|
15842
|
+
- *Type:* string
|
|
15843
|
+
- *Default:* "Xpert Software"
|
|
15844
|
+
|
|
15845
|
+
Copyright owner named in the `LICENSE`.
|
|
15846
|
+
|
|
15847
|
+
---
|
|
15848
|
+
|
|
15849
|
+
##### `copyrightPeriod`<sup>Optional</sup> <a name="copyrightPeriod" id="@xpertss/projen-types.CommonCdkOptions.property.copyrightPeriod"></a>
|
|
15850
|
+
|
|
15851
|
+
```typescript
|
|
15852
|
+
public readonly copyrightPeriod: string;
|
|
15853
|
+
```
|
|
15854
|
+
|
|
15855
|
+
- *Type:* string
|
|
15856
|
+
- *Default:* the current year
|
|
15857
|
+
|
|
15858
|
+
Copyright period named in the `LICENSE`.
|
|
15859
|
+
|
|
15860
|
+
---
|
|
15861
|
+
|
|
15642
15862
|
##### `editorconfig`<sup>Optional</sup> <a name="editorconfig" id="@xpertss/projen-types.CommonCdkOptions.property.editorconfig"></a>
|
|
15643
15863
|
|
|
15644
15864
|
```typescript
|
|
@@ -15663,6 +15883,32 @@ public readonly gheTokenSecret: string;
|
|
|
15663
15883
|
|
|
15664
15884
|
---
|
|
15665
15885
|
|
|
15886
|
+
##### `license`<sup>Optional</sup> <a name="license" id="@xpertss/projen-types.CommonCdkOptions.property.license"></a>
|
|
15887
|
+
|
|
15888
|
+
```typescript
|
|
15889
|
+
public readonly license: string;
|
|
15890
|
+
```
|
|
15891
|
+
|
|
15892
|
+
- *Type:* string
|
|
15893
|
+
- *Default:* "MIT"
|
|
15894
|
+
|
|
15895
|
+
SPDX identifier for the generated `LICENSE`.
|
|
15896
|
+
|
|
15897
|
+
---
|
|
15898
|
+
|
|
15899
|
+
##### `licensed`<sup>Optional</sup> <a name="licensed" id="@xpertss/projen-types.CommonCdkOptions.property.licensed"></a>
|
|
15900
|
+
|
|
15901
|
+
```typescript
|
|
15902
|
+
public readonly licensed: boolean;
|
|
15903
|
+
```
|
|
15904
|
+
|
|
15905
|
+
- *Type:* boolean
|
|
15906
|
+
- *Default:* true
|
|
15907
|
+
|
|
15908
|
+
Write a `LICENSE`.
|
|
15909
|
+
|
|
15910
|
+
---
|
|
15911
|
+
|
|
15666
15912
|
### CommonJavaOptions <a name="CommonJavaOptions" id="@xpertss/projen-types.CommonJavaOptions"></a>
|
|
15667
15913
|
|
|
15668
15914
|
#### Initializer <a name="Initializer" id="@xpertss/projen-types.CommonJavaOptions.Initializer"></a>
|
|
@@ -15738,7 +15984,7 @@ public readonly copyrightOwner: string;
|
|
|
15738
15984
|
```
|
|
15739
15985
|
|
|
15740
15986
|
- *Type:* string
|
|
15741
|
-
- *Default:* "
|
|
15987
|
+
- *Default:* "Xpert Software"
|
|
15742
15988
|
|
|
15743
15989
|
Copyright owner named in the `LICENSE`.
|
|
15744
15990
|
|
|
@@ -16206,11 +16452,14 @@ const gitHubActionProjectOptions: GitHubActionProjectOptions = { ... }
|
|
|
16206
16452
|
| <code><a href="#@xpertss/projen-types.GitHubActionProjectOptions.property.staleOptions">staleOptions</a></code> | <code>projen.github.StaleOptions</code> | Auto-close stale issues and pull requests. |
|
|
16207
16453
|
| <code><a href="#@xpertss/projen-types.GitHubActionProjectOptions.property.vscode">vscode</a></code> | <code>boolean</code> | Enable VSCode integration. |
|
|
16208
16454
|
| <code><a href="#@xpertss/projen-types.GitHubActionProjectOptions.property.sonarHostUrl">sonarHostUrl</a></code> | <code>string</code> | URL of the org's SonarCloud instance (e.g. `https://sonarcloud.io`). MUST be reachable from github.com-hosted (public) runners (AD-001). Required, no default: a guessed server is worse than a loud failure. |
|
|
16455
|
+
| <code><a href="#@xpertss/projen-types.GitHubActionProjectOptions.property.copyrightOwner">copyrightOwner</a></code> | <code>string</code> | Copyright owner named in the `LICENSE`. |
|
|
16456
|
+
| <code><a href="#@xpertss/projen-types.GitHubActionProjectOptions.property.copyrightPeriod">copyrightPeriod</a></code> | <code>string</code> | Copyright period named in the `LICENSE`. |
|
|
16209
16457
|
| <code><a href="#@xpertss/projen-types.GitHubActionProjectOptions.property.description">description</a></code> | <code>string</code> | One-line description of the action. |
|
|
16210
16458
|
| <code><a href="#@xpertss/projen-types.GitHubActionProjectOptions.property.dogfood">dogfood</a></code> | <code><a href="#@xpertss/projen-types.ActionDogfoodOptions">ActionDogfoodOptions</a></code> | The dogfood scenario (AD-001). |
|
|
16211
16459
|
| <code><a href="#@xpertss/projen-types.GitHubActionProjectOptions.property.editorconfig">editorconfig</a></code> | <code>boolean</code> | Write a projen-managed `.editorconfig`. |
|
|
16212
|
-
| <code><a href="#@xpertss/projen-types.GitHubActionProjectOptions.property.gheTokenSecret">gheTokenSecret</a></code> | <code>string</code> | Name of the GitHub Actions secret holding the PAT used for projen-automation PR comments (F003) and
|
|
16460
|
+
| <code><a href="#@xpertss/projen-types.GitHubActionProjectOptions.property.gheTokenSecret">gheTokenSecret</a></code> | <code>string</code> | Name of the GitHub Actions secret holding the PAT used for projen-automation PR comments (F003) and the drift-check's PR comments. |
|
|
16213
16461
|
| <code><a href="#@xpertss/projen-types.GitHubActionProjectOptions.property.license">license</a></code> | <code>string</code> | SPDX identifier for the generated `LICENSE`. |
|
|
16462
|
+
| <code><a href="#@xpertss/projen-types.GitHubActionProjectOptions.property.sonarOrganization">sonarOrganization</a></code> | <code>string</code> | SonarCloud organization key (`sonar.organization`), required by the Scanner CLI on SonarCloud. |
|
|
16214
16463
|
| <code><a href="#@xpertss/projen-types.GitHubActionProjectOptions.property.sonarPullRequestGate">sonarPullRequestGate</a></code> | <code>boolean</code> | Whether `sonar.yml` also runs on `pull_request` as a pass/fail gate. |
|
|
16215
16464
|
| <code><a href="#@xpertss/projen-types.GitHubActionProjectOptions.property.sonarTokenSecret">sonarTokenSecret</a></code> | <code>string</code> | *No description.* |
|
|
16216
16465
|
|
|
@@ -16596,6 +16845,32 @@ URL of the org's SonarCloud instance (e.g. `https://sonarcloud.io`). MUST be rea
|
|
|
16596
16845
|
|
|
16597
16846
|
---
|
|
16598
16847
|
|
|
16848
|
+
##### `copyrightOwner`<sup>Optional</sup> <a name="copyrightOwner" id="@xpertss/projen-types.GitHubActionProjectOptions.property.copyrightOwner"></a>
|
|
16849
|
+
|
|
16850
|
+
```typescript
|
|
16851
|
+
public readonly copyrightOwner: string;
|
|
16852
|
+
```
|
|
16853
|
+
|
|
16854
|
+
- *Type:* string
|
|
16855
|
+
- *Default:* "Xpert Software"
|
|
16856
|
+
|
|
16857
|
+
Copyright owner named in the `LICENSE`.
|
|
16858
|
+
|
|
16859
|
+
---
|
|
16860
|
+
|
|
16861
|
+
##### `copyrightPeriod`<sup>Optional</sup> <a name="copyrightPeriod" id="@xpertss/projen-types.GitHubActionProjectOptions.property.copyrightPeriod"></a>
|
|
16862
|
+
|
|
16863
|
+
```typescript
|
|
16864
|
+
public readonly copyrightPeriod: string;
|
|
16865
|
+
```
|
|
16866
|
+
|
|
16867
|
+
- *Type:* string
|
|
16868
|
+
- *Default:* the current year
|
|
16869
|
+
|
|
16870
|
+
Copyright period named in the `LICENSE`.
|
|
16871
|
+
|
|
16872
|
+
---
|
|
16873
|
+
|
|
16599
16874
|
##### `description`<sup>Optional</sup> <a name="description" id="@xpertss/projen-types.GitHubActionProjectOptions.property.description"></a>
|
|
16600
16875
|
|
|
16601
16876
|
```typescript
|
|
@@ -16657,7 +16932,11 @@ public readonly gheTokenSecret: string;
|
|
|
16657
16932
|
- *Type:* string
|
|
16658
16933
|
- *Default:* "PROJEN_GITHUB_TOKEN"
|
|
16659
16934
|
|
|
16660
|
-
Name of the GitHub Actions secret holding the PAT used for projen-automation PR comments (F003) and
|
|
16935
|
+
Name of the GitHub Actions secret holding the PAT used for projen-automation PR comments (F003) and the drift-check's PR comments.
|
|
16936
|
+
|
|
16937
|
+
It is **not** wired into the dogfood automatically: a dogfood that invokes
|
|
16938
|
+
an action with a `token` input must reference this secret in the step's
|
|
16939
|
+
`inputs` (e.g. `token: '${{ secrets.PROJEN_GITHUB_TOKEN }}'`).
|
|
16661
16940
|
|
|
16662
16941
|
---
|
|
16663
16942
|
|
|
@@ -16674,6 +16953,19 @@ SPDX identifier for the generated `LICENSE`.
|
|
|
16674
16953
|
|
|
16675
16954
|
---
|
|
16676
16955
|
|
|
16956
|
+
##### `sonarOrganization`<sup>Optional</sup> <a name="sonarOrganization" id="@xpertss/projen-types.GitHubActionProjectOptions.property.sonarOrganization"></a>
|
|
16957
|
+
|
|
16958
|
+
```typescript
|
|
16959
|
+
public readonly sonarOrganization: string;
|
|
16960
|
+
```
|
|
16961
|
+
|
|
16962
|
+
- *Type:* string
|
|
16963
|
+
- *Default:* "xpertss"
|
|
16964
|
+
|
|
16965
|
+
SonarCloud organization key (`sonar.organization`), required by the Scanner CLI on SonarCloud.
|
|
16966
|
+
|
|
16967
|
+
---
|
|
16968
|
+
|
|
16677
16969
|
##### `sonarPullRequestGate`<sup>Optional</sup> <a name="sonarPullRequestGate" id="@xpertss/projen-types.GitHubActionProjectOptions.property.sonarPullRequestGate"></a>
|
|
16678
16970
|
|
|
16679
16971
|
```typescript
|
|
@@ -16803,7 +17095,7 @@ public readonly copyrightOwner: string;
|
|
|
16803
17095
|
```
|
|
16804
17096
|
|
|
16805
17097
|
- *Type:* string
|
|
16806
|
-
- *Default:* "
|
|
17098
|
+
- *Default:* "Xpert Software"
|
|
16807
17099
|
|
|
16808
17100
|
Copyright owner named in the `LICENSE`.
|
|
16809
17101
|
|
|
@@ -17132,7 +17424,7 @@ public readonly copyrightOwner: string;
|
|
|
17132
17424
|
```
|
|
17133
17425
|
|
|
17134
17426
|
- *Type:* string
|
|
17135
|
-
- *Default:* "
|
|
17427
|
+
- *Default:* "Xpert Software"
|
|
17136
17428
|
|
|
17137
17429
|
Copyright owner named in the `LICENSE`.
|
|
17138
17430
|
|
|
@@ -17473,7 +17765,7 @@ public readonly copyrightOwner: string;
|
|
|
17473
17765
|
```
|
|
17474
17766
|
|
|
17475
17767
|
- *Type:* string
|
|
17476
|
-
- *Default:* "
|
|
17768
|
+
- *Default:* "Xpert Software"
|
|
17477
17769
|
|
|
17478
17770
|
Copyright owner named in the `LICENSE`.
|
|
17479
17771
|
|
|
@@ -17795,7 +18087,7 @@ public readonly copyrightOwner: string;
|
|
|
17795
18087
|
```
|
|
17796
18088
|
|
|
17797
18089
|
- *Type:* string
|
|
17798
|
-
- *Default:* "
|
|
18090
|
+
- *Default:* "Xpert Software"
|
|
17799
18091
|
|
|
17800
18092
|
Copyright owner named in the `LICENSE`.
|
|
17801
18093
|
|
|
@@ -18195,7 +18487,7 @@ public readonly copyrightOwner: string;
|
|
|
18195
18487
|
```
|
|
18196
18488
|
|
|
18197
18489
|
- *Type:* string
|
|
18198
|
-
- *Default:* "
|
|
18490
|
+
- *Default:* "Xpert Software"
|
|
18199
18491
|
|
|
18200
18492
|
Copyright owner named in the `LICENSE`.
|
|
18201
18493
|
|
package/README.md
CHANGED
|
@@ -214,6 +214,7 @@ You get:
|
|
|
214
214
|
- `cdk.json`, `cdk synth` / `cdk diff` / `cdk deploy` tasks, and the standard `AwsCdkTypeScriptApp` layout (CDK 2.189.1 by default).
|
|
215
215
|
- `.github/workflows/build.yml` - PR build that hard-fails on projen drift.
|
|
216
216
|
- `.github/workflows/deploy.yml` - manual dispatch with one `deploy-<env>` job per environment (runs `cdk deploy --all` with `--context environment=<env>`); `requiresApproval` environments get a GitHub Environment approval gate.
|
|
217
|
+
- `LICENSE` (MIT by default), `.editorconfig`, and the projen drift check.
|
|
217
218
|
- `src/constructs/edge-networking.ts` - helper constructs only for the requested `edgeResources` (`cloudfront`, `route53`, `apigateway`, `cognito`, `sqs`).
|
|
218
219
|
- `src/constructs/ecr-ecs.ts` when `ecrEcs.enabled` - ECR repo + Fargate service; `externalImageSource: true` (default) means the service pulls an image built outside this repo.
|
|
219
220
|
|
|
@@ -491,6 +492,7 @@ const project = new GitHubActionProject({
|
|
|
491
492
|
name: 'auto-commit',
|
|
492
493
|
description: 'Stage a folder and, only if it changed, commit and push it',
|
|
493
494
|
sonarHostUrl: 'https://sonarcloud.io', // required, no default - your SonarCloud URL
|
|
495
|
+
sonarOrganization: 'xpertss', // default - your SonarCloud org key
|
|
494
496
|
dogfood: {
|
|
495
497
|
// Two scenario steps: the "changed" path and the "no-op" path are both
|
|
496
498
|
// load-bearing behavior for this action (a double-commit or a
|
|
@@ -608,6 +610,9 @@ CDK project types (`CdkInfraProjectOptions` / `CdkAppProjectOptions`):
|
|
|
608
610
|
| `name` | - (required) | Project name; must match `package.json` |
|
|
609
611
|
| `cdkVersion` | `2.189.1` | AWS CDK version |
|
|
610
612
|
| `gheTokenSecret` | `PROJEN_GITHUB_TOKEN` | GitHub secret holding projen's PAT |
|
|
613
|
+
| `licensed` | `true` | Write a `LICENSE` |
|
|
614
|
+
| `license` | `MIT` | SPDX identifier for the `LICENSE` |
|
|
615
|
+
| `copyrightOwner` / `copyrightPeriod` | `Xpert Software` / current year | Named in the `LICENSE` |
|
|
611
616
|
| `environments` | - (no `deploy` workflow) | Deploy targets for the `deploy` workflow; strings or `EnvironmentOptions` |
|
|
612
617
|
| `ecrEcs` | - | `EcrEcsOptions` - `enabled`, `externalImageSource` (default `true`) |
|
|
613
618
|
| `edgeResources` | - | Subset of `cloudfront`, `route53`, `apigateway`, `cognito`, `sqs` |
|
|
@@ -632,7 +637,7 @@ Java project types (`JavaMavenProjectOptions` and everything built on it - `Java
|
|
|
632
637
|
| `pluginVersions` | - | Exact-version overrides for this package's defaults, keyed by `groupId/artifactId` |
|
|
633
638
|
| `licensed` | `true` | Write a `LICENSE` |
|
|
634
639
|
| `license` | `MIT` | SPDX identifier for the `LICENSE` |
|
|
635
|
-
| `copyrightOwner` / `copyrightPeriod` | `
|
|
640
|
+
| `copyrightOwner` / `copyrightPeriod` | `Xpert Software` / current year | Named in the `LICENSE` |
|
|
636
641
|
| `editorconfig` | `true` | Write a projen-managed `.editorconfig` (also on the CDK and action types) |
|
|
637
642
|
| `upgradeWorkflow` | `true` | Generate the nightly update report (`upgrade.yml`) |
|
|
638
643
|
| `sonarProjectKey` | - | SonarQube project key; the sonar step is skipped when unset |
|
|
@@ -688,11 +693,13 @@ Plain strings (`'dev'`) are shorthand for `{ name: 'dev' }`.
|
|
|
688
693
|
| `name` | - (required) | Project name |
|
|
689
694
|
| `description` | - | One-line description; used in the default README template and recorded in the private `package.json` |
|
|
690
695
|
| `sonarHostUrl` | - (required) | URL of your SonarCloud instance (e.g. `https://sonarcloud.io`); must be reachable from github.com-hosted runners |
|
|
696
|
+
| `sonarOrganization` | `xpertss` | SonarCloud org key (`sonar.organization`); required by the Scanner CLI, not derived from the token |
|
|
691
697
|
| `sonarTokenSecret` | `SONAR_TOKEN` | GitHub secret holding the Sonar token |
|
|
692
698
|
| `sonarPullRequestGate` | `true` | Whether `sonar.yml` also runs on `pull_request` as a pass/fail gate |
|
|
693
699
|
| `dogfood` | - (a `test-dogfood.yml` that fails until you declare one) | `ActionDogfoodOptions` - the scenario that exercises the action end-to-end via `uses: ./` |
|
|
694
700
|
| `license` | `MIT` | SPDX identifier for the generated `LICENSE` |
|
|
695
|
-
| `
|
|
701
|
+
| `copyrightOwner` / `copyrightPeriod` | `Xpert Software` / current year | Named in the `LICENSE` |
|
|
702
|
+
| `gheTokenSecret` | `PROJEN_GITHUB_TOKEN` | GitHub secret holding projen's PAT (drift-check PR comments); a dogfood that passes a `token` input must reference this secret in the step's `inputs` |
|
|
696
703
|
|
|
697
704
|
`ActionDogfoodOptions`/`ActionDogfoodStep` - the dogfood scenario (`test-dogfood.yml`):
|
|
698
705
|
|
|
@@ -707,7 +714,7 @@ interface ActionDogfoodStep {
|
|
|
707
714
|
readonly id?: string; // step id for the `uses: ./` call; default: a slug of `name`
|
|
708
715
|
readonly fixtureSteps?: string[]; // shell, before the invocation (default: none)
|
|
709
716
|
readonly inputs?: Record<string, string>; // `with:` for this invocation (default: none)
|
|
710
|
-
|
|
717
|
+
readonly assertions: string[]; // shell, after the invocation - required; the step runs under set -euo pipefail so any failing line fails the job
|
|
711
718
|
}
|
|
712
719
|
```
|
|
713
720
|
|
|
@@ -20,7 +20,7 @@ const ACTIONLINT_SHA256 = '8aca8db96f1b94770f1b0d72b6dddcb1ebb8123cb3712530b08cc
|
|
|
20
20
|
* the release build job, so the lint commands exist in exactly one place.
|
|
21
21
|
*/
|
|
22
22
|
class ActionBuildWorkflow extends projen_1.Component {
|
|
23
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.ActionBuildWorkflow", version: "0.0.
|
|
23
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.ActionBuildWorkflow", version: "0.0.21" };
|
|
24
24
|
task;
|
|
25
25
|
workflow;
|
|
26
26
|
constructor(scope) {
|
|
@@ -26,13 +26,23 @@ export interface ActionDogfoodStep {
|
|
|
26
26
|
* @default {}
|
|
27
27
|
*/
|
|
28
28
|
readonly inputs?: Record<string, string>;
|
|
29
|
-
/**
|
|
29
|
+
/**
|
|
30
|
+
* Shell assertions after this invocation - the job fails unless every one
|
|
31
|
+
* exits 0. The generated step runs under `set -euo pipefail`, so a failing
|
|
32
|
+
* assertion fails the step immediately rather than being masked by a later,
|
|
33
|
+
* passing one.
|
|
34
|
+
*/
|
|
30
35
|
readonly assertions: string[];
|
|
31
36
|
}
|
|
32
37
|
export interface ActionDogfoodOptions {
|
|
33
38
|
/** One or more scenario steps, run in order, in the dogfood job. */
|
|
34
39
|
readonly scenario: ActionDogfoodStep[];
|
|
35
|
-
/**
|
|
40
|
+
/**
|
|
41
|
+
* Shell cleanup, run once at the end with `if: always()` so repeated runs
|
|
42
|
+
* start clean. Intentionally **best-effort**: unlike the assert step it does
|
|
43
|
+
* *not* run under `set -e`, so a failing line (e.g. deleting an already
|
|
44
|
+
* deleted ref) does not fail the job.
|
|
45
|
+
*/
|
|
36
46
|
readonly cleanup: string[];
|
|
37
47
|
}
|
|
38
48
|
/**
|