chore(release): release v0.24.0 - #303
Merged
Merged
Conversation
open-constructs-cdktn
Bot
force-pushed
the
release-please--branches--main
branch
6 times, most recently
from
July 9, 2026 04:29
8d1c52e to
409cd13
Compare
open-constructs-cdktn
Bot
force-pushed
the
release-please--branches--main
branch
8 times, most recently
from
July 17, 2026 01:38
aadded0 to
3c934a1
Compare
open-constructs-cdktn
Bot
force-pushed
the
release-please--branches--main
branch
2 times, most recently
from
July 18, 2026 22:22
28f71a3 to
d1986e8
Compare
Closed
5 tasks
open-constructs-cdktn
Bot
force-pushed
the
release-please--branches--main
branch
5 times, most recently
from
July 24, 2026 08:51
ba05f16 to
8a5d969
Compare
open-constructs-cdktn
Bot
force-pushed
the
release-please--branches--main
branch
from
July 27, 2026 13:14
8a5d969 to
40239cf
Compare
open-constructs-cdktn
Bot
force-pushed
the
release-please--branches--main
branch
3 times, most recently
from
August 6, 2026 08:28
d7281da to
462f693
Compare
so0k
added a commit
that referenced
this pull request
Aug 6, 2026
#368) ## Problem The `release_golang` job authenticates with `TERRAFORM_CDK_GO_REPO_GITHUB_TOKEN` — a user PAT that has expired. GitHub 401s the push, headless git falls back to an interactive password prompt, and the job dies: ``` fatal: could not read Password for 'https://***@github.com': No such device or address Command failed: git push origin cdktn/v0.24.0-pre.95 ``` Both the original `publish_next` run and a fresh rerun ([31085026499](https://github.com/open-constructs/cdk-terrain/actions/runs/31085026499)) failed identically, so this is credential death, not token-TTL flakiness. **This currently blocks the 0.24.0 release cut** (#303) — the stable flow publishes Go with the same secret. ## Fix Mint an installation token from the **open-constructs-cdktn** GitHub App ([installation 138220829](https://github.com/apps/open-constructs-cdktn/installations/138220829)) whose credentials are already in this repo's secrets (`GH_APP_ID` / `GH_APP_PRIVATE_KEY`), scoped to `cdk-terrain-go`, and use it as `GITHUB_TOKEN` for `publib-golang`. Fresh every run, expires in an hour, no PAT to rot. Same pinned `create-github-app-token@v2` SHA as release-please.yml / pnpm-upgrade.yml. If the App installation turns out not to cover `cdk-terrain-go`, the mint step fails fast with a clear error — fallback is rotating the PAT. Closes #66 (this was exactly the failure mode that issue predicted). ## Verification Merging this triggers the `next` pre-release flow on main, which will exercise the new token path end-to-end (expect `v0.24.0-pre.96` to land in cdk-terrain-go). A green `publish_next / Release Go to Github Repo (next)` is the all-clear to merge #303. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
open-constructs-cdktn
Bot
force-pushed
the
release-please--branches--main
branch
from
August 6, 2026 11:30
462f693 to
ddfd1ef
Compare
so0k
added a commit
that referenced
this pull request
Aug 6, 2026
) Follow-up to #368. The `GH_APP_ID`/`GH_APP_PRIVATE_KEY` secrets — unused by any workflow for the 7 months before #368 adopted them — evidently do not describe an app installed on `cdk-terrain-go`: the mint fails with a 404 on the installation lookup ([run 31097478176](https://github.com/open-constructs/cdk-terrain/actions/runs/31097478176)) even after the repo was added to open-constructs-cdktn's installation. Switch `release_golang` to the **CDKTN Maintainers** app (`CDKTN_MAINTAINERS_APP_ID`/`_PRIVATE_KEY` org secrets) — the app `release-please.yml` and `pnpm-upgrade.yml` authenticate with successfully in this repo every day.⚠️ One org-admin precondition: the maintainers app's installation must include **`cdk-terrain-go`** (with Contents: write). @hoegertn — the installation screenshot you shared listing `cdk-terrain`, `cdk-terrain-docs`, `cdk-terrain-go` — if that was this app's installation and it's saved, we're already set. Verification: merge triggers the `next` flow; a green `publish_next / Release Go to Github Repo (next)` with `v0.24.0-pre.96` in cdk-terrain-go is the all-clear to cut 0.24.0 (#303). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
open-constructs-cdktn
Bot
force-pushed
the
release-please--branches--main
branch
from
August 6, 2026 14:29
ddfd1ef to
e7dcf6f
Compare
open-constructs-cdktn
Bot
force-pushed
the
release-please--branches--main
branch
from
August 6, 2026 14:57
e7dcf6f to
eb40731
Compare
1 task
so0k
added a commit
that referenced
this pull request
Aug 7, 2026
## Summary
- The `release_github` job's "Mark merged release PR as tagged" step
calls `gh pr edit` without an explicit repo, so `gh` shells out to `git`
to auto-detect it.
- That job runs inside the `jsii-terraform` container, where the
checkout is owned by a different UID than the container user, so `git`
refuses with "detected dubious ownership" and the step fails (exit code
1), even though the GitHub release itself already succeeded.
- Fix: pass `-R "${{ github.repository }}"` to `gh pr edit` so it never
needs `git` to infer the repo — smallest possible fix, no container/git
config changes needed.
Note: an alternative fix would be adding a `git config --global --add
safe.directory /__w/cdk-terrain/cdk-terrain` step after checkout (as
`prepare-release` and `prepare-next` already do), but passing `-R`
avoids touching git config in the container entirely.
Diagnosed from the failed run:
https://github.com/open-constructs/cdk-terrain/actions/runs/31133236561/job/92730605482
As an immediate unblock, I've also manually relabeled the affected PR
(#303) from `autorelease: pending` to `autorelease: tagged` so
release-please can open the next release PR.
## Test plan
- [ ] Next release run exercises the `release_github` job's relabel step
and confirms `gh pr edit -R ...` succeeds inside the container
X-Guardian
pushed a commit
to X-Guardian/cdk-terrain
that referenced
this pull request
Aug 10, 2026
open-constructs#368) ## Problem The `release_golang` job authenticates with `TERRAFORM_CDK_GO_REPO_GITHUB_TOKEN` — a user PAT that has expired. GitHub 401s the push, headless git falls back to an interactive password prompt, and the job dies: ``` fatal: could not read Password for 'https://***@github.com': No such device or address Command failed: git push origin cdktn/v0.24.0-pre.95 ``` Both the original `publish_next` run and a fresh rerun ([31085026499](https://github.com/open-constructs/cdk-terrain/actions/runs/31085026499)) failed identically, so this is credential death, not token-TTL flakiness. **This currently blocks the 0.24.0 release cut** (open-constructs#303) — the stable flow publishes Go with the same secret. ## Fix Mint an installation token from the **open-constructs-cdktn** GitHub App ([installation 138220829](https://github.com/apps/open-constructs-cdktn/installations/138220829)) whose credentials are already in this repo's secrets (`GH_APP_ID` / `GH_APP_PRIVATE_KEY`), scoped to `cdk-terrain-go`, and use it as `GITHUB_TOKEN` for `publib-golang`. Fresh every run, expires in an hour, no PAT to rot. Same pinned `create-github-app-token@v2` SHA as release-please.yml / pnpm-upgrade.yml. If the App installation turns out not to cover `cdk-terrain-go`, the mint step fails fast with a clear error — fallback is rotating the PAT. Closes open-constructs#66 (this was exactly the failure mode that issue predicted). ## Verification Merging this triggers the `next` pre-release flow on main, which will exercise the new token path end-to-end (expect `v0.24.0-pre.96` to land in cdk-terrain-go). A green `publish_next / Release Go to Github Repo (next)` is the all-clear to merge open-constructs#303. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
X-Guardian
pushed a commit
to X-Guardian/cdk-terrain
that referenced
this pull request
Aug 10, 2026
…pen-constructs#369) Follow-up to open-constructs#368. The `GH_APP_ID`/`GH_APP_PRIVATE_KEY` secrets — unused by any workflow for the 7 months before open-constructs#368 adopted them — evidently do not describe an app installed on `cdk-terrain-go`: the mint fails with a 404 on the installation lookup ([run 31097478176](https://github.com/open-constructs/cdk-terrain/actions/runs/31097478176)) even after the repo was added to open-constructs-cdktn's installation. Switch `release_golang` to the **CDKTN Maintainers** app (`CDKTN_MAINTAINERS_APP_ID`/`_PRIVATE_KEY` org secrets) — the app `release-please.yml` and `pnpm-upgrade.yml` authenticate with successfully in this repo every day.⚠️ One org-admin precondition: the maintainers app's installation must include **`cdk-terrain-go`** (with Contents: write). @hoegertn — the installation screenshot you shared listing `cdk-terrain`, `cdk-terrain-docs`, `cdk-terrain-go` — if that was this app's installation and it's saved, we're already set. Verification: merge triggers the `next` flow; a green `publish_next / Release Go to Github Repo (next)` with `v0.24.0-pre.96` in cdk-terrain-go is the all-clear to cut 0.24.0 (open-constructs#303). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
X-Guardian
pushed a commit
to X-Guardian/cdk-terrain
that referenced
this pull request
Aug 10, 2026
🤖 Release PR — merge to cut a new release. Kept open and rebased as commits land on `main`. --- <details><summary>0.24.0</summary> ## [0.24.0](open-constructs/cdk-terrain@v0.23.4...v0.24.0) (2026-08-06) ### ⚠ BREAKING CHANGES * **lib:** validate Terraform function versions by default ([open-constructs#362](open-constructs#362)) * **deps:** Require Node 22 minimum ([open-constructs#345](open-constructs#345)) * **lib:** preserve symlinks in TerraformAsset walkers ([open-constructs#321](open-constructs#321)) * **cli:** replace node-fetch with undici ([open-constructs#306](open-constructs#306)) ### Features * **lib:** canonical asset hashes behind the canonicalAssetHashes feature flag ([open-constructs#323](open-constructs#323)) ([76dd4ff](open-constructs@76dd4ff)) * **lib:** validate Terraform function versions by default ([open-constructs#362](open-constructs#362)) ([4ac0736](open-constructs@4ac0736)) * support newer provider plugin-protocol features via targetVersions (RFC-04) ([open-constructs#296](open-constructs#296)) ([90322f9](open-constructs@90322f9)) ### Bug Fixes * **cli:** don't downgrade prebuilt providers on a transient registry failure ([open-constructs#298](open-constructs#298)) ([a960c5c](open-constructs@a960c5c)) * **cli:** include dev dependencies in npm version lookup ([open-constructs#280](open-constructs#280)) ([955204a](open-constructs@955204a)) * **docs:** fix stale constructs pin breaking with()/IMixin docs ([open-constructs#305](open-constructs#305)) ([605cf63](open-constructs@605cf63)) * **gha:** Allow pnpm to update the lockfile after package updates ([open-constructs#318](open-constructs#318)) ([a899b7c](open-constructs@a899b7c)) * **gha:** Fix pnpm upgrade workflow ([open-constructs#335](open-constructs#335)) ([e1a69fc](open-constructs@e1a69fc)) * **gha:** flip merged release PR label to autorelease: tagged ([open-constructs#302](open-constructs#302)) ([8d64f6c](open-constructs@8d64f6c)) * **gha:** mint the Go-publish token from the CDKTN Maintainers app ([open-constructs#369](open-constructs#369)) ([71921ce](open-constructs@71921ce)) * **gha:** mint the Go-publish token from the open-constructs-cdktn App ([open-constructs#368](open-constructs#368)) ([179f10c](open-constructs@179f10c)) * **gha:** pass the Go-publish App token as x-access-token userinfo ([open-constructs#370](open-constructs#370)) ([4e3ff19](open-constructs@4e3ff19)) * **lib:** Disallow constructs 10.8 until support can be added ([open-constructs#363](open-constructs#363)) ([8bdae0d](open-constructs@8bdae0d)) * **lib:** preserve symlinks in TerraformAsset walkers ([open-constructs#321](open-constructs#321)) ([6360e20](open-constructs@6360e20)) * typo in `moveFromId` JSDoc ([open-constructs#355](open-constructs#355)) ([e1cf8ce](open-constructs@e1cf8ce)) ### Miscellaneous Chores * **cli:** replace Ink + React with smaller-tree CLI libraries ([open-constructs#264](open-constructs#264)) ([a6aff7e](open-constructs@a6aff7e)) * **cli:** replace node-fetch with undici ([open-constructs#306](open-constructs#306)) ([1317141](open-constructs@1317141)) * **deps:** bump glob to 13.0.6 ([open-constructs#307](open-constructs#307)) ([47ee2bb](open-constructs@47ee2bb)) * **deps:** bump the github-actions-backward-compatible group with 2 updates ([open-constructs#295](open-constructs#295)) ([eab2a01](open-constructs@eab2a01)) * **deps:** replace lerna with nx ([open-constructs#315](open-constructs#315)) ([94999fc](open-constructs@94999fc)) * **deps:** Require Node 22 minimum ([open-constructs#345](open-constructs#345)) ([2bf315d](open-constructs@2bf315d)) * **deps:** update ci-info to 4.4.0 across all packages ([open-constructs#329](open-constructs#329)) ([557a163](open-constructs@557a163)) * **deps:** update fs-extra to 11.3.6 across all packages ([open-constructs#328](open-constructs#328)) ([95753a9](open-constructs@95753a9)) * **deps:** update minimatch to 10.2.5 ([open-constructs#330](open-constructs#330)) ([d1c1c53](open-constructs@d1c1c53)) * **deps:** Update sscaff to v2.0.388 ([open-constructs#331](open-constructs#331)) ([38ea0ba](open-constructs@38ea0ba)) * **deps:** Update zod to v4.4.3 ([open-constructs#332](open-constructs#332)) ([c10ee35](open-constructs@c10ee35)) * **deps:** Upgrade dependencies ([open-constructs#347](open-constructs#347)) ([45d3a66](open-constructs@45d3a66)) * remove cdktf from tests ([open-constructs#277](open-constructs#277)) ([dc9a8e9](open-constructs@dc9a8e9)) * ship Terraform 1.15.8 in the jsii-terraform image ([open-constructs#367](open-constructs#367)) ([deaa9b0](open-constructs@deaa9b0)) * Upgrade dependencies for lib ([open-constructs#348](open-constructs#348)) ([d616f17](open-constructs@d616f17)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: open-constructs-cdktn[bot] <291052431+open-constructs-cdktn[bot]@users.noreply.github.com>
X-Guardian
pushed a commit
to X-Guardian/cdk-terrain
that referenced
this pull request
Aug 10, 2026
…constructs#372) ## Summary - The `release_github` job's "Mark merged release PR as tagged" step calls `gh pr edit` without an explicit repo, so `gh` shells out to `git` to auto-detect it. - That job runs inside the `jsii-terraform` container, where the checkout is owned by a different UID than the container user, so `git` refuses with "detected dubious ownership" and the step fails (exit code 1), even though the GitHub release itself already succeeded. - Fix: pass `-R "${{ github.repository }}"` to `gh pr edit` so it never needs `git` to infer the repo — smallest possible fix, no container/git config changes needed. Note: an alternative fix would be adding a `git config --global --add safe.directory /__w/cdk-terrain/cdk-terrain` step after checkout (as `prepare-release` and `prepare-next` already do), but passing `-R` avoids touching git config in the container entirely. Diagnosed from the failed run: https://github.com/open-constructs/cdk-terrain/actions/runs/31133236561/job/92730605482 As an immediate unblock, I've also manually relabeled the affected PR (open-constructs#303) from `autorelease: pending` to `autorelease: tagged` so release-please can open the next release PR. ## Test plan - [ ] Next release run exercises the `release_github` job's relabel step and confirms `gh pr edit -R ...` succeeds inside the container
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 Release PR — merge to cut a new release. Kept open and rebased as commits land on
main.0.24.0
0.24.0 (2026-08-06)
⚠ BREAKING CHANGES
Features
Bug Fixes
moveFromIdJSDoc (#355) (e1cf8ce)Miscellaneous Chores
This PR was generated with Release Please. See documentation.