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

Require 2.426.3 as minimum Jenkins version #1129

Merged
merged 16 commits into from
May 8, 2024

Conversation

AniketNS
Copy link
Contributor

@AniketNS AniketNS commented Apr 13, 2024

Require 2.426.3 as minimum Jenkins version

Jenkins 2.426.3 is now one of the recommended versions in the Jenkins documentation. Jenkins 2.426.3 includes an important security fix that should motivate more users to install it or a newer version.

  • 96% of the over 49000 installations of the most recent release are running on 2.426.3 or newer
  • 75% of the over 71000 installations of the second most recent release (4.6.0) are running on 2.426.3 or newer

Summary:

The vast majority of users that are installing the most recent release of the git client plugin are already running Jenkins 2.426.3 or newer.

Checklist

  • I have read the CONTRIBUTING doc
  • Unit tests pass locally with my changes
  • No Javadoc warnings were introduced with my changes
  • No spotbugs warnings were introduced with my changes
  • I have interactively tested my changes

Types of changes

What types of changes does your code introduce?

  • Infrastructure change (non-breaking change which updates dependencies or improves infrastructure)

AniketNS and others added 10 commits January 15, 2024 19:21
…insci#1099)

List more operating systems so that web searches will find the page.

Link to the operating system end of life blog post.

Correct the name of Amazon Linux name.

Add the most important option, upgrade to a supported operating system.
Bumps [org.jenkins-ci.plugins:plugin](https://github.com/jenkinsci/plugin-pom) from 4.76 to 4.77.
- [Release notes](https://github.com/jenkinsci/plugin-pom/releases)
- [Changelog](https://github.com/jenkinsci/plugin-pom/blob/master/CHANGELOG.md)
- [Commits](jenkinsci/plugin-pom@plugin-4.76...plugin-4.77)

---
updated-dependencies:
- dependency-name: org.jenkins-ci.plugins:plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@AniketNS AniketNS requested a review from a team as a code owner April 13, 2024 11:08
@MarkEWaite
Copy link
Contributor

MarkEWaite commented Apr 13, 2024

Thanks for the pull request @AniketNS . The pull request has some gaps that you can use on your journey of learning about git, GitHub, and pull requests.

  • The pull request includes many extra commits that are unrelated to the pull request. Those extra commits are a distraction to reviewers and can reduce the chances that your pull request will be reviewed. The extra commits indicate that you started your pull request from a git commit that is not the tip of the destination (master) branch. It is best to always start a pull request from the tip of the destination branch. Commands that I use to always start a commit from the tip of the destination master branch include:
    # Adding remote is only needed once
    git remote add upstream https://github.com/jenkinsci/git-client-plugin.git
    # Retrieve latest changes from all remote repositories
    git fetch --all
    # Start the new branch from the upstream master branch
    git checkout -b new-branch-name upstream/master
    # Submit the new branch to GitHub
    git push --set-upstream origin new-branch-name
    
  • The pull request description doesn't tell me (the maintainer) why you are making this change. It has a very good summary "Require Jenkins 2.426.3 as minimum Jenkins version" (good job with that!). It uses the pull request template (very good!).
    However, it is not clear what motivated the change. If you were using the "Improve a plugin" tutorial" step "Update base Jenkins version" then it is good to include a link to the tutorial

If you'd like to use the pull request to learn more about git and about GitHub pull requests, you can resolve the conflict with the destination branch and submit the additional commits that resolve the conflict. Some of the commands that you'll need to use to resolve the conflict include:

git fetch --all
git merge upstream/master
git diff upstream/master
mvn clean verify

If you'd rather close the pull request and submit a new pull request, that is fine as well.

@AniketNS
Copy link
Contributor Author

Yeah I'll do that @MarkEWaite. Thanks for the feedback

@MarkEWaite
Copy link
Contributor

For this specific commit, there is also a very useful data source that some maintainers use to decide when they will upgrade the minimum required Jenkins version. The Jenkins documentation page "Choosing a Jenkins version to build against" provides the guidelines and instructions to help maintainers choose a new Jenkins base version. In addition to those instructions, each plugin has a link to "View detailed version information" on its plugins.jenkins.io page.

For the git client, the detailed version information page shows the following information when hovering over various parts of that page:

  • Over 285000 total installations of the plugin (lower right corner)
    • 40% of all git client plugin installations are running on Jenkins 2.426.3 or newer (hover over the right-most cell of the 2.426.3 row).
  • Over 49000 installations of the most recent release (4.7.0)
    • 96% of the over 49000 installations of the most recent release are running on 2.426.3 or newer (hover over the cell at the intersection of row "2.426.3" and column "4.7.0")
  • Over 71000 installations of the second most recent release (4.6.0)
    • 75% of the over 71000 installations of the second most recent release (4.6.0) are running on 2.426.3 or newer (hover over the cell at the intersection of row "2.426.3" and column "4.6.0")

@AniketNS
Copy link
Contributor Author

Thanks for the detailed feedback @MarkEWaite and the detailed information about the code.

The pull request includes many extra commits that are unrelated to the pull request.

That's true but, I didn't understand why, even if I create a different branch those older commits are coming in the way. But I didn't see any code from those commits that's why It didn't trigger me.

However, it is not clear what motivated the change. If you were using the ["Improve a plugin" tutorial](https://www.jenkins.io/doc/developer/tutorial-improve/step "Update base Jenkins version" then it is good to include a link to the tutorial

I was indeed using the Update Jenkins version and that's why I made that change. I would've mentioned that in the PR description.

For this specific commit, there is also a very useful data source that some maintainers use to decide when they will upgrade the minimum required Jenkins version. The Jenkins documentation page "Choosing a Jenkins version to build against" provides the guidelines and instructions to help maintainers choose a new Jenkins base version. In addition to those instructions, each plugin has a link to "View detailed version information" on its plugins.jenkins.io page.

I read the document, but as a newbie, I didn't understand a thing from Choosing a Jenkins version to build against but looked into detailed version information page and it was kinda interesting and got some nice info about git-client plugin versions, updates and it's downloads.

I've somehow removed the conflict. Tell me if there's anything I should change. Thanks.

@MarkEWaite
Copy link
Contributor

even if I create a different branch those older commits are coming in the way

That likely means your local copy is out of sync with the upstream repository or is out of sync with your fork of the upstream repository. One simple way to fix that is to rename your local repository to and clone it again.

@MarkEWaite MarkEWaite added the chore Reduces maintenance effort by changes not directly visible to users label Apr 13, 2024
@AniketNS
Copy link
Contributor Author

AniketNS commented Apr 13, 2024

That likely means your local copy is out of sync with the upstream repository or is out of sync with your fork of the upstream repository. One simple way to fix that is to rename your local repository and clone it again.

Ohh ok @MarkEWaite. I'll look more into git commands.

MarkEWaite added a commit to MarkEWaite/bom that referenced this pull request May 5, 2024
Also tests git client plugin upgrade to require Jenkins 2.426.3 or newer

Evaluates two pending pull requests:

* jenkinsci/git-client-plugin#1129
* jenkinsci/git-plugin#1581
Copy link
Contributor

@MarkEWaite MarkEWaite left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ready to merge. Git plugin 5.2.2 was released recently and requires Jenkins 2.426.3 or newer. Next release date of git client plugin is not yet decided, but it makes sense that the next release require Jenkins 2.426.3 or newer.

@MarkEWaite MarkEWaite merged commit 61b0a1c into jenkinsci:master May 8, 2024
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore Reduces maintenance effort by changes not directly visible to users
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants