cdktn-cli e2e

cdktn-latest  •  2026-07-04 06:22:10 UTC
↗ Actions run
17
tests
12
passed
5
failed
71%
pass rate
146.3s
total time
source: ci-report.json · run 2026-07-04 06:22:10 UTC

Tests

ctrl-c-teardown.test.ts

Ctrl-C interrupt handling [cdktn-latest]
AssertionError: deploy hung after Ctrl-C at the approval prompt: expected null not to be null
    at /home/runner/work/cdktn-e2e/cdktn-e2e/tests/ctrl-c-teardown.test.ts:24:73
    at file:///home/runner/work/cdktn-e2e/cdktn-e2e/node_modules/.pnpm/@vitest+runner@4.1.9/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:20
terminal #0
hello Initializing the backend... hello Successfully configured the backend "local"! Terraform will automatically use this backend unless the backend configuration changes. hello Initializing provider plugins... Terraform has been successfully initialized! You may now begin working with Terraform. Try running "terraform plan" to see any changes that are required for your infrastructure. All Terraform commands should now work. If you ever set or change modules or backend configuration for Terraform, rerun this command to reinitialize your working directory. If you forget, other commands will detect it and remind you to do so if necessary. hello Success! Terraform has validated the lock file and found no need for changes. hello Changes to Outputs: + greeting = "hello from cdktn-cli-e2e" + secret = (sensitive value) You can apply this plan to save these new output values to the Terraform state, without changing any real infrastructure. Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Please review the diff output above for hello Approve Applies the changes outlined in the plan. Dismiss Stop
$ /opt/hostedtoolcache/node/24.18.0/x64/bin/node /home/runner/work/cdktn-e2e/cdktn-e2e/.sandboxes/cdktn-latest/node_modules/cdktn-cli/bin/cdktn deploy
exit=null

hello  Initializing the backend...
hello
       Successfully configured the backend "local"! Terraform will automatically
       use this backend unless the backend configuration changes.
hello  Initializing provider plugins...

       Terraform has been successfully initialized!

       You may now begin working with Terraform. Try running "terraform plan" to see
       any changes that are required for your infrastructure. All Terraform commands
       should now work.

       If you ever set or change modules or backend configuration for Terraform,
       rerun this command to reinitialize your working directory. If you forget, other
       commands will detect it and remind you to do so if necessary.
hello  Success! Terraform has validated the lock file and found no need for changes.
hello  Changes to Outputs:
         + greeting = "hello from cdktn-cli-e2e"
         + secret   = (sensitive value)
       You can apply this plan to save these new output values to the Terraform
       state, without changing any real infrastructure.

       Do you want to perform these actions?
         Terraform will perform the actions described above.
         Only 'yes' will be accepted to approve.

Please review the diff output above for hello
❯ Approve  Applies the changes outlined in the plan.
  Dismiss
  Stop









✅ passedCtrl-C during watch --auto-approve tears down cleanly and restores the cursor1.8s
terraform state-lock release on interrupt — issue #283 [cdktn-latest]
✅ passedhard-killing terraform (SIGKILL) mid-apply leaves the state lock orphaned — sanity-checks the mock detects orphans1.3s
✅ passedCtrl-C during deploy lets terraform release the state lock (cdktn must not orphan it)3.8s

deploy-approve.test.ts

deploy approval routing [cdktn-latest]
✅ passedApprove (Enter on first choice) → apply proceeds2.9s
✅ passedDismiss (Down,Enter) → stack is not applied, process exits2.8s
✅ passed--auto-approve runs unattended (no prompt rendered)2.8s

diff-lock-release.test.ts

diff interrupt lock release [cdktn-latest]
AssertionError: diff hung after Ctrl-C while terraform held the state lock: expected null not to be null
    at /home/runner/work/cdktn-e2e/cdktn-e2e/tests/diff-lock-release.test.ts:114:84
    at file:///home/runner/work/cdktn-e2e/cdktn-e2e/node_modules/.pnpm/@vitest+runner@4.1.9/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:20
terminal #0
lock Initializing the backend... lock Successfully configured the backend "http"! Terraform will automatically use this backend unless the backend configuration changes. lock Initializing provider plugins... - terraform.io/builtin/terraform is built in to Terraform lock Terraform has been successfully initialized! You may now begin working with Terraform. Try running "terraform plan" to see any changes that are required for your infrastructure. All Terraform commands should now work. If you ever set or change modules or backend configuration for Terraform, rerun this command to reinitialize your working directory. If you forget, other commands will detect it and remind you to do so if necessary. lock Success! Terraform has validated the lock file and found no need for changes. lock Interrupt received. Please wait for Terraform to exit or data loss may occur. Gracefully shutting down... lock Stopping operation... Processing
$ /opt/hostedtoolcache/node/24.18.0/x64/bin/node /home/runner/work/cdktn-e2e/cdktn-e2e/.sandboxes/cdktn-latest/node_modules/cdktn-cli/bin/cdktn diff
exit=null

