anton-bakker-deploy-engine 0.2.5 → 0.4.0

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/README.md CHANGED
@@ -28,6 +28,7 @@ Zero runtime dependencies. TypeScript. ESM. Node.js ≥ 20.
28
28
  - [State Persistence and Resume](#state-persistence-and-resume)
29
29
  - [Clearing State](#clearing-state)
30
30
  - [Default Environments](#default-environments)
31
+ - [Promotion Gate](#promotion-gate)
31
32
  - [Slack Notifier](#slack-notifier)
32
33
  - [Setup](#setup)
33
34
  - [Threading](#threading)
@@ -81,7 +82,7 @@ import {
81
82
  // Verification functions
82
83
  verifyAmplifyOutputs, verifyBuildArtifact, parseTableCount,
83
84
  assertTableCount, parseEcsStatus, assertCognitoGroups,
84
- assertApiHealth, deriveExpectations, summarize,
85
+ assertApiHealth, deriveExpectations, summarize, promotionCheck,
85
86
  // Pipeline engine
86
87
  PipelineEngine, buildGates, DEFAULT_ENVIRONMENTS,
87
88
  // Slack notifier (optional)
@@ -718,6 +719,7 @@ This moves `deploy-state-staging.json` to `orchestrator/archive/state-<timestamp
718
719
  | `cdkNagLevel` | `'warning' \| 'error'` | CDK Nag severity level |
719
720
  | `postDeployProbes` | `string[]` | Check names to run in the Functional gate |
720
721
  | `rollbackOnProbeFailure` | `boolean` | Whether functional probe failures trigger rollback |
722
+ | `promotionRequirements` | `{ requiresPassed: string[]; allowAncestor?: boolean }` | Optional — environments that must have passed for this commit |
721
723
 
722
724
  You can extend or override defaults:
723
725
 
@@ -729,6 +731,102 @@ const myConfig: EnvironmentConfig = {
729
731
  };
730
732
  ```
731
733
 
734
+ ## Promotion Gate
735
+
736
+ The promotion gate prevents deploying a commit to a higher environment unless it has passed all required lower environments. This is configured per environment via `promotionRequirements`.
737
+
738
+ ### How It Works
739
+
740
+ 1. Before deploying to staging, the engine reads `deploy-state-development.json`
741
+ 2. Verifies the state shows `result: 'passed'`
742
+ 3. Verifies the commit matches (exact, prefix, or git ancestor)
743
+ 4. If any requirement fails → pipeline aborts before any deployment starts
744
+
745
+ ### Configuration
746
+
747
+ Add `promotionRequirements` to your `EnvironmentConfig`:
748
+
749
+ ```typescript
750
+ const environments = {
751
+ // Development — entry point, no requirements
752
+ development: {
753
+ ...baseConfig,
754
+ // No promotionRequirements — any commit can deploy here
755
+ },
756
+
757
+ // Staging — must pass development first
758
+ staging: {
759
+ ...baseConfig,
760
+ promotionRequirements: {
761
+ requiresPassed: ['development'],
762
+ },
763
+ },
764
+
765
+ // Production — must pass staging first
766
+ production: {
767
+ ...baseConfig,
768
+ promotionRequirements: {
769
+ requiresPassed: ['staging'],
770
+ },
771
+ },
772
+ };
773
+ ```
774
+
775
+ **Strict mode** — require exact commit match (no ancestor commits):
776
+
777
+ ```typescript
778
+ production: {
779
+ ...baseConfig,
780
+ promotionRequirements: {
781
+ requiresPassed: ['development', 'staging'],
782
+ allowAncestor: false, // exact commit only
783
+ },
784
+ }
785
+ ```
786
+
787
+ ### Options
788
+
789
+ | Field | Type | Default | Description |
790
+ |-------|------|---------|-------------|
791
+ | `requiresPassed` | `string[]` | — | Environments that must show `result: 'passed'` for this commit |
792
+ | `allowAncestor` | `boolean` | `true` | Accept ancestor commits via `git merge-base --is-ancestor` |
793
+
794
+ ### Commit Tracking
795
+
796
+ The engine stores the full git commit hash in `PipelineState.commit` and a short hash in `commitShort`. The promotion check compares commits using:
797
+
798
+ 1. **Exact match** — full hash equality
799
+ 2. **Prefix match** — backward compatible with old state files that stored short hashes
800
+ 3. **Ancestor check** — `git merge-base --is-ancestor` (when `allowAncestor: true`)
801
+
802
+ ### Default Environments
803
+
804
+ The `DEFAULT_ENVIRONMENTS` include promotion requirements:
805
+
806
+ | Environment | Requires |
807
+ |-------------|----------|
808
+ | `development` | None (entry point) |
809
+ | `staging` | `development` passed |
810
+ | `production` | `staging` passed |
811
+
812
+ ### Using promotionCheck Standalone
813
+
814
+ ```typescript
815
+ import { promotionCheck } from 'anton-bakker-deploy-engine';
816
+
817
+ const result = promotionCheck({
818
+ commit: 'a1b2c3d4e5f6...', // full hash
819
+ requirements: { requiresPassed: ['staging'], allowAncestor: true },
820
+ stateDir: './orchestrator',
821
+ exec: (cmd) => execSync(cmd, { encoding: 'utf-8' }),
822
+ });
823
+
824
+ if (!result.passed) {
825
+ console.error(result.error);
826
+ // "staging: deployed commit f9e8d7c is not an ancestor of current a1b2c3d"
827
+ }
828
+ ```
829
+
732
830
  ## Slack Notifier
733
831
 
734
832
  Optional threaded Slack notifications for pipeline events. Zero dependencies — uses Node.js built-in `fetch`.
@@ -905,6 +1003,7 @@ npm run lint
905
1003
  ├── __tests__/
906
1004
  │ ├── verify.test.ts # 49 tests for verification functions
907
1005
  │ ├── engine.test.ts # 23 tests for engine + pipeline
1006
+ │ ├── promotion.test.ts # 13 tests for promotion gate
908
1007
  │ ├── slack.test.ts # 17 tests for Slack notifier
909
1008
  │ └── fixtures/ # Test fixtures (schema, config, auth stack)
910
1009
  ├── scripts/
@@ -914,7 +1013,7 @@ npm run lint
914
1013
  └── package.json
915
1014
  ```
916
1015
 
917
- **Test runner:** Vitest. All 89 tests run in ~400ms.
1016
+ **Test runner:** Vitest. All 103 tests run in ~400ms.
918
1017
 
919
1018
  **TypeScript config:** Strict mode, ESM (`"type": "module"`), `NodeNext` module resolution, source maps and declaration maps enabled.
920
1019
 
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,cAAc,EAA6B,cAAc,EACzD,aAAa,EAAE,gBAAgB,EACG,qBAAqB,EACxD,MAAM,YAAY,CAAC;AAKpB,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,GAAG,CAAmB;IAC9B,OAAO,CAAC,SAAS,CAA+B;gBAEpC,IAAI,EAAE;QAChB,KAAK,EAAE,cAAc,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACnC,GAAG,EAAE,gBAAgB,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAyBD,OAAO,CAAC,UAAU;IAWlB,6CAA6C;IAC7C,EAAE,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAIzC,OAAO,CAAC,IAAI;IAUZ,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,SAAS;IASjB,2DAA2D;IACrD,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC;YA0FtB,IAAI;YA2BJ,WAAW;YAuBX,mBAAmB;YAQnB,iBAAiB;YAIjB,cAAc;IA2B5B,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,UAAU;IASlB,kCAAkC;IAClC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;CAS/D"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,cAAc,EAA6B,cAAc,EACzD,aAAa,EAAE,gBAAgB,EACG,qBAAqB,EACxD,MAAM,YAAY,CAAC;AAKpB,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,GAAG,CAAmB;IAC9B,OAAO,CAAC,SAAS,CAA+B;gBAEpC,IAAI,EAAE;QAChB,KAAK,EAAE,cAAc,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACnC,GAAG,EAAE,gBAAgB,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAyBD,OAAO,CAAC,UAAU;IAclB,6CAA6C;IAC7C,EAAE,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAIzC,OAAO,CAAC,IAAI;IAUZ,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,SAAS;IASjB,2DAA2D;IACrD,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC;YA0FtB,IAAI;YA2BJ,WAAW;YAuBX,mBAAmB;YAQnB,iBAAiB;YAIjB,cAAc;IA2B5B,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,UAAU;IASlB,kCAAkC;IAClC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;CAS/D"}
package/dist/engine.js CHANGED
@@ -41,10 +41,13 @@ export class PipelineEngine {
41
41
  }
42
42
  }
43
43
  freshState() {
44
+ const full = this.ctx.exec('git rev-parse HEAD')?.trim() || 'unknown';
45
+ const short = this.ctx.exec('git rev-parse --short HEAD')?.trim() || full.substring(0, 7);
44
46
  return {
45
47
  runId: `deploy-${new Date().toISOString().replace(/[:.]/g, '-')}`,
46
48
  environment: this.ctx.environment,
47
- commit: this.ctx.exec('git rev-parse --short HEAD')?.trim() || 'unknown',
49
+ commit: full,
50
+ commitShort: short,
48
51
  startedAt: new Date().toISOString(),
49
52
  result: 'running',
50
53
  gates: [],
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@
6
6
  */
7
7
  export { PipelineEngine } from './engine.js';
8
8
  export { buildGates, DEFAULT_ENVIRONMENTS } from './pipeline.js';
9
- export { verifyAmplifyOutputs, verifyBuildArtifact, parseTableCount, assertTableCount, parseEcsStatus, assertCognitoGroups, assertApiHealth, deriveExpectations, summarize, } from './verify.js';
9
+ export { verifyAmplifyOutputs, verifyBuildArtifact, parseTableCount, assertTableCount, parseEcsStatus, assertCognitoGroups, assertApiHealth, deriveExpectations, summarize, promotionCheck, } from './verify.js';
10
10
  export { SlackNotifier } from './slack.js';
11
11
  export { computeStateHash } from './types.js';
12
12
  export type { CheckResult, GateDefinition, GateResult, EnvironmentConfig, PipelineState, PipelineReport, CheckExecutor, ExecutionContext, PipelineEvent, PipelineEventType, PipelineEventListener, SlackSeverity, SlackEventConfig, SlackMessageConfig, SlackNotifierOptions, } from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGjE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,SAAS,GACV,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,YAAY,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGjE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,cAAc,GACf,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,YAAY,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -9,7 +9,7 @@ export { PipelineEngine } from './engine.js';
9
9
  // Pipeline builder
10
10
  export { buildGates, DEFAULT_ENVIRONMENTS } from './pipeline.js';
11
11
  // Verification functions (Layer 1-3 checks)
12
- export { verifyAmplifyOutputs, verifyBuildArtifact, parseTableCount, assertTableCount, parseEcsStatus, assertCognitoGroups, assertApiHealth, deriveExpectations, summarize, } from './verify.js';
12
+ export { verifyAmplifyOutputs, verifyBuildArtifact, parseTableCount, assertTableCount, parseEcsStatus, assertCognitoGroups, assertApiHealth, deriveExpectations, summarize, promotionCheck, } from './verify.js';
13
13
  // Slack notifier (optional)
14
14
  export { SlackNotifier } from './slack.js';
15
15
  // Utilities
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc;AACd,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,mBAAmB;AACnB,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEjE,4CAA4C;AAC5C,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,SAAS,GACV,MAAM,aAAa,CAAC;AAErB,4BAA4B;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc;AACd,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,mBAAmB;AACnB,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEjE,4CAA4C;AAC5C,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,4BAA4B;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpE;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,iBAAiB,GAAG,cAAc,EAAE,CAoFnE;AAED,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAuClE,CAAC"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpE;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,iBAAiB,GAAG,cAAc,EAAE,CAoFnE;AAED,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAyClE,CAAC"}
package/dist/pipeline.js CHANGED
@@ -8,9 +8,9 @@ export function buildGates(env) {
8
8
  {
9
9
  id: 'preflight',
10
10
  name: 'Preflight',
11
- checks: ['aws-creds', 'deploy-lock'],
11
+ checks: ['aws-creds', 'deploy-lock', ...(env.promotionRequirements ? ['promotion-check'] : [])],
12
12
  onFail: 'abort',
13
- parallel: true,
13
+ parallel: false,
14
14
  },
15
15
  {
16
16
  id: 'code-quality',
@@ -112,6 +112,7 @@ export const DEFAULT_ENVIRONMENTS = {
112
112
  postDeployProbes: ['api-health', 'table-count', 'ecs-status', 'cognito-groups', 'crud-probe'],
113
113
  rollbackOnProbeFailure: true,
114
114
  defaultBakeTime: 60_000, // 1 min bake
115
+ promotionRequirements: { requiresPassed: ['development'] },
115
116
  },
116
117
  production: {
117
118
  approval: 'broadening',
@@ -125,6 +126,7 @@ export const DEFAULT_ENVIRONMENTS = {
125
126
  postDeployProbes: ['api-health', 'table-count', 'ecs-status', 'cognito-groups', 'crud-probe', 'auth-probe', 's3-probe'],
126
127
  rollbackOnProbeFailure: true,
127
128
  defaultBakeTime: 300_000, // 5 min bake
129
+ promotionRequirements: { requiresPassed: ['staging'] },
128
130
  },
129
131
  };
130
132
  //# sourceMappingURL=pipeline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,GAAsB;IAC/C,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,IAAI,CAAC,CAAC;IAEtC,OAAO;QACL;YACE,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;YACpC,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,IAAI;SACf;QACD;YACE,EAAE,EAAE,cAAc;YAClB,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,GAAG,CAAC,eAAe;YAC3B,MAAM,EAAE,OAAO;SAChB;QACD;YACE,EAAE,EAAE,kBAAkB;YACtB,IAAI,EAAE,2BAA2B;YACjC,MAAM,EAAE,CAAC,WAAW,EAAE,qBAAqB,CAAC;YAC5C,MAAM,EAAE,OAAO;SAChB;QACD;YACE,EAAE,EAAE,mBAAmB;YACvB,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE;gBACN,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAClD;YACD,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,UAAU;SACjD;QACD;YACE,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,CAAC,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,CAAC;YAC/D,MAAM,EAAE,OAAO;SAChB;QACD,0EAA0E;QAC1E;YACE,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,yBAAyB;YAC/B,MAAM,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;YAC1C,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YACvD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,sBAAsB,EAAE,8BAA8B;SAC3E;QACD;YACE,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnG,MAAM,EAAE,UAAU;SACnB;QACD;YACE,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,gBAAgB,CAAC;YACvD,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI;SACf;QACD;YACE,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,2BAA2B;YACjC,MAAM,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,CAAC;YAC3E,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,IAAI;SACf;QACD;YACE,EAAE,EAAE,YAAY;YAChB,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE,GAAG,CAAC,gBAAgB;YAC5B,MAAM,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;YACzD,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI;SACf;QACD;YACE,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,CAAC,qBAAqB,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvE,MAAM,EAAE,OAAO;SAChB;KACF,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,MAAM,oBAAoB,GAAsC;IACrE,WAAW,EAAE;QACX,QAAQ,EAAE,OAAO;QACjB,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,CAAC;QACvF,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;QAC3C,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,SAAS;QACtB,gBAAgB,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,CAAC;QAC7D,sBAAsB,EAAE,KAAK;QAC7B,eAAe,EAAE,CAAC;KACnB;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,OAAO;QACjB,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,CAAC;QACpG,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE;QAC5C,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,oBAAoB;QAClC,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,OAAO;QACpB,gBAAgB,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,CAAC;QAC7F,sBAAsB,EAAE,IAAI;QAC5B,eAAe,EAAE,MAAM,EAAG,aAAa;KACxC;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,YAAY;QACtB,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,wBAAwB,CAAC;QAC9H,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;QACxB,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,gBAAgB;QAC9B,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,OAAO;QACpB,gBAAgB,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,CAAC;QACvH,sBAAsB,EAAE,IAAI;QAC5B,eAAe,EAAE,OAAO,EAAE,aAAa;KACxC;CACF,CAAC"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -35,6 +35,13 @@ export interface EnvironmentConfig {
35
35
  rollbackOnProbeFailure: boolean;
36
36
  /** Default bake time in ms for post-deploy gates (default: 0) */
37
37
  defaultBakeTime?: number;
38
+ /** Promotion requirements — environments that must have passed for this commit */
39
+ promotionRequirements?: {
40
+ /** Environments that must show result: 'passed' for this commit */
41
+ requiresPassed: string[];
42
+ /** Accept ancestor commits via git merge-base --is-ancestor (default: true) */
43
+ allowAncestor?: boolean;
44
+ };
38
45
  }
39
46
  export interface GateResult {
40
47
  id: string;
@@ -51,6 +58,7 @@ export interface PipelineState {
51
58
  runId: string;
52
59
  environment: string;
53
60
  commit: string;
61
+ commitShort: string;
54
62
  startedAt: string;
55
63
  completedAt?: string;
56
64
  result: 'running' | 'passed' | 'failed' | 'rolled-back';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAsHpC,uCAAuC;AACvC,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AA8HpC,uCAAuC;AACvC,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
package/dist/verify.d.ts CHANGED
@@ -62,4 +62,22 @@ export declare function summarize(checks: CheckResult[]): {
62
62
  failed: number;
63
63
  errors: string[];
64
64
  };
65
+ /**
66
+ * Verify that the current commit has passed all required environments
67
+ * before deploying to the target environment.
68
+ *
69
+ * Reads deploy-state-<env>.json for each required environment and checks:
70
+ * 1. State file exists
71
+ * 2. Result is 'passed'
72
+ * 3. Commit matches (exact or ancestor)
73
+ */
74
+ export declare function promotionCheck(opts: {
75
+ commit: string;
76
+ requirements: {
77
+ requiresPassed: string[];
78
+ allowAncestor?: boolean;
79
+ };
80
+ stateDir: string;
81
+ exec: (cmd: string) => string | null;
82
+ }): CheckResult;
65
83
  //# sourceMappingURL=verify.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,EAAE,CAwDvE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAyClE;AAID;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAsBzG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAQ9E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,WAAW,CAmBpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,WAAW,CASjG;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,WAAW,CAOpE;AAID,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG,kBAAkB,CA4CrB;AAID;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAQrH"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,EAAE,CAwDvE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAyClE;AAID;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAsBzG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAQ9E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,WAAW,CAmBpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,WAAW,CASjG;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,WAAW,CAOpE;AAID,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG,kBAAkB,CA4CrB;AAID;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAQrH;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE;QAAE,cAAc,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACtC,GAAG,WAAW,CA8Dd"}
package/dist/verify.js CHANGED
@@ -6,7 +6,7 @@
6
6
  * Validates amplify_outputs.json, build artifacts, DynamoDB, ECS, Cognito, and API health.
7
7
  * Project-agnostic — works with any AWS CDK project.
8
8
  */
9
- import { readFileSync, readdirSync } from 'fs';
9
+ import { readFileSync, readdirSync, existsSync } from 'fs';
10
10
  import { join } from 'path';
11
11
  /**
12
12
  * Verify amplify_outputs.json has all required fields.
@@ -246,4 +246,68 @@ export function summarize(checks) {
246
246
  errors: failed.map(c => c.error || `${c.name}: expected ${c.expected}, got ${c.actual}`),
247
247
  };
248
248
  }
249
+ /**
250
+ * Verify that the current commit has passed all required environments
251
+ * before deploying to the target environment.
252
+ *
253
+ * Reads deploy-state-<env>.json for each required environment and checks:
254
+ * 1. State file exists
255
+ * 2. Result is 'passed'
256
+ * 3. Commit matches (exact or ancestor)
257
+ */
258
+ export function promotionCheck(opts) {
259
+ const { commit, requirements, stateDir, exec } = opts;
260
+ const allowAncestor = requirements.allowAncestor ?? true;
261
+ const failures = [];
262
+ for (const env of requirements.requiresPassed) {
263
+ const statePath = join(stateDir, `deploy-state-${env}.json`);
264
+ if (!existsSync(statePath)) {
265
+ failures.push(`${env}: no deployment state found`);
266
+ continue;
267
+ }
268
+ let state;
269
+ try {
270
+ state = JSON.parse(readFileSync(statePath, 'utf-8'));
271
+ }
272
+ catch {
273
+ failures.push(`${env}: state file unreadable`);
274
+ continue;
275
+ }
276
+ if (state.result !== 'passed') {
277
+ failures.push(`${env}: last deployment ${state.result ?? 'unknown'} (expected: passed)`);
278
+ continue;
279
+ }
280
+ if (!state.commit) {
281
+ failures.push(`${env}: no commit recorded in state`);
282
+ continue;
283
+ }
284
+ // Exact match (full or prefix for backward compat with old short-hash states)
285
+ if (commit === state.commit || commit.startsWith(state.commit) || state.commit.startsWith(commit)) {
286
+ continue;
287
+ }
288
+ // Ancestor check: is the deployed commit an ancestor of the current commit?
289
+ if (allowAncestor) {
290
+ const result = exec(`git merge-base --is-ancestor ${state.commit} ${commit}`);
291
+ if (result !== null)
292
+ continue;
293
+ }
294
+ const short = state.commit.substring(0, 7);
295
+ failures.push(`${env}: deployed commit ${short} is not ${allowAncestor ? 'an ancestor of' : 'equal to'} current ${commit.substring(0, 7)}`);
296
+ }
297
+ if (failures.length === 0) {
298
+ return {
299
+ name: 'promotion-check',
300
+ passed: true,
301
+ expected: `passed: ${requirements.requiresPassed.join(', ')}`,
302
+ actual: 'all requirements met',
303
+ };
304
+ }
305
+ return {
306
+ name: 'promotion-check',
307
+ passed: false,
308
+ expected: `passed: ${requirements.requiresPassed.join(', ')}`,
309
+ actual: `${failures.length} requirement(s) failed`,
310
+ error: failures.join('; '),
311
+ };
312
+ }
249
313
  //# sourceMappingURL=verify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "anton-bakker-deploy-engine",
3
- "version": "0.2.5",
3
+ "version": "0.4.0",
4
4
  "description": "Self-validating AWS deployment engine with 4-layer verification: exists, configured, functional, project-specific",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",