-
Notifications
You must be signed in to change notification settings - Fork 809
Enable renovatebot for the project #1375
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
17 commits
Select commit
Hold shift + click to select a range
a3f9d2f
Enable renovatebot
janhoy ec1873c
Add PR label `dependencies` for each PR opened.
janhoy 27fe6b4
SOLR-16660 Deprecate analytics component (#1361)
janhoy 6726f79
SOLR-15959 Deprecate loading of solr.xml from ZK (#1362)
janhoy 62c2bab
SOLR-16650, SOLR-16532: OTEL tracer additional tags (#1342)
janhoy e273382
SOLR-16664: TestCoordinatorRole fails docs is null (#1363)
risdenk ea722f1
Change initial schedule to a few hours every day
janhoy bf04922
Include only the two build files we care about
janhoy 6e339d0
Merge branch 'main' into add-renovate.json
janhoy ad4886d
Add dev docs explaining the bot
janhoy b18e233
Tweak wording.
janhoy 636e82f
Adds description to json
janhoy 1696f31
Adjust includePaths
janhoy e5d426b
Rename httpcomponents group
janhoy 9d087b8
Remove "Maintaining the bot" chapter, as this is already covered in t…
janhoy c4d4e5c
Add solrbot as 'collaborator', i.e. triage role, letting it add the '…
janhoy 1a7d120
Remove labels
janhoy File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| { | ||
| "$schema": "https://docs.renovatebot.com/renovate-schema.json", | ||
| "description": "Runs Renovate with solrbot, see dev-docs/dependency-upgrades.adoc for more", | ||
| "enabled": true, | ||
| "dependencyDashboard": false, | ||
| "enabledManagers": ["gradle"], | ||
| "includePaths": ["versions.*", "build.gradle"], | ||
| "postUpgradeTasks": { | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is great, and a step that's missing in the dependabot feature for the solr-operator. |
||
| "commands": ["./gradlew updateLicenses"], | ||
| "fileFilters": ["solr/licenses/*.sha1"], | ||
| "executionMode": "branch" | ||
| }, | ||
| "packageRules": [ | ||
| { | ||
| "description": "Fix for non-semantic versions for older artifacts", | ||
| "matchDatasources": ["maven"], | ||
| "matchPackageNames": ["commons-collections:commons-collections", "commons-io:commons-io", "commons-lang:commons-lang"], | ||
| "versioning": "regex:^(?<major>\\d{1,4})\\.(?<minor>\\d+)(\\.(?<patch>\\d+))?$" | ||
janhoy marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| }, | ||
| { | ||
| "description": "Group these together in same PR", | ||
| "matchPackagePatterns": ["org.apache.httpcomponents"], | ||
| "groupName": "org.apache.httpcomponents" | ||
| }, | ||
| { | ||
| "description": "Test-dependencies are checked less often than the shipped deps", | ||
| "matchDepTypes": ["test"], | ||
| "extends": ["schedule:monthly"] | ||
| }, | ||
| { | ||
| "description": "Noisy, frequently updated dependencies checked less often", | ||
| "matchPackagePrefixes": ["software.amazon.awssdk"], | ||
| "extends": ["schedule:monthly"] | ||
| }, | ||
| { | ||
| "description": "Workaround for https://github.com/renovatebot/renovate/issues/19226", | ||
| "matchPackageNames": ["solr:modules", "HH:mm"], | ||
| "enabled": false | ||
| } | ||
| ], | ||
| "schedule": [ | ||
| "* 8-20 * * *" | ||
| ], | ||
| "prConcurrentLimit": 5, | ||
| "prHourlyLimit": 5, | ||
| "stabilityDays": 5 | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,59 @@ | ||
| = Dependency upgrades | ||
| // Licensed to the Apache Software Foundation (ASF) under one | ||
| // or more contributor license agreements. See the NOTICE file | ||
| // distributed with this work for additional information | ||
| // regarding copyright ownership. The ASF licenses this file | ||
| // to you under the Apache License, Version 2.0 (the | ||
| // "License"); you may not use this file except in compliance | ||
| // with the License. You may obtain a copy of the License at | ||
| // | ||
| // http://www.apache.org/licenses/LICENSE-2.0 | ||
| // | ||
| // Unless required by applicable law or agreed to in writing, | ||
| // software distributed under the License is distributed on an | ||
| // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
| // KIND, either express or implied. See the License for the | ||
| // specific language governing permissions and limitations | ||
| // under the License. | ||
|
|
||
| Solr has lots of 3rd party dependencies, defined mainly in `versions.props`. | ||
| Keeping them up-to-date is crucial for a number of reasons: | ||
|
|
||
| * minimizing the risk of critical CVE vulnerabilities by staying on a recent and supported version | ||
| * avoiding "dependency hell", that can arise from falling too far behind | ||
|
|
||
| Read the `help/dependencies.txt` file for an in-depth explanation of how gradle is deployed in Solr, using | ||
| https://github.com/palantir/gradle-consistent-versions[Gradle consistent-versions] plugin. | ||
|
|
||
| == Manual dependency upgrades | ||
| In order to upgrade a dependency, you need to run through a number of steps: | ||
|
|
||
| 1. Identify the available versions from e.g. https://search.maven.org[Maven Central] | ||
| 2. Update the version in `versions.props` file | ||
| 3. Run `./gradlew --write-locks` to re-generate `versions.lock`. Note that this may cause a cascading effect where | ||
| the locked version of other dependencies also change. | ||
| 4. Run `./gradlew updateLicenses` to re-generate SHA1 checksums of the new jar files. | ||
| 5. Once in a while, a new version of a dependency will transitively bring in brand-new dependencies. | ||
| You'll need to decide whether to keep or exclude them. See `help/dependencies.txt` for details. | ||
|
|
||
| == Renovate bot Pull Requests | ||
| A member of the Solr community operates a Github bot running https://github.com/renovatebot/renovate[Renovate], which | ||
janhoy marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| files Pull Requests to Solr with dependency upgrade proposals. The PRs are labeled `dependencies` and do include | ||
| changes resulting from `gradle --write-locks` and `updateLicenses`. | ||
|
|
||
| Community members and committers can then review, and if manual changes are needed, help bring the PR to completion. | ||
| For many dependencies, a changelog is included in the PR text, which may help guide the upgrade decision. | ||
|
|
||
| The scans are run on a schedule. New PRs are filed every Sunday, and only dependency versions that are at least | ||
janhoy marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| 5 days old are suggested, to guard against bad apples. If a new *major* version of a dependency is available, | ||
| that will get its own separate Pull Request, so you can choose. | ||
|
|
||
| If an upgrade is decided, simply merge (and backport) the PR. To skip an upgrade, close the PR. If a PR is left open, | ||
| it will be re-used and auto updated whenever a newer patch- or minor version gets available. Thus, one can reduce | ||
| churn from frequently-updated dependencies by delaying merge until a few weeks before a new release. One can also | ||
| choose to change to a less frequent schedule or disable the bot, by editing `renovate.json` | ||
|
|
||
| === Configuring renovate.json | ||
| While the bot runs on a https://github.com/solrbot/renovate-github-action[GitHub repo external to the project], | ||
| the bot behavior can be tailored by editing `.github/renovate.json` in this project. | ||
| See https://docs.renovatebot.com[Renovatebot docs] for available options. | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.