Skip to content

Conversation

renovate-bot
Copy link

@renovate-bot renovate-bot commented Sep 20, 2025

Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.


Detected Package Files

  • .github/workflows/EditorConfig-Rules-Check.yml (github-actions)
  • .github/workflows/Lucene-Net-Documentation.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-AllProjects.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Analysis-Common.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Analysis-Kuromoji.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Analysis-Morfologik.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Analysis-OpenNLP.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Analysis-Phonetic.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Analysis-SmartCn.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Analysis-Stempel.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Benchmark.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Classification.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Cli.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-CodeAnalysis.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Codecs.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Demo.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Expressions.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Facet.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Grouping.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Highlighter.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-ICU.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Join.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Memory.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Misc.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Queries.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-QueryParser.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Replicator.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Sandbox.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Spatial.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-Suggest.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-TestFramework-DependencyInjection.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-TestFramework-NUnitExtensions.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-TestFramework.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-_A-D.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-_E-I.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-_I-J.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-_J-S.yml (github-actions)
  • .github/workflows/Lucene-Net-Tests-_T-Z.yml (github-actions)
  • .github/workflows/Lucene-Net-Util-Packed-Python-Scripts.yml (github-actions)
  • .github/workflows/Lucene-Net-Website.yml (github-actions)
  • .github/workflows/sonar.yml (github-actions)
  • .build/TestReferences.Common.targets (nuget)
  • .config/dotnet-tools.json (nuget)
  • Directory.Build.targets (nuget)
  • src/Lucene.Net.Analysis.Common/Lucene.Net.Analysis.Common.csproj (nuget)
  • src/Lucene.Net.Analysis.Kuromoji/Lucene.Net.Analysis.Kuromoji.csproj (nuget)
  • src/Lucene.Net.Analysis.Morfologik/Lucene.Net.Analysis.Morfologik.csproj (nuget)
  • src/Lucene.Net.Analysis.OpenNLP/Lucene.Net.Analysis.OpenNLP.csproj (nuget)
  • src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj (nuget)
  • src/Lucene.Net.Analysis.Stempel/Lucene.Net.Analysis.Stempel.csproj (nuget)
  • src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj (nuget)
  • src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj (nuget)
  • src/Lucene.Net.Facet/Lucene.Net.Facet.csproj (nuget)
  • src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj (nuget)
  • src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj (nuget)
  • src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj (nuget)
  • src/Lucene.Net.Tests.Analysis.Kuromoji/Lucene.Net.Tests.Analysis.Kuromoji.csproj (nuget)
  • src/Lucene.Net.Tests.Analysis.SmartCn/Lucene.Net.Tests.Analysis.SmartCn.csproj (nuget)
  • src/Lucene.Net.Tests.Benchmark/Lucene.Net.Tests.Benchmark.csproj (nuget)
  • src/Lucene.Net.Tests.QueryParser/Lucene.Net.Tests.QueryParser.csproj (nuget)
  • src/Lucene.Net.Tests.Replicator/Lucene.Net.Tests.Replicator.csproj (nuget)
  • src/Lucene.Net.Tests.Spatial/Lucene.Net.Tests.Spatial.csproj (nuget)
  • src/Lucene.Net.Tests.TestFramework.DependencyInjection/Lucene.Net.Tests.TestFramework.DependencyInjection.csproj (nuget)
  • src/Lucene.Net.Tests._A-D/Lucene.Net.Tests._A-D.csproj (nuget)
  • src/Lucene.Net.Tests._J-S/Lucene.Net.Tests._J-S.csproj (nuget)
  • src/Lucene.Net.Tests._T-Z/Lucene.Net.Tests._T-Z.csproj (nuget)
  • src/Lucene.Net/Lucene.Net.csproj (nuget)
  • src/docs/LuceneDocsPlugins/LuceneDocsPlugins.csproj (nuget)
  • src/dotnet/Lucene.Net.CodeAnalysis.CSharp/Lucene.Net.CodeAnalysis.CSharp.csproj (nuget)
  • src/dotnet/Lucene.Net.CodeAnalysis.VisualBasic/Lucene.Net.CodeAnalysis.VisualBasic.csproj (nuget)
  • src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj (nuget)
  • src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj (nuget)
  • src/dotnet/Lucene.Net.TestFramework.TestData.NUnit/Lucene.Net.TestFramework.TestData.NUnit.csproj (nuget)
  • src/dotnet/Lucene.Net.Tests.CodeAnalysis/Lucene.Net.Tests.CodeAnalysis.csproj (nuget)
  • src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj (nuget)
  • src/dotnet/tools/lucene-cli/lucene-cli.csproj (nuget)

Configuration Summary

Based on the default config's presets, Renovate will:

  • Start dependency updates only once this onboarding PR is merged
  • Hopefully safe environment variables to allow users to configure.
  • Show all Merge Confidence badges for pull requests.
  • Enable Renovate Dependency Dashboard creation.
  • Use semantic commit type fix for dependencies and chore for all others if semantic commits are in use.
  • Ignore node_modules, bower_components, vendor and various test/tests (except for nuget) directories.
  • Group known monorepo packages together.
  • Use curated list of recommended non-monorepo package groupings.
  • Show only the Age and Confidence Merge Confidence badges for pull requests.
  • Apply crowd-sourced package replacement rules.
  • Apply crowd-sourced workarounds for known problems with packages.

