Expose Terraform release matrix#1996
Draft
gunzip wants to merge 2 commits into
Draft
Conversation
Return fail-closed environment deployment metadata from nx-release publishes so callers can orchestrate deployments independently from package publishing. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
gunzip
temporarily deployed
to
bootstrapper-dev-ci
July 16, 2026 18:36 — with
GitHub Actions
Inactive
gunzip
temporarily deployed
to
bootstrapper-prod-ci
July 16, 2026 18:36 — with
GitHub Actions
Inactive
This was referenced Jul 16, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR extends the actions/nx-release composite action to surface an authoritative “released Terraform environments” matrix derived from the latest merged Version Packages PR metadata, enabling downstream release orchestration to consume validated deployment metadata without re-inferring it.
Changes:
- Added a new script to map released tags to Nx environment projects and output a JSON matrix of deployable Terraform environments.
- Exposed additional action outputs (
release-mode,published-pr-number,released-environment-matrix) and wired matrix extraction into the publish flow. - Updated documentation and added unit tests plus a version plan for the
nx-releaseaction.
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| actions/nx-release/tsup.config.ts | Bundles the new extraction script into the action’s committed scripts/dist output. |
| actions/nx-release/scripts/extract-infra-projects-to-apply.ts | New fail-closed extractor that resolves released environment projects and their deployment metadata into a JSON matrix. |
| actions/nx-release/scripts/tests/extract-infra-projects-to-apply.test.ts | Unit tests covering happy path and failure modes for the new extractor. |
| actions/nx-release/README.md | Documents new outputs and the publish behavior around Terraform environment metadata. |
| actions/nx-release/action.yaml | Adds new outputs and emits the released environment matrix during publish. |
| .nx/version-plans/version-plan-1784226943067.md | Declares a minor version bump for nx-release to ship the new exposed metadata. |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
gunzip
temporarily deployed
to
bootstrapper-dev-ci
July 17, 2026 07:35 — with
GitHub Actions
Inactive
gunzip
temporarily deployed
to
bootstrapper-prod-ci
July 17, 2026 07:35 — with
GitHub Actions
Inactive
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.
Why
Release orchestration needs an authoritative list of Terraform environments included in a merged Version Packages PR without re-querying or inferring deployment inputs downstream.
What changed
nx-releaseaction.This PR only exposes metadata; it does not dispatch deployment workflows.
Validation
pnpm nx run nx-release:test:coveragepnpm nx run-many -t lint typecheck -p nx-releasepnpm nx run nx-release:buildDepends on #1995.
Extracted from #1926.