This is an automated email from the ASF dual-hosted git repository.
sigram pushed a commit to branch branch_10x
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/branch_10x by this push:
new 62620f6466c Make sure the dependencyChanges.py processes also already
existing solrbot changelog entries added in earlier RCs.
62620f6466c is described below
commit 62620f6466cba1feaa51625d9fe8de1bc2b749be
Author: Andrzej BiaĆecki <[email protected]>
AuthorDate: Wed Oct 21 14:41:45 2026 +0200
Make sure the dependencyChanges.py processes also already existing
solrbot changelog entries added in earlier RCs.
Co-authored-by: Claude Sonnet 5.5 <[email protected]>
---
dev-docs/changelog.adoc | 3 ++-
dev-tools/scripts/dependencyChanges.py | 25 ++++++++++++++++++++++++-
dev-tools/scripts/releaseWizard.yaml | 3 ++-
3 files changed, 28 insertions(+), 3 deletions(-)
diff --git a/dev-docs/changelog.adoc b/dev-docs/changelog.adoc
index bd8d3e5cd4a..29121fa3ed7 100644
--- a/dev-docs/changelog.adoc
+++ b/dev-docs/changelog.adoc
@@ -277,7 +277,8 @@ Wizard but can also be run standalone. Run with `--help`
for usage.
`dev-tools/scripts/dependencyChanges.py` summarizes the third-party dependency
changes
since the previous release by diffing `solr/licenses/`. By default it prints
to stdout;
with `--write`, the Release Wizard uses it to write `dependency_update`
changelog entries
-(one each for added, upgraded, and removed).
+(one each for added, upgraded, and removed) and to delete the per-PR
`dependency_update`
+entries authored by `solrbot` from `changelog/unreleased/`, which the summary
replaces.
== 7. Further Reading
diff --git a/dev-tools/scripts/dependencyChanges.py
b/dev-tools/scripts/dependencyChanges.py
index c5d71a381f4..bb2c49c0f1c 100644
--- a/dev-tools/scripts/dependencyChanges.py
+++ b/dev-tools/scripts/dependencyChanges.py
@@ -21,7 +21,9 @@ jar checksum files in solr/licenses/ between two git refs (by
default: the
previous release tag and HEAD). Jars that moved between the same two versions
are listed together, since they are typically from the same project.
-Prints the summary to stdout, or with --write, writes changelog YAML entries.
+Prints the summary to stdout, or with --write, writes changelog YAML entries
and
+deletes the per-PR dependency_update entries authored by solrbot, which the
summary
+supersedes.
This is a stopgap until Solr publishes an SBOM per release, which would be the
better source to diff.
@@ -165,6 +167,26 @@ def to_yaml(title, version):
f' url:
https://github.com/apache/solr/tree/releases/solr/{version}/solr/licenses\n')
+def is_solrbot_dependency_entry(path):
+ """Whether a changelog YAML entry is a dependency_update with solrbot among
its authors."""
+ with open(path, encoding='utf-8') as f:
+ text = f.read()
+ return (re.search(r'^type:\s*dependency_update\s*$', text, re.M) is not None
+ and re.search(r'^\s*-?\s*name:\s*[\'"]?solrbot[\'"]?\s*$', text,
re.M) is not None)
+
+
+def remove_solrbot_entries(directory):
+ """Deletes solrbot's per-PR dependency_update entries; the generated summary
replaces them."""
+ count = 0
+ for name in sorted(os.listdir(directory)):
+ path = os.path.join(directory, name)
+ if (name.endswith('.yml') and not name.startswith('dependency-changes-')
+ and is_solrbot_dependency_entry(path)):
+ os.remove(path)
+ count += 1
+ print(f'Removed {count} solrbot dependency_update entries from {directory}')
+
+
def main():
parser = argparse.ArgumentParser(description=__doc__,
formatter_class=argparse.RawDescriptionHelpFormatter)
parser.add_argument('--from', dest='from_ref',
@@ -196,6 +218,7 @@ def main():
elif os.path.exists(path):
os.remove(path)
print(f'Removed {path}; no {category} dependency changes')
+ remove_solrbot_entries(args.write)
if __name__ == '__main__':
diff --git a/dev-tools/scripts/releaseWizard.yaml
b/dev-tools/scripts/releaseWizard.yaml
index c41bdde83e5..27437a82882 100644
--- a/dev-tools/scripts/releaseWizard.yaml
+++ b/dev-tools/scripts/releaseWizard.yaml
@@ -653,12 +653,13 @@ groups:
description: |
Add changelog entries summarizing third-party dependencies added,
upgraded, and removed since the
previous release, derived from the jar checksum files in
`solr/licenses/`.
+ It also deletes the individual `dependency_update` entries by solrbot,
which the summary replaces.
Re-running it overwrites the entries, e.g. if dependencies changed
before a respin.
Run the script without `--write` to just print the summary.
depends: clean_git_checkout
commands: !Commands
root_folder: '{{ git_checkout_folder }}'
- commands_text: We call out to a helper script that writes
`changelog/unreleased/dependency-changes-*.yml`
+ commands_text: We call out to a helper script that writes
`changelog/unreleased/dependency-changes-*.yml` and removes solrbot's per-PR
dependency entries
confirm_each_command: true
commands:
- !Command