🔡 Do you want to change how Renovate upgrades your dependencies? Add your custom config to renovate.json in this branch. Renovate will update the Pull Request description the next time it runs.


What to Expect

With your current configuration, Renovate will create 7 Pull Requests:

chore(deps): update dependency docfx to v2.78.3
  • Schedule: ["at any time"]
  • Branch name: renovate/docfx-2.x
  • Merge into: master
  • Upgrade docfx to 2.78.3
chore(deps): update dependency docfx.common to 2.78.3
  • Schedule: ["at any time"]
  • Branch name: renovate/docfx.common-2.x
  • Merge into: master
  • Upgrade Docfx.Common to 2.78.3
chore(deps): update dependency docfx.plugins to 2.78.3
  • Schedule: ["at any time"]
  • Branch name: renovate/docfx.plugins-2.x
  • Merge into: master
  • Upgrade Docfx.Plugins to 2.78.3
chore(deps): update actions/checkout action to v5
  • Schedule: ["at any time"]
  • Branch name: renovate/actions-checkout-5.x
  • Merge into: master
  • Upgrade actions/checkout to v5
chore(deps): update actions/setup-dotnet action to v5
  • Schedule: ["at any time"]
  • Branch name: renovate/actions-setup-dotnet-5.x
  • Merge into: master
  • Upgrade actions/setup-dotnet to v5
chore(deps): update dependency system.composition to v9
  • Schedule: ["at any time"]
  • Branch name: renovate/major-dotnet-monorepo
  • Merge into: master
  • Upgrade System.Composition to 9.0.10
chore(deps): update peter-evans/create-pull-request action to v7

🚸 Branch creation will be limited to maximum 2 per hour, so it doesn't swamp any CI resources or overwhelm the project. See docs for prhourlylimit for details.


❓ Got questions? Check out Renovate's Docs, particularly the Getting Started section.
If you need any further assistance then you can also request help here.


This PR was generated by Mend Renovate. View the repository job log.

@NightOwl888 NightOwl888 added Project Infrastructure notes:ignore Don't show this PR in the Release Notes up-for-grabs This issue is open to be worked on by anyone labels Sep 20, 2025
@NightOwl888
Copy link
Contributor

NightOwl888 commented Sep 21, 2025

I requested to enable Renovate on this repository: https://issues.apache.org/jira/browse/INFRA-27255

Per the GitHub Actions Policy, Dependabot is a requirement when running GitHub Actions. However, per ChatGPT Dependabot doesn't meet our needs (for example, it doesn't support any way to update dependencies per $(TargetFramework)).

Mend Renovate is a more configurable alternative. However, it does take a bit of effort to get the configuration into shape. It can be configured a number of ways, but this is called Forking Renovate, which has a handy configuration dashboard here:

https://developer.mend.io/github/apache/lucenenet

Configuration

I found that installing the local Node app (which can be installed via NPM) is a good way to rapidly try different configuration options.

npm install -g renovate@41.113.2

Note

The tool is upgraded frequently and configuration options have changed pretty rapidly over time. So, it is important to use the same version that the bot uses. However, I tested this using a GitHub Action, so I have not yet explored how to figure out which version the bot is running. Using the latest and updating the local copy frequently is probably the safest bet.

It can then be run with local scope and verbose logging to check whether the config options and packages are being detected.

renovate --platform=local --repository-cache=reset > F:\renovate-log.txt

It doen't provide any info on what a PR it would generate would look like, though. AFAIK, that test has to be done on a real repository (although it could be a fork so we don't pollute this one with PR spam).

Although ChatGPT is helpful, it often suggests outdated configuration options that may or may not still function. I found these blog posts very helpful when doing custom regex matching:

While we could configure it to detect the versions from .build/dependencies.props and update them, it would probably be simpler to migrate to Central Package Management so the versions are detected automatically.

We also have to consider that we don't want some of these packages to be upgraded (or at least not to the latest version) in certain cases and whether to group dependencies together in a single PR vs getting a PR for every one. I think for the time being, it probably makes sense to group all GitHub Actions tasks into a single PR, for example.

The official configuration docs are here: https://docs.renovatebot.com/configuration-options/

I created a configuration for repo here: https://github.com/NightOwl888/lucenenet-codeanalysis-dev/blob/e9d5a3f24cb95f0a4dc3534c3e11337cd9497e9e/renovate.json, which can be used as a starting point for this one.

However, do note that configuration is for a GitHub workflow, so there is no schedule set up.


We definitely don't want to use the default configuation, as certain packages (for example the src/dotnet/Lucene.Net.CodeAnalysis.CSharp/Lucene.Net.CodeAnalysis.CSharp.csproj and src/dotnet/Lucene.Net.CodeAnalysis.CSharp/Lucene.Net.CodeAnalysis.VisualBasic.csproj) should not be upgraded to the next major version (minor and patches are okay). Also, the Apache GitHub Actions policy is to pin to the commit hash rather than version number (which I worked out how to do in the above example configuration).

Let me know if interested in helping out on getting the initial configuration set up.

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

Labels

notes:ignore Don't show this PR in the Release Notes Project Infrastructure up-for-grabs This issue is open to be worked on by anyone

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants