@@ -46,8 +46,8 @@ def get_releases_with_breaking_changes(repo, current_version, new_version):
4646
4747 # Check if release notes have breaking changes as headers
4848 body = release .get ("body" , "" )
49- breaking_header_pattern = r'^#+.*breaking changes'
50- if re .search (breaking_header_pattern , body , re .IGNORECASE | re . MULTILINE ):
49+ breaking_header_pattern = r'^\s* #+.*Breaking changes'
50+ if re .search (breaking_header_pattern , body , re .MULTILINE ):
5151 breaking_releases .append (
5252 {
5353 "version" : release_version ,
@@ -95,23 +95,24 @@ def main():
9595 "opentelemetry-java-instrumentation" , current_instrumentation_version , new_instrumentation_version
9696 )
9797
98- # Generate breaking changes summary
99- breaking_changes_summary = []
98+ # Output for GitHub Actions
99+ breaking_info = ""
100100
101101 if instrumentation_breaking :
102- breaking_changes_summary . append ( "**Breaking changes found in opentelemetry-java-instrumentation:**" )
102+ breaking_info += "**opentelemetry-java-instrumentation:**\n "
103103 for release in instrumentation_breaking :
104- breaking_changes_summary . append ( f"- [{ release ['name' ]} ]({ release ['url' ]} )" )
104+ breaking_info += f"- [{ release ['name' ]} ]({ release ['url' ]} )\n "
105105
106- # Always add contrib release link (no breaking changes detection needed)
106+ # Add contrib release link only if we have a new contrib version
107107 if new_contrib_version :
108- breaking_changes_summary .append ("**Check contrib releases:**" )
109- breaking_changes_summary .append ("- [opentelemetry-java-contrib releases](https://github.com/open-telemetry/opentelemetry-java-contrib/releases)" )
110-
111- if breaking_changes_summary :
112- print ("\n " + "\n " .join (breaking_changes_summary ))
113- else :
114- print ("\n No breaking changes detected" )
108+ breaking_info += "\n **Check contrib releases for potential breaking changes:**\n "
109+ breaking_info += "- [opentelemetry-java-contrib releases](https://github.com/open-telemetry/opentelemetry-java-contrib/releases)\n "
110+
111+ # Set GitHub output
112+ import os
113+ if os .environ .get ("GITHUB_OUTPUT" ):
114+ with open (os .environ ["GITHUB_OUTPUT" ], "a" , encoding = "utf-8" ) as output_file :
115+ output_file .write (f"breaking_changes_info<<EOF\n { breaking_info } EOF\n " )
115116
116117
117118if __name__ == "__main__" :
0 commit comments