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

[Question] Separate upgrade commits in a single PR #520

Closed
hisener opened this issue Feb 9, 2020 · 9 comments
Closed

[Question] Separate upgrade commits in a single PR #520

hisener opened this issue Feb 9, 2020 · 9 comments

Comments

@hisener
Copy link

@hisener hisener commented Feb 9, 2020

Which Renovate are you using?

Renovate Open Source CLI (using the docker image renovate/renovate:19.124.2)

Which platform are you using?

GitHub.com

Have you checked the logs? Don't forget to include them if relevant

What would you like to do?

I've set the following package rule to be able to group all upgrades so that renovate bot will create a single branch and a single PR for upgrades.

  packageRules: [
    {
      datasources: ['maven'],
      managers: ['maven'],
      registryUrls: ['...'],
      groupName: 'All',
      packagePatterns: ['.*'],
    }
  ]

But I also want to have separate commits instead of single Upgrade All commit. Something like:

Upgrade junit 4.12 -> 4.13 (commit1)
Upgrade slf4j 1.7.29 -> 1.7.30 (commit2) 

I've check configuration options but couldn't see any options for separate commits. I wonder if it's possible in renovate. Thanks in advance.

@hisener

This comment has been minimized.

Copy link
Author

@hisener hisener commented Feb 9, 2020

Just seen this comment by @rarkins in #204 (comment) from 12 Apr 2019. Any update on this?

Individual commits will likely be supported in future but not in the short term. The single commit logic makes a lot of things simple

@viceice

This comment has been minimized.

Copy link
Collaborator

@viceice viceice commented Feb 9, 2020

Multiple commits are not yet possible.

@rarkins

This comment has been minimized.

Copy link
Collaborator

@rarkins rarkins commented Feb 10, 2020

We're unlikely to support multiple commits per branch any time soon. Having a single commit makes a lot of our logic much simpler. It would take significant development to do, probably significant time to maintain forever and make sure we never break, and not actually achieve any functionality benefit.

@hisener

This comment has been minimized.

Copy link
Author

@hisener hisener commented Feb 10, 2020

I see. But it's not very convenient to have tens of PRs. Is there any workaround that you can imagine? Maybe something like disabling git push and doing some post-processing locally?

@rarkins

This comment has been minimized.

Copy link
Collaborator

@rarkins rarkins commented Feb 10, 2020

@hisener can you first describe here what your objections/problems are with the current approach of a group PR with a single commit? I think I can guess but sometimes when I guess I'm wrong, so hence why I'm asking.

@hisener

This comment has been minimized.

Copy link
Author

@hisener hisener commented Feb 10, 2020

My concern is more related to git history. For instance, if I merge this PR as is, it's hard to tell what is upgraded.

Currently, we do upgrade our dependencies with the help of maven version plugin but preparing the commit message, gathering the changelog, etc. are mostly manual.

For example, a couple of upgrade commits (which I am trying to achieve using renovate) from our codebase looks like the following:

Upgrade Byte Buddy 1.10.4 -> 1.10.7

    See:
    - https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.10.5
    - https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.10.6
    - https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.10.7
    - https://github.com/raphw/byte-buddy/compare/byte-buddy-1.10.4...byte-buddy-1.10.7


Upgrade RxJava 2.2.15 -> 2.2.17
    
    See:
    - https://github.com/ReactiveX/RxJava/releases/tag/v2.2.16
    - https://github.com/ReactiveX/RxJava/releases/tag/v2.2.17
    - https://github.com/ReactiveX/RxJava/compare/v2.2.15...v2.2.17
@rarkins

This comment has been minimized.

Copy link
Collaborator

@rarkins rarkins commented Feb 10, 2020

Something I have been considering is to list all the upgrades within Renovate's commit messages. For example maybe it could be a markdown table. So if you have the commit message as "Update all dependencies" then the body of the commit message would then list everything that was committed.

Note that this would only be preserved in your master branch if you use either rebase or merge commits. If you squash commit then it's going to use the PR's content (I think).

@stale

This comment has been minimized.

Copy link

@stale stale bot commented Feb 13, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed soon if no further activity occurs.

@stale stale bot added the pending-closure label Feb 13, 2020
@hisener

This comment has been minimized.

Copy link
Author

@hisener hisener commented Feb 13, 2020

I think we can close this issue. Thanks for the help! @rarkins @viceice

@hisener hisener closed this Feb 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants
You can’t perform that action at this time.