From 15a221464f387ac69d45764a8359ffb25a57130e Mon Sep 17 00:00:00 2001 From: Vitor Mattos Date: Tue, 22 Sep 2026 23:23:14 -0300 Subject: [PATCH 1/2] refactor: keep release plan JSON out of action outputs Keep the complete ReleasePlan in its state file/artifact and expose only the concise ready/path outputs needed by the workflow. This avoids dumping the full plan payload into nested action logs while preserving the step summary and audit contracts. Signed-off-by: Vitor Mattos --- actions/release-plan/action.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/actions/release-plan/action.yml b/actions/release-plan/action.yml index 6770589..bf16575 100644 --- a/actions/release-plan/action.yml +++ b/actions/release-plan/action.yml @@ -37,9 +37,6 @@ inputs: required: true outputs: - plan: - description: ReleasePlan v1 JSON. - value: ${{ steps.plan.outputs.plan }} ready: description: Whether the plan is ready for the next stage. value: ${{ steps.plan.outputs.ready }} @@ -115,11 +112,7 @@ runs: echo !empty($plan["ready"]) ? "true" : "false"; ' "${plan_file}")" - delimiter="release-plan-${RANDOM}-${RANDOM}" { - echo "plan<<${delimiter}" - cat "${plan_file}" - echo "${delimiter}" echo "ready=${ready}" echo "plan-path=${plan_file}" } >> "${GITHUB_OUTPUT}" From b2c238b9c6a99329c8fc0dcf99a23647320952de Mon Sep 17 00:00:00 2001 From: Vitor Mattos Date: Tue, 22 Sep 2026 23:24:00 -0300 Subject: [PATCH 2/2] test: reflect concise release plan outputs Signed-off-by: Vitor Mattos --- tests/test_release_plan_action.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/test_release_plan_action.py b/tests/test_release_plan_action.py index 5aa3c5c..72aa50f 100644 --- a/tests/test_release_plan_action.py +++ b/tests/test_release_plan_action.py @@ -31,12 +31,15 @@ def test_action_exposes_release_plan_v1_inputs_and_outputs(self) -> None: "ignore-open-backport:", "create-follow-up-milestone:", "config-path:", - "plan:", "ready:", "tool-version:", + "tool-path:", + "plan-path:", ): self.assertIn(expected, content) + self.assertNotIn("description: ReleasePlan v1 JSON.", content) + for transitional in ( "mode:", "safe-public-text:",