@codedrifters/configulator 0.0.443 → 0.0.444
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/lib/index.d.mts +24 -6
- package/lib/index.d.ts +24 -6
- package/lib/index.js +23 -0
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +23 -0
- package/lib/index.mjs.map +1 -1
- package/package.json +1 -1
package/lib/index.d.mts
CHANGED
|
@@ -12599,11 +12599,12 @@ interface DeployWorkflowOptions {
|
|
|
12599
12599
|
* account, so anything they share outside their own stacks — a parent hosted
|
|
12600
12600
|
* zone, an account-level singleton — has to tolerate concurrent mutation.
|
|
12601
12601
|
*
|
|
12602
|
-
* Applies to the deploy job
|
|
12603
|
-
*
|
|
12604
|
-
*
|
|
12605
|
-
*
|
|
12606
|
-
*
|
|
12602
|
+
* Applies to the deploy job and — when diff capture is on — to each target's
|
|
12603
|
+
* diff job, which locks the same branch's stacks for the same reason. The
|
|
12604
|
+
* `plan-apply` gate's apply job keeps the unsuffixed group: an apply is
|
|
12605
|
+
* dispatched from whatever ref the operator happens to be on, which says
|
|
12606
|
+
* nothing about the branch that was planned, so a branch key there would
|
|
12607
|
+
* weaken the mutual exclusion rather than sharpen it.
|
|
12607
12608
|
*
|
|
12608
12609
|
* @see `docs/packages/@codedrifters/configulator/workflows/aws-deploy-workflow.md`
|
|
12609
12610
|
* @default false - the group is the deployment target alone
|
|
@@ -12737,7 +12738,7 @@ declare class AwsDeployWorkflow extends Component {
|
|
|
12737
12738
|
*/
|
|
12738
12739
|
readonly diffOptions: Required<DeployDiffOptions>;
|
|
12739
12740
|
/**
|
|
12740
|
-
* Whether each deploy job's concurrency group carries the branch.
|
|
12741
|
+
* Whether each deploy and diff job's concurrency group carries the branch.
|
|
12741
12742
|
*/
|
|
12742
12743
|
readonly branchScopedConcurrency: boolean;
|
|
12743
12744
|
/**
|
|
@@ -12803,6 +12804,23 @@ declare class AwsDeployWorkflow extends Component {
|
|
|
12803
12804
|
* jobs for one target sort next to each other in the run view.
|
|
12804
12805
|
*/
|
|
12805
12806
|
private buildDiffJobName;
|
|
12807
|
+
/**
|
|
12808
|
+
* Build a diff job's `concurrency` setting from its job name.
|
|
12809
|
+
*
|
|
12810
|
+
* Always the object form, unlike {@link buildDeployConcurrency}: a diff job
|
|
12811
|
+
* has no legacy bare-string shape to stay byte-identical with, and
|
|
12812
|
+
* `cancel-in-progress` is load-bearing enough here to spell out. It must
|
|
12813
|
+
* stay `false` — a superseded diff cancelled mid-`CreateChangeSet`
|
|
12814
|
+
* leaves the fixed-name change set occupied for whichever run comes next,
|
|
12815
|
+
* which is the failure the group exists to prevent.
|
|
12816
|
+
*
|
|
12817
|
+
* Carries the branch under
|
|
12818
|
+
* {@link DeployWorkflowOptions.branchScopedConcurrency} for the same reason
|
|
12819
|
+
* the deploy group does: when stack names are derived from the branch, two
|
|
12820
|
+
* branches diff separate stacks and therefore separate change sets, so one
|
|
12821
|
+
* repo-wide lock across all of them would queue for nothing.
|
|
12822
|
+
*/
|
|
12823
|
+
private buildDiffConcurrency;
|
|
12806
12824
|
/**
|
|
12807
12825
|
* Build the slug that makes a target unique among every target in the plan
|
|
12808
12826
|
* workflow, across every deploy component feeding it.
|
package/lib/index.d.ts
CHANGED
|
@@ -12648,11 +12648,12 @@ interface DeployWorkflowOptions {
|
|
|
12648
12648
|
* account, so anything they share outside their own stacks — a parent hosted
|
|
12649
12649
|
* zone, an account-level singleton — has to tolerate concurrent mutation.
|
|
12650
12650
|
*
|
|
12651
|
-
* Applies to the deploy job
|
|
12652
|
-
*
|
|
12653
|
-
*
|
|
12654
|
-
*
|
|
12655
|
-
*
|
|
12651
|
+
* Applies to the deploy job and — when diff capture is on — to each target's
|
|
12652
|
+
* diff job, which locks the same branch's stacks for the same reason. The
|
|
12653
|
+
* `plan-apply` gate's apply job keeps the unsuffixed group: an apply is
|
|
12654
|
+
* dispatched from whatever ref the operator happens to be on, which says
|
|
12655
|
+
* nothing about the branch that was planned, so a branch key there would
|
|
12656
|
+
* weaken the mutual exclusion rather than sharpen it.
|
|
12656
12657
|
*
|
|
12657
12658
|
* @see `docs/packages/@codedrifters/configulator/workflows/aws-deploy-workflow.md`
|
|
12658
12659
|
* @default false - the group is the deployment target alone
|
|
@@ -12786,7 +12787,7 @@ declare class AwsDeployWorkflow extends Component {
|
|
|
12786
12787
|
*/
|
|
12787
12788
|
readonly diffOptions: Required<DeployDiffOptions>;
|
|
12788
12789
|
/**
|
|
12789
|
-
* Whether each deploy job's concurrency group carries the branch.
|
|
12790
|
+
* Whether each deploy and diff job's concurrency group carries the branch.
|
|
12790
12791
|
*/
|
|
12791
12792
|
readonly branchScopedConcurrency: boolean;
|
|
12792
12793
|
/**
|
|
@@ -12852,6 +12853,23 @@ declare class AwsDeployWorkflow extends Component {
|
|
|
12852
12853
|
* jobs for one target sort next to each other in the run view.
|
|
12853
12854
|
*/
|
|
12854
12855
|
private buildDiffJobName;
|
|
12856
|
+
/**
|
|
12857
|
+
* Build a diff job's `concurrency` setting from its job name.
|
|
12858
|
+
*
|
|
12859
|
+
* Always the object form, unlike {@link buildDeployConcurrency}: a diff job
|
|
12860
|
+
* has no legacy bare-string shape to stay byte-identical with, and
|
|
12861
|
+
* `cancel-in-progress` is load-bearing enough here to spell out. It must
|
|
12862
|
+
* stay `false` — a superseded diff cancelled mid-`CreateChangeSet`
|
|
12863
|
+
* leaves the fixed-name change set occupied for whichever run comes next,
|
|
12864
|
+
* which is the failure the group exists to prevent.
|
|
12865
|
+
*
|
|
12866
|
+
* Carries the branch under
|
|
12867
|
+
* {@link DeployWorkflowOptions.branchScopedConcurrency} for the same reason
|
|
12868
|
+
* the deploy group does: when stack names are derived from the branch, two
|
|
12869
|
+
* branches diff separate stacks and therefore separate change sets, so one
|
|
12870
|
+
* repo-wide lock across all of them would queue for nothing.
|
|
12871
|
+
*/
|
|
12872
|
+
private buildDiffConcurrency;
|
|
12855
12873
|
/**
|
|
12856
12874
|
* Build the slug that makes a target unique among every target in the plan
|
|
12857
12875
|
* workflow, across every deploy component feeding it.
|
package/lib/index.js
CHANGED
|
@@ -43024,6 +43024,28 @@ var AwsDeployWorkflow = class _AwsDeployWorkflow extends import_projen29.Compone
|
|
|
43024
43024
|
target.region
|
|
43025
43025
|
].join("-");
|
|
43026
43026
|
};
|
|
43027
|
+
/**
|
|
43028
|
+
* Build a diff job's `concurrency` setting from its job name.
|
|
43029
|
+
*
|
|
43030
|
+
* Always the object form, unlike {@link buildDeployConcurrency}: a diff job
|
|
43031
|
+
* has no legacy bare-string shape to stay byte-identical with, and
|
|
43032
|
+
* `cancel-in-progress` is load-bearing enough here to spell out. It must
|
|
43033
|
+
* stay `false` — a superseded diff cancelled mid-`CreateChangeSet`
|
|
43034
|
+
* leaves the fixed-name change set occupied for whichever run comes next,
|
|
43035
|
+
* which is the failure the group exists to prevent.
|
|
43036
|
+
*
|
|
43037
|
+
* Carries the branch under
|
|
43038
|
+
* {@link DeployWorkflowOptions.branchScopedConcurrency} for the same reason
|
|
43039
|
+
* the deploy group does: when stack names are derived from the branch, two
|
|
43040
|
+
* branches diff separate stacks and therefore separate change sets, so one
|
|
43041
|
+
* repo-wide lock across all of them would queue for nothing.
|
|
43042
|
+
*/
|
|
43043
|
+
this.buildDiffConcurrency = (diffJobName) => {
|
|
43044
|
+
return {
|
|
43045
|
+
group: this.branchScopedConcurrency ? `${diffJobName}-${BRANCH_NAME_EXPRESSION}` : diffJobName,
|
|
43046
|
+
"cancel-in-progress": false
|
|
43047
|
+
};
|
|
43048
|
+
};
|
|
43027
43049
|
/**
|
|
43028
43050
|
* Build the slug that makes a target unique among every target in the plan
|
|
43029
43051
|
* workflow, across every deploy component feeding it.
|
|
@@ -43656,6 +43678,7 @@ var AwsDeployWorkflow = class _AwsDeployWorkflow extends import_projen29.Compone
|
|
|
43656
43678
|
contents: import_workflows_model7.JobPermission.READ,
|
|
43657
43679
|
idToken: import_workflows_model7.JobPermission.WRITE
|
|
43658
43680
|
},
|
|
43681
|
+
concurrency: this.buildDiffConcurrency(diffJobName),
|
|
43659
43682
|
if: jobCondition,
|
|
43660
43683
|
steps: [...this.diffSteps(target)]
|
|
43661
43684
|
});
|