diff --git a/VERSION b/VERSION index c1e4fc8..9c4bb2c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.6.27 +0.6.28 diff --git a/actions/release-plan/action.yml b/actions/release-plan/action.yml index 9ae6811..6770589 100644 --- a/actions/release-plan/action.yml +++ b/actions/release-plan/action.yml @@ -142,6 +142,10 @@ runs: ' "${plan_file}" "${RELEASE_TOOL_VERSION}" } >> "${GITHUB_STEP_SUMMARY}" - cat "${plan_file}" + if [[ "${exit_code}" -eq 3 ]]; then + echo "::warning::Release plan is not ready; see the step summary and persisted state for details." + else + echo "Release plan ready: branch=${RELEASE_BRANCH}, ready=${ready}" + fi exit "${exit_code}" diff --git a/tests/test_release_plan_action.py b/tests/test_release_plan_action.py index 7e22243..5aa3c5c 100644 --- a/tests/test_release_plan_action.py +++ b/tests/test_release_plan_action.py @@ -61,6 +61,13 @@ def test_step_summary_does_not_print_public_release_text(self) -> None: summary = content.split('echo "## Release plan"', 1)[1] self.assertNotIn('public_release_text', summary) + def test_successful_plan_does_not_dump_full_contract_to_stdout(self) -> None: + content = ACTION.read_text(encoding="utf-8") + + self.assertNotIn(' cat "${plan_file}"\n\n exit "${exit_code}"', content) + self.assertIn("Release plan ready: branch=", content) + self.assertIn("Release plan is not ready; see the step summary", content) + if __name__ == "__main__": unittest.main()