lock  Initializing the backend...
lock
      Successfully configured the backend "http"! Terraform will automatically
      use this backend unless the backend configuration changes.
lock  Initializing provider plugins...
      - terraform.io/builtin/terraform is built in to Terraform
lock  Terraform has been successfully initialized!

      You may now begin working with Terraform. Try running "terraform plan" to see
      any changes that are required for your infrastructure. All Terraform commands
      should now work.

      If you ever set or change modules or backend configuration for Terraform,
      rerun this command to reinitialize your working directory. If you forget, other
      commands will detect it and remind you to do so if necessary.
lock  Success! Terraform has validated the lock file and found no need for changes.
lock  Interrupt received.
      Please wait for Terraform to exit or data loss may occur.
      Gracefully shutting down...
lock  Stopping operation...

⠦  Processing

















non-tty.test.ts

non-tty (piped) behaviour [cdktn-latest]
✅ passedpiped synth is ANSI-free and exits 02.4s
AssertionError: expected true to be false // Object.is equality
    at /home/runner/work/cdktn-e2e/cdktn-e2e/tests/non-tty.test.ts:27:31
    at processTicksAndRejections (node:internal/process/task_queues:104:5)
    at file:///home/runner/work/cdktn-e2e/cdktn-e2e/node_modules/.pnpm/@vitest+runner@4.1.9/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:20
AssertionError: expected true to be false // Object.is equality
    at /home/runner/work/cdktn-e2e/cdktn-e2e/tests/non-tty.test.ts:34:31
    at processTicksAndRejections (node:internal/process/task_queues:104:5)
    at file:///home/runner/work/cdktn-e2e/cdktn-e2e/node_modules/.pnpm/@vitest+runner@4.1.9/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:20

smoke.test.ts

smoke [cdktn-latest]
✅ passed--version prints a semver and exits 0336ms
✅ passedsynth produces Terraform output and exits cleanly2.5s

synth-golden.test.ts

synth golden output [cdktn-latest]
Error: Snapshot `synth golden output [cdktn-latest] > minimal-ts cdk.tf.json is stable (sensitive output stays declared) 1` mismatched
    at assertMatchResult (file:///home/runner/work/cdktn-e2e/cdktn-e2e/node_modules/.pnpm/vitest@4.1.9_@types+node@22.20.0_vite@8.1.0_@types+node@22.20.0_/node_modules/vitest/dist/chunks/test.DNmyFkvJ.js:4027:23)
    at Proxy.<anonymous> (file:///home/runner/work/cdktn-e2e/cdktn-e2e/node_modules/.pnpm/vitest@4.1.9_@types+node@22.20.0_vite@8.1.0_@types+node@22.20.0_/node_modules/vitest/dist/chunks/test.DNmyFkvJ.js:3883:10)
    at Proxy.<anonymous> (file:///home/runner/work/cdktn-e2e/cdktn-e2e/node_modules/.pnpm/@vitest+expect@4.1.9/node_modules/@vitest/expect/dist/index.js:1156:15)
    at Proxy.methodWrapper (file:///home/runner/work/cdktn-e2e/cdktn-e2e/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js:1700:25)
    at /home/runner/work/cdktn-e2e/cdktn-e2e/tests/synth-golden.test.ts:49:19
    at file:///home/runner/work/cdktn-e2e/cdktn-e2e/node_modules/.pnpm/@vitest+runner@4.1.9/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:20
terminal #0
Generated Terraform code for the stacks: hello
$ /opt/hostedtoolcache/node/24.18.0/x64/bin/node /home/runner/work/cdktn-e2e/cdktn-e2e/.sandboxes/cdktn-latest/node_modules/cdktn-cli/bin/cdktn synth
exit=exit=0


Generated Terraform code for the stacks: hello





































tty-render.test.ts

tty rendering [cdktn-latest]
✅ passedsynth: spinner lifecycle then a permanent summary line2.5s
✅ passedlist: columned stack list with a bold header2.6s
✅ passedprovider list: renders a cli-table3 with the declared providers2.4s