databendlabs / databend

𝗗𝗮𝘁𝗮, 𝗔𝗻𝗮𝗹𝘆𝘁𝗶𝗰𝘀 & 𝗔𝗜. Modern alternative to Snowflake. Cost-effective and simple for massive-scale analytics. https://databend.com
https://docs.databend.com
Other
7.84k stars 749 forks source link

[proposal] Databend dependency management #3785

Closed PsiACE closed 2 years ago

PsiACE commented 2 years ago

Currently, between 800 and 1000 dependencies need to be compiled per full build/test of Databend.

dependent-bot is not applicable

Dependency Management

  1. a batch update of dependencies at the beginning of each month
    • cargo upgrade
    • cargo udeps
    • manually update dependencies that break changes
  2. updates to specific dependencies as required
    • cargo audit
    • development needs

As there is currently no suitable tool to update dependencies in batch, we will perform this process manually. (The main problem is the lack of a simple way to roll back specific packages based on reported errors.)

BohuTANG commented 2 years ago

The fisrt task is to remove the dependsbot from databend :)

sundy-li commented 2 years ago

If we update dependencies in batch, how could we know which new dependency is not valid?

PsiACE commented 2 years ago

If we update dependencies in batch, how could we know which new dependency is not valid?

We had to deal with these potential problems manually.

Xuanwo commented 2 years ago

Please take https://docs.renovatebot.com/rust/ into consideration.

renovatebot will update all crates in batch and have more behavior config than dependabot (which means more complex).

Some features I like:

Anyway, I think we should not update crates by hand expect there are breaking changes.

BohuTANG commented 2 years ago

We should find/make a action that can do the update in batch. Dependabot has a disscusstion on it: https://github.com/dependabot/dependabot-core/issues/2174