Skip to content
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

chore: Switch to pinned nanoversion strategy #1069

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

xli1996
Copy link
Member

@xli1996 xli1996 commented Sep 30, 2022

what

This PR adds pinnedNanoVersions property, so that project will try to pin each upstream version update in pom.xml instead of using version range which always selects the latest version.

e.g.
[7.3.0, 7.4.0) -> 7.3.0-99 after each build
image

why

  • better reproducible builds, master/release branch won't follow latest upstream dependency because of version range. Local build dependencies can be traced more easily.
  • branch become more stable since it will reject broken changes from upstream.
  • version bump commit will be serperated from actual code change so that broken change can be targeted easily.

The current git workflow:

That is brought up by Ksql team initially because they want to have better reproducible builds. And with that change, version bumps will only happen when the upstream build is compatible. That means the mater branch will be more stable and reject broken upstream changes.

@xli1996 xli1996 requested a review from a team as a code owner September 30, 2022 20:43
@ehumber
Copy link
Member

ehumber commented Nov 22, 2022

@xli1996 What's the strategy going to be for keeping the nano-version up to date?

There are definite advantages of pinning the version wrt stability, but the counter argument is that the pinned component gets hugely out of date and then there is potentially an effort needed to get the components working together again after eg 6 months of being forgotten.

@ijuma
Copy link
Member

ijuma commented Nov 22, 2022

As I understand it, the nano version is automatically updated when there's a successful build.

@msn-tldr
Copy link
Member

msn-tldr commented Dec 8, 2022

+1 to what @ehumber said.

@ijuma thats gr8!

@xli1996 & @ijuma if pinned version doesn't get updated for a while(breaking build/tests etc.), is there a way that SR team/oncall will get notified to take action?

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.

None yet

4 participants