Skip to content

Conversation

@naspirato
Copy link
Collaborator

Changelog entry

FOR CHANGLOG TEST!
ITS GOOD CHANGES!

Changelog category

  • Not for changelog (changelog entry is not required)

Description for reviewers

Original PR(s)

Metadata

Git Cherry-Pick Log

=== Cherry-picking 72f7256 ===
[cherry-pick-stable-25-3-251125-135815 759af33ba45] increase timeout for tpch100 (#29440)
 Author: Олег <[email protected]>
 Date: Mon Nov 24 16:27:07 2025 +0300
 1 file changed, 1 insertion(+), 1 deletion(-)

=== Cherry-picking 6b621df ===
Auto-merging .github/workflows/cherry_pick.yml
[cherry-pick-stable-25-3-251125-135815 d9a6bd74505] Enhance cherry-pick script with support for unmerged PRs and improved error handling
 Date: Tue Nov 18 12:40:18 2025 +0100
 2 files changed, 652 insertions(+), 72 deletions(-)

=== Cherry-picking 8552c22 ===
Auto-merging .github/workflows/cherry_pick.yml
[cherry-pick-stable-25-3-251125-135815 13a81c434b6] Enhance cherry-pick script with changelog extraction and improved PR body formatting
 Date: Tue Nov 18 12:55:18 2025 +0100
 2 files changed, 162 insertions(+), 17 deletions(-)

=== Cherry-picking 102ac95 ===
[cherry-pick-stable-25-3-251125-135815 9ffeb8bc890] Enhance cherry-pick script to avoid branch name conflicts and improve backport comment handling
 Date: Tue Nov 18 13:07:11 2025 +0100
 1 file changed, 31 insertions(+), 6 deletions(-)

=== Cherry-picking f064c5d ===
[cherry-pick-stable-25-3-251125-135815 ceda5ad3b07] Enhance cherry-pick script to include detailed conflict resolution information
 Date: Tue Nov 18 14:16:29 2025 +0100
 1 file changed, 61 insertions(+), 18 deletions(-)

=== Cherry-picking 391896e ===
[cherry-pick-stable-25-3-251125-135815 0bd6549b3be] Add PR template and category definitions for validation
 Date: Tue Nov 18 14:20:32 2025 +0100
 3 files changed, 84 insertions(+), 63 deletions(-)
 create mode 100644 .github/actions/validate_pr_description/pr_template.py

=== Cherry-picking a22daf4 ===
[cherry-pick-stable-25-3-251125-135815 6947eb580d9] Enhance cherry-pick script with improved error handling and conflict resolution
 Date: Tue Nov 18 15:19:10 2025 +0100
 1 file changed, 49 insertions(+), 40 deletions(-)

=== Cherry-picking ed3267e ===
[cherry-pick-stable-25-3-251125-135815 cef651f25b4] Enhance cherry-pick script with improved conflict handling and logging
 Date: Tue Nov 18 15:53:02 2025 +0100
 1 file changed, 135 insertions(+), 20 deletions(-)

=== Cherry-picking fccbda3 ===
[cherry-pick-stable-25-3-251125-135815 315a4b736d5] Refactor changelog extraction in cherry-pick script
 Date: Tue Nov 18 16:39:19 2025 +0100
 1 file changed, 59 insertions(+), 33 deletions(-)

=== Cherry-picking 88c83ad ===
[cherry-pick-stable-25-3-251125-135815 d5d75325501] Enhance cherry-pick script with improved diff link generation
 Date: Tue Nov 18 16:49:48 2025 +0100
 1 file changed, 39 insertions(+), 14 deletions(-)

=== Cherry-picking 1ea50f0 ===
[cherry-pick-stable-25-3-251125-135815 0b594eeae44] Enhance cherry-pick script with improved backport comment management
 Date: Tue Nov 18 17:10:39 2025 +0100
 1 file changed, 93 insertions(+), 15 deletions(-)

=== Cherry-picking 1cf3ccb ===
[cherry-pick-stable-25-3-251125-135815 72adf7808f2] Refactor cherry-pick script for improved PR validation and changelog extraction
 Date: Tue Nov 18 18:05:22 2025 +0100
 1 file changed, 59 insertions(+), 44 deletions(-)

=== Cherry-picking 6b14cb9 ===
[cherry-pick-stable-25-3-251125-135815 4897bbded5d] Update cherry-pick script to change cherry-pick command options
 Date: Tue Nov 18 18:15:53 2025 +0100
 1 file changed, 1 insertion(+), 1 deletion(-)

=== Cherry-picking 8805c9a ===
[cherry-pick-stable-25-3-251125-135815 4ec438e4a20] Refactor cherry-pick command in script to simplify handling of empty commits
 Date: Tue Nov 18 18:26:58 2025 +0100
 1 file changed, 2 insertions(+), 1 deletion(-)

=== Cherry-picking 12a4d4d ===
[cherry-pick-stable-25-3-251125-135815 bf8bab8e090] Refactor cherry-pick script to streamline commit existence checks and improve error handling
 Date: Tue Nov 18 23:42:22 2025 +0100
 1 file changed, 10 insertions(+), 85 deletions(-)

=== Cherry-picking f2fb02b ===
[cherry-pick-stable-25-3-251125-135815 bc15060a2ad] Enhance cherry-pick script to improve conflict message handling and logging
 Date: Tue Nov 18 23:59:07 2025 +0100
 1 file changed, 103 insertions(+), 28 deletions(-)

=== Cherry-picking 041d2f5 ===
[cherry-pick-stable-25-3-251125-135815 2e2658d9cb8] Enhance cherry-pick script to improve conflict summary generation
 Date: Wed Nov 19 00:09:41 2025 +0100
 1 file changed, 24 insertions(+), 2 deletions(-)

=== Cherry-picking 0b24c4e ===
[cherry-pick-stable-25-3-251125-135815 01975fd44d5] Refine conflict message extraction in cherry-pick script
 Date: Wed Nov 19 11:02:29 2025 +0100
 1 file changed, 57 insertions(+), 10 deletions(-)

=== Cherry-picking 870456f ===
[cherry-pick-stable-25-3-251125-135815 02e63db18d4] Refine changelog category extraction in cherry-pick script
 Date: Wed Nov 19 12:02:02 2025 +0100
 1 file changed, 16 insertions(+), 6 deletions(-)

=== Cherry-picking deede0b ===
[cherry-pick-stable-25-3-251125-135815 a20922152a2] Add missing conflict markers for special conflict types in cherry-pick script
 Date: Wed Nov 19 12:09:49 2025 +0100
 1 file changed, 111 insertions(+)

=== Cherry-picking 3363bbf ===
[cherry-pick-stable-25-3-251125-135815 32eb4c236bc] Enhance logging in cherry-pick script for conflict handling
 Date: Wed Nov 19 12:28:08 2025 +0100
 1 file changed, 19 insertions(+), 1 deletion(-)

=== Cherry-picking 6738c61 ===
[cherry-pick-stable-25-3-251125-135815 5ce8749e901] Improve conflict handling in cherry-pick script
 Date: Wed Nov 19 15:16:28 2025 +0100
 1 file changed, 34 insertions(+), 2 deletions(-)

=== Cherry-picking 55f9dc4 ===
[cherry-pick-stable-25-3-251125-135815 b998d44f439] Refactor conflict message extraction in cherry-pick script
 Date: Wed Nov 19 15:27:13 2025 +0100
 1 file changed, 159 deletions(-)

=== Cherry-picking 7cfd561 ===
[cherry-pick-stable-25-3-251125-135815 001890e3861] Refactor conflict message extraction in cherry-pick script
 Date: Wed Nov 19 15:27:25 2025 +0100
 1 file changed, 31 insertions(+), 43 deletions(-)

=== Cherry-picking 03bbbf3 ===
[cherry-pick-stable-25-3-251125-135815 5106d7bb765] Improve conflict handling and logging in cherry-pick script
 Date: Thu Nov 20 16:02:08 2025 +0100
 1 file changed, 8 insertions(+), 1 deletion(-)

PR was created by cherry-pick script

iddqdex and others added 25 commits November 25, 2025 13:58
… error handling

- Added `--allow-unmerged` option to backport unmerged PRs directly using their commits.
- Introduced `--merge-commits` option to control behavior for merge commits (skip or fail).
- Enhanced error handling for cherry-pick conflicts and Git command failures.
- Improved PR title and body formatting to include metadata and linked issues.
- Updated workflow configuration to support new script options.
…body formatting

- Added methods to extract changelog category, entry, and description from PR body.
- Improved PR body generation to include extracted changelog information and ensure validation requirements are met.
- Updated workflow configuration to support new changelog features.
… backport comment handling

- Updated datetime formatting to include seconds, preventing branch name conflicts.
- Added method to find and update existing backport comments in original PRs, enhancing comment management.
- Improved logging for comment creation and updates to provide clearer feedback on operations.
…formation

- Updated the `created_backport_prs` structure to store conflicted files alongside target branches and PRs.
- Improved the PR body generation to include a section for files with conflicts, providing links for easier resolution.
- Enhanced conflict handling to return a list of conflicted files, improving logging and user feedback during cherry-pick operations.
- Introduced a new `pr_template.py` file containing PR template and issue reference patterns for the YDB project.
- Updated `validate_pr_description.py` to utilize the new template and patterns, ensuring consistency in PR descriptions.
- Enhanced `cherry_pick.py` to import category definitions and streamline changelog category handling.
…resolution

- Added detailed error handling for the `git rev-parse` command to ensure the repository is cloned before execution.
- Updated exception handling to specify the type of error encountered during PR fetching and automerge attempts.
- Improved conflict detection logic to ensure all changes are captured and logged appropriately.
- Enhanced logging for conflict resolution, providing clearer feedback on the status of conflicted files.
- Added detailed diagnostics for `git merge-base` command to better handle ancestor checks and error reporting.
- Updated conflict resolution logic to capture line numbers of conflicts, improving user feedback on conflicted files.
- Enhanced PR body generation to include links to specific lines in files with conflicts, facilitating easier resolution.
- Introduced a method to find the first line with conflict markers in files, improving conflict detection accuracy.
- Renamed method to extract only the content of the Changelog entry section from PR body.
- Updated logic to collect and merge Changelog entry contents from multiple PRs, improving clarity and usability.
- Enhanced fallback mechanisms for Changelog entry generation, ensuring robust handling of various PR scenarios.
- Updated the logic for generating links to files in PR diffs to use SHA256 hashes of file content, improving accuracy and reliability.
- Introduced a fallback mechanism to link to the PR files page if the diff hash cannot be retrieved.
- Refactored the method for computing file hashes to handle base64-encoded content, ensuring compatibility with GitHub's requirements for diff anchors.
- Updated logic to check for existing backport comments and determine if updates are necessary based on the presence of target branches and workflow URLs.
- Improved handling of comment updates to append results or replace "in progress" lines, ensuring clarity in backport status.
- Enhanced logging for comment updates to provide better feedback on operations related to backport comments.
…extraction

- Enhanced import handling for the PR template to include error logging for import failures.
- Updated PR validation logic to utilize already loaded PR objects, reducing unnecessary API calls.
- Refactored changelog entry extraction to support stopping at the changelog category, improving flexibility.
- Improved file hash computation to handle both text and binary files correctly.
- Enhanced conflict line detection and error handling for better user feedback during cherry-pick operations.
- Modified the cherry-pick command to use '--empty=drop' instead of '--allow-empty', improving handling of empty commits during cherry-picking operations.
…commits

- Removed the '--empty=drop' option from the cherry-pick command, as it is unnecessary due to Git's default behavior of skipping empty commits. This change streamlines the command and improves clarity in the script.
… improve error handling

- Removed the method for checking if a commit exists in the target branch, simplifying the cherry-pick process.
- Updated the cherry-pick logic to handle cases where commits are already applied, improving user feedback and logging during cherry-pick operations.
…ogging

- Updated the conflict resolution logic to capture and display detailed conflict messages alongside file paths and line numbers.
- Introduced a new method to extract conflict messages from git output, enhancing clarity during manual resolution.
- Improved logging to provide detailed information about detected conflicts, aiding in troubleshooting and resolution efforts.
- Updated the conflict handling logic to create a detailed summary of files with conflicts, including file paths, line numbers, and associated messages.
- Improved the formatting of PR summaries for better readability, ensuring clarity when conflicts arise during cherry-picking operations.
- Enhanced the logic for capturing conflict messages to ensure accurate matching of file paths, including handling both relative and absolute paths.
- Improved the detection of continuation lines in conflict messages, allowing for better summarization of conflicts.
- Added a cleanup step to quit the cherry-pick operation if no commits are left to apply, improving script robustness.
- Updated the logic to collect and determine the changelog category from multiple PRs, ensuring it is only set if all categories are the same.
- Improved handling of category extraction to allow for better flexibility when dealing with differing categories across PRs.
- Enhanced comments for clarity on the purpose of category determination in the changelog process.
…k script

- Introduced a new method to add Git conflict markers for conflict types (DU, UD, AA) where they are not generated automatically.
- Enhanced the conflict resolution process by ensuring visibility of conflicts in PR diffs, improving user experience during cherry-picking.
- Updated logging to provide feedback when conflict markers are added, aiding in troubleshooting and resolution efforts.
- Added debug and warning logs to provide better visibility into the conflict resolution process, including details on the number of status lines and specific conflict types (DU, UD, AA).
- Improved error handling by including exception information in warning logs when adding conflict markers fails.
- Updated logging to ensure clarity on the state of conflict markers and the conditions under which they are added or skipped.
- Added logic to skip files that already have conflict markers to prevent overwriting existing information during cherry-picking.
- Introduced a mechanism to track processed files, ensuring that multiple conflicts in the same file are handled sequentially without duplication.
- Enhanced logging to provide clearer insights into the conflict resolution process, including reasons for skipping files and details on existing conflict markers.
- Replaced the previous method for extracting conflict messages with a new function that accurately matches file paths from git output, improving reliability.
- Enhanced the handling of conflict messages to ensure both relative and absolute paths are considered, streamlining the conflict resolution process.
- Removed redundant code related to conflict message extraction, simplifying the overall logic and improving maintainability.
- Introduced a new method to find conflict messages for specific files, improving the accuracy of message matching from git output.
- Simplified the conflict message extraction logic by consolidating redundant code, enhancing maintainability and readability.
- Ensured compatibility with both relative and absolute file paths in conflict message matching, streamlining the conflict resolution process.
- Added a warning log for unexpected clean working tree state after conflict detection, indicating potential auto-resolution or inconsistent state.
- Updated the cherry-pick logic to use '--skip' instead of '--quit' when a commit is already in the target branch, enhancing the cleanup process during cherry-picking.
@naspirato naspirato requested review from a team as code owners November 25, 2025 12:58
@naspirato naspirato enabled auto-merge November 25, 2025 12:58
@github-actions
Copy link

github-actions bot commented Nov 25, 2025

2025-11-25 13:00:56 UTC Pre-commit check linux-x86_64-relwithdebinfo for 54c4acb has started.
2025-11-25 13:01:36 UTC Artifacts will be uploaded here
2025-11-25 13:04:41 UTC ya make is running...
🟢 2025-11-25 13:17:00 UTC Tests successful.

Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
673 668 0 0 4 1

🟢 2025-11-25 13:17:08 UTC Build successful.
🟡 2025-11-25 13:17:19 UTC ydbd size 2.3 GiB changed* by +179.2 KiB, which is >= 100.0 KiB vs stable-25-3: Warning

ydbd size dash stable-25-3: cc64f5f merge: 54c4acb diff diff %
ydbd size 2 442 066 080 Bytes 2 442 249 584 Bytes +179.2 KiB +0.008%
ydbd stripped size 522 717 736 Bytes 522 737 288 Bytes +19.1 KiB +0.004%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

@naspirato naspirato closed this Nov 25, 2025
auto-merge was automatically disabled November 25, 2025 13:01

Pull request was closed

@github-actions
Copy link

🟢 2025-11-25 13:02:33 UTC The validation of the Pull Request description is successful.

@github-actions
Copy link

github-actions bot commented Nov 25, 2025

2025-11-25 13:02:47 UTC Pre-commit check linux-x86_64-release-asan for 54c4acb has started.
2025-11-25 13:03:02 UTC Artifacts will be uploaded here
2025-11-25 13:05:34 UTC ya make is running...
🟡 2025-11-25 13:29:12 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet

Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
573 404 0 20 148 1

🟢 2025-11-25 13:29:20 UTC Build successful.
🟡 2025-11-25 13:29:36 UTC ydbd size 3.8 GiB changed* by +260.7 KiB, which is >= 100.0 KiB vs stable-25-3: Warning

ydbd size dash stable-25-3: cc64f5f merge: 54c4acb diff diff %
ydbd size 4 064 731 840 Bytes 4 064 998 760 Bytes +260.7 KiB +0.007%
ydbd stripped size 1 514 538 656 Bytes 1 514 586 176 Bytes +46.4 KiB +0.003%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants