-
Notifications
You must be signed in to change notification settings - Fork 0
Update PR data Daily collection (2025-08-01 01:54 UTC) #141
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
Conversation
WalkthroughThis change updates two files that track JUnit5 migration candidate pull requests. It adds a new PR entry for the Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Poem
Note ⚡️ Unit Test Generation is now available in beta!Learn more here, or try it out under "Finishing Touches" below. ✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Summary of Changes
Hello @gounthar, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request provides an automated update to the collection of JUnit5 migration pull request data. The changes primarily involve refreshing the list of candidate pull requests for JUnit5 migration, ensuring that the stored data and corresponding text file are current with the latest information. This update helps maintain an accurate overview of ongoing JUnit5 adoption efforts.
Highlights
- Data Update: JUnit5 PR Candidates JSON: I've updated the
data/junit5/junit5_candidates.jsonfile to include new pull requests related to JUnit5 migration efforts across various Jenkins plugins and the Jenkins core. - Data Update: JUnit5 PR Candidates Text File: I've also updated the
junit5_candidate_prs.txtfile to reflect these changes and maintain an up-to-date list of candidate PR URLs.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments or fill out our survey to provide feedback.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request contains automated updates to PR statistics data. The changes in both the JSON and text files show a lot of reordering, which makes the diffs noisy and hard to review. My feedback focuses on improving the stability of the file contents by applying a consistent sorting order. This will make future automated updates much cleaner and easier to verify.
| { | ||
| "title": "Migrate tests to JUnit5", | ||
| "url": "https://github.com/jenkinsci/jenkins/pull/10895", | ||
| "repository": "jenkinsci/jenkins", | ||
| "state": "OPEN", | ||
| "author": "strangelookingnerd", | ||
| "labels": [ | ||
| "internal", | ||
| "tests" | ||
| ], | ||
| "body": "Amending PR: #10559 #10576 #10577 #10578 #10579 #10580 #10581 #10582\nWith the addition of jenkinsci/jenkins-test-harness#988 more tests can now be migrated to JUnit5.\nChanges include:\n\nMigrate annotations and imports\nMigrate assertions\nRemove public visibility for test classes and methods\nMinor clean up\n\nWhy this is a good change:\n\nJUnit 5 is the modern standard: It offers a cleaner and more powerful programming model, better extensibility, and improved support for modern Java features (like lambdas, streams, and optional parameters).\nImproved test maintainability: JUnit 5’s more expressive annotations and lifecycle management make tests easier to read, write, and debug.\nEnables use of modern extensions: Migrating paves the way to leverage powerful third-party extensions and tooling (e.g., parameterized tests, dynamic tests, conditional execution).\n\nIt is important to notice that this change should not alter the test logic, but bring the project in line with modern best practices and help keeping it future-proof.\nI am well aware that this is a huge changeset however I hope that there is still interest in this PR and it will be reviewed.\nIf there are any questions, please do not hesitate to ping me.\nTesting done\nLot's of local testing. Still there are some tests that I could not run in environement.\nProposed changelog entries\n\nMigrate tests to JUnit5\n\nProposed changelog category\n/label internal, tests\nProposed upgrade guidelines\nN/A\nSubmitter checklist\n\n The Jira issue, if it exists, is well-described.\n The changelog entries and upgrade guidelines are appropriate for the audience affected by the change (users or developers, depending on the change) and are in the imperative mood (see examples). Fill in the Proposed upgrade guidelines section only if there are breaking changes or changes that may require extra steps from users during upgrade.\n There is automated testing or an explanation as to why this change has no tests.\n New public classes, fields, and methods are annotated with @Restricted or have @since TODO Javadocs, as appropriate.\n New deprecations are annotated with @Deprecated(since = \"TODO\") or @Deprecated(forRemoval = true, since = \"TODO\"), if applicable.\n New or substantially changed JavaScript is not defined inline and does not call eval to ease future introduction of Content Security Policy (CSP) directives (see documentation).\n For dependency updates, there are links to external changelogs and, if possible, full differentials.\n For new APIs and extension points, there is a link to at least one consumer.\n\nDesired reviewers\nAnyone really, it's a big changeset with lots of repetitions.\nBefore the changes are marked as ready-for-merge:\nMaintainer checklist\n\n There are at least two (2) approvals for the pull request and no outstanding requests for change.\n Conversations in the pull request are over, or it is explicit that a reviewer is not blocking the change.\n Changelog entries in the pull request title and/or Proposed changelog entries are accurate, human-readable, and in the imperative mood.\n Proper changelog labels are set so that the changelog can be generated automatically.\n If the change needs additional upgrade steps from users, the upgrade-guide-needed label is set and there is a Proposed upgrade guidelines section in the pull request title (see example).\n If it would make sense to backport the change to LTS, a Jira issue must exist, be a Bug or Improvement, and be labeled as lts-candidate to be considered (see query).", | ||
| "createdAt": "2025-07-31T09:31:28Z" | ||
| }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The order of pull requests in this JSON array appears to be unstable, which leads to large and noisy diffs in each update. To improve maintainability and make reviews easier, I suggest sorting the prs array consistently. A good sorting order would be by repository and then by PR number (which can be extracted from the url). This will ensure that new PRs are added in a predictable location and the order of existing PRs remains stable.
| # jenkinsci/signpath-plugin - Migrate tests to JUnit5 (OPEN) | ||
| https://github.com/jenkinsci/signpath-plugin/pull/41 | ||
|
|
||
| # jenkinsci/wiz-scanner-plugin - Migrate tests to JUnit5 (OPEN) | ||
| https://github.com/jenkinsci/wiz-scanner-plugin/pull/10 | ||
|
|
||
| # jenkinsci/plain-credentials-plugin - Migrate tests to JUnit5 (OPEN) | ||
| https://github.com/jenkinsci/plain-credentials-plugin/pull/84 | ||
|
|
||
| # jenkinsci/docker-fixtures - Add `DockerExtension` to support `DockerContainer` for JUnit5 (OPEN) | ||
| https://github.com/jenkinsci/docker-fixtures/pull/122 | ||
|
|
||
| # jenkinsci/display-url-api-plugin - Migrate tests to JUnit5 (OPEN) | ||
| https://github.com/jenkinsci/display-url-api-plugin/pull/255 | ||
|
|
||
| # jenkinsci/docker-fixtures - Add `DockerExtension` to support `DockerContainer` for JUnit5 (OPEN) | ||
| https://github.com/jenkinsci/docker-fixtures/pull/122 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similar to the JSON file, the order of entries in this text file is unstable, creating noisy diffs. To make changes easier to track, I recommend sorting the PR entries alphabetically by repository name. Each entry consists of a comment line with the repository and title, and the URL line. Keeping these blocks together and sorting them would greatly improve the clarity of future updates.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
♻️ Duplicate comments (1)
data/junit5/junit5_candidates.json (1)
1014-1016: Second copy of jenkinsci/jenkins#10895 detectedThese lines introduce another object for the same PR already defined at Lines 3-15. Please deduplicate to avoid inconsistent analytics.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
data/junit5/junit5_candidates.json(17 hunks)junit5_candidate_prs.txt(14 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: gounthar
PR: gounthar/alpha-omega-stats#0
File: :0-0
Timestamp: 2025-03-07T16:15:13.008Z
Learning: For the jenkins-pr-collector tool, all PRs should be logged, not just those with specific keywords like "odernizer" or "recipe" in the body text.
Learnt from: gounthar
PR: gounthar/alpha-omega-stats#0
File: :0-0
Timestamp: 2025-03-07T16:15:13.008Z
Learning: The jenkins-pr-collector should log all PRs found, not just the ones with specific strings like "odernizer" in the body.
📚 Learning: the jenkins-pr-collector should log all prs found, not just the ones with specific strings like "ode...
Learnt from: gounthar
PR: gounthar/alpha-omega-stats#0
File: :0-0
Timestamp: 2025-03-07T16:15:13.008Z
Learning: The jenkins-pr-collector should log all PRs found, not just the ones with specific strings like "odernizer" in the body.
Applied to files:
data/junit5/junit5_candidates.jsonjunit5_candidate_prs.txt
📚 Learning: for the jenkins-pr-collector tool, all prs should be logged, not just those with specific keywords l...
Learnt from: gounthar
PR: gounthar/alpha-omega-stats#0
File: :0-0
Timestamp: 2025-03-07T16:15:13.008Z
Learning: For the jenkins-pr-collector tool, all PRs should be logged, not just those with specific keywords like "odernizer" or "recipe" in the body text.
Applied to files:
data/junit5/junit5_candidates.jsonjunit5_candidate_prs.txt
🧬 Code Graph Analysis (1)
data/junit5/junit5_candidates.json (2)
cmd/find-junit5-prs/main.go (1)
isJUnit5MigrationPR(372-501)analyze-junit5-prs.sh (1)
process_pr(29-59)
🔇 Additional comments (20)
junit5_candidate_prs.txt (3)
1-3: Header timestamp correctly advanced – looks good.The new collection date
2025-08-01matches the PR title and action-run schedule.
No further action needed.
4-6: New Jenkins core PR entry added – please double-check the state.
jenkinsci/jenkins #10895is marked (OPEN).
Before tomorrow’s automated run, ensure the PR is still open; if it merges/changes status, the next daily update should reflect that.
94-96: Re-ordering blocks – no functional impact detected.All moved lines remain syntactically identical and free of duplicates.
LGTM from a data-integrity perspective.Also applies to: 103-105, 127-129, 151-153, 184-186, 475-477, 511-513, 580-582, 589-591, 718-720, 937-939, 949-951, 997-999, 1003-1005, 1105-1107
data/junit5/junit5_candidates.json (17)
16-18: LGTM – new object structure is consistentNo schema deviations detected; keys match the existing contract.
297-305: LGTM – addition looks correctEntry fields are complete; timestamp is ISO-8601; no immediate duplication found.
318-325: LGTMConsistent with surrounding records.
408-415: LGTMMetadata and body captured correctly.
488-495: LGTMNo issues spotted.
605-617: LGTMAddition follows the expected schema.
1017-1029: LGTMAside from duplication concern, the object itself is fine.
1698-1708: LGTMEntry for gitea-plugin merged PR looks correct.
1843-1850: LGTMNo structural issues.
2099-2107: LGTMClosed-state entry recorded properly.
2145-2155: LGTMMerged mailer-plugin PR entry is consistent.
2633-2641: LGTMoffice-365-connector entry passes validation.
3471-3479: LGTMtekton-client duplicate is acceptable (different PR id); data looks sane.
3519-3529: LGTMDependabot BOM update entry recorded correctly.
3713-3722: LGTMslack plugin bump information is complete.
3737-3747: LGTMircbot-plugin depends bump entry OK.
4137-4146: LGTMbuild-timeout plugin data valid.
| { | ||
| "title": "Migrate tests to JUnit5", | ||
| "url": "https://github.com/jenkinsci/jenkins/pull/10895", | ||
| "repository": "jenkinsci/jenkins", | ||
| "state": "OPEN", | ||
| "author": "strangelookingnerd", | ||
| "labels": [ | ||
| "internal", | ||
| "tests" | ||
| ], | ||
| "body": "Amending PR: #10559 #10576 #10577 #10578 #10579 #10580 #10581 #10582\nWith the addition of jenkinsci/jenkins-test-harness#988 more tests can now be migrated to JUnit5.\nChanges include:\n\nMigrate annotations and imports\nMigrate assertions\nRemove public visibility for test classes and methods\nMinor clean up\n\nWhy this is a good change:\n\nJUnit 5 is the modern standard: It offers a cleaner and more powerful programming model, better extensibility, and improved support for modern Java features (like lambdas, streams, and optional parameters).\nImproved test maintainability: JUnit 5’s more expressive annotations and lifecycle management make tests easier to read, write, and debug.\nEnables use of modern extensions: Migrating paves the way to leverage powerful third-party extensions and tooling (e.g., parameterized tests, dynamic tests, conditional execution).\n\nIt is important to notice that this change should not alter the test logic, but bring the project in line with modern best practices and help keeping it future-proof.\nI am well aware that this is a huge changeset however I hope that there is still interest in this PR and it will be reviewed.\nIf there are any questions, please do not hesitate to ping me.\nTesting done\nLot's of local testing. Still there are some tests that I could not run in environement.\nProposed changelog entries\n\nMigrate tests to JUnit5\n\nProposed changelog category\n/label internal, tests\nProposed upgrade guidelines\nN/A\nSubmitter checklist\n\n The Jira issue, if it exists, is well-described.\n The changelog entries and upgrade guidelines are appropriate for the audience affected by the change (users or developers, depending on the change) and are in the imperative mood (see examples). Fill in the Proposed upgrade guidelines section only if there are breaking changes or changes that may require extra steps from users during upgrade.\n There is automated testing or an explanation as to why this change has no tests.\n New public classes, fields, and methods are annotated with @Restricted or have @since TODO Javadocs, as appropriate.\n New deprecations are annotated with @Deprecated(since = \"TODO\") or @Deprecated(forRemoval = true, since = \"TODO\"), if applicable.\n New or substantially changed JavaScript is not defined inline and does not call eval to ease future introduction of Content Security Policy (CSP) directives (see documentation).\n For dependency updates, there are links to external changelogs and, if possible, full differentials.\n For new APIs and extension points, there is a link to at least one consumer.\n\nDesired reviewers\nAnyone really, it's a big changeset with lots of repetitions.\nBefore the changes are marked as ready-for-merge:\nMaintainer checklist\n\n There are at least two (2) approvals for the pull request and no outstanding requests for change.\n Conversations in the pull request are over, or it is explicit that a reviewer is not blocking the change.\n Changelog entries in the pull request title and/or Proposed changelog entries are accurate, human-readable, and in the imperative mood.\n Proper changelog labels are set so that the changelog can be generated automatically.\n If the change needs additional upgrade steps from users, the upgrade-guide-needed label is set and there is a Proposed upgrade guidelines section in the pull request title (see example).\n If it would make sense to backport the change to LTS, a Jira issue must exist, be a Bug or Improvement, and be labeled as lts-candidate to be considered (see query).", | ||
| "createdAt": "2025-07-31T09:31:28Z" | ||
| }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Duplicate entry for PR jenkinsci/jenkins#10895
The same PR appears again around Lines 1014-1016 (see later hunk). Keeping both objects bloats the dataset and may skew any downstream analytics that rely on the list being unique per PR.
Minimal fix – drop one of the two objects:
- {
- "title": "Migrate tests to JUnit5",
- "url": "https://github.com/jenkinsci/jenkins/pull/10895",
- ...
- "createdAt": "2025-07-31T09:31:28Z"
- },(or remove the later one – pick either but keep only one).
Please rerun the generator or add a uniqueness check to the workflow.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| { | |
| "title": "Migrate tests to JUnit5", | |
| "url": "https://github.com/jenkinsci/jenkins/pull/10895", | |
| "repository": "jenkinsci/jenkins", | |
| "state": "OPEN", | |
| "author": "strangelookingnerd", | |
| "labels": [ | |
| "internal", | |
| "tests" | |
| ], | |
| "body": "Amending PR: #10559 #10576 #10577 #10578 #10579 #10580 #10581 #10582\nWith the addition of jenkinsci/jenkins-test-harness#988 more tests can now be migrated to JUnit5.\nChanges include:\n\nMigrate annotations and imports\nMigrate assertions\nRemove public visibility for test classes and methods\nMinor clean up\n\nWhy this is a good change:\n\nJUnit 5 is the modern standard: It offers a cleaner and more powerful programming model, better extensibility, and improved support for modern Java features (like lambdas, streams, and optional parameters).\nImproved test maintainability: JUnit 5’s more expressive annotations and lifecycle management make tests easier to read, write, and debug.\nEnables use of modern extensions: Migrating paves the way to leverage powerful third-party extensions and tooling (e.g., parameterized tests, dynamic tests, conditional execution).\n\nIt is important to notice that this change should not alter the test logic, but bring the project in line with modern best practices and help keeping it future-proof.\nI am well aware that this is a huge changeset however I hope that there is still interest in this PR and it will be reviewed.\nIf there are any questions, please do not hesitate to ping me.\nTesting done\nLot's of local testing. Still there are some tests that I could not run in environement.\nProposed changelog entries\n\nMigrate tests to JUnit5\n\nProposed changelog category\n/label internal, tests\nProposed upgrade guidelines\nN/A\nSubmitter checklist\n\n The Jira issue, if it exists, is well-described.\n The changelog entries and upgrade guidelines are appropriate for the audience affected by the change (users or developers, depending on the change) and are in the imperative mood (see examples). Fill in the Proposed upgrade guidelines section only if there are breaking changes or changes that may require extra steps from users during upgrade.\n There is automated testing or an explanation as to why this change has no tests.\n New public classes, fields, and methods are annotated with @Restricted or have @since TODO Javadocs, as appropriate.\n New deprecations are annotated with @Deprecated(since = \"TODO\") or @Deprecated(forRemoval = true, since = \"TODO\"), if applicable.\n New or substantially changed JavaScript is not defined inline and does not call eval to ease future introduction of Content Security Policy (CSP) directives (see documentation).\n For dependency updates, there are links to external changelogs and, if possible, full differentials.\n For new APIs and extension points, there is a link to at least one consumer.\n\nDesired reviewers\nAnyone really, it's a big changeset with lots of repetitions.\nBefore the changes are marked as ready-for-merge:\nMaintainer checklist\n\n There are at least two (2) approvals for the pull request and no outstanding requests for change.\n Conversations in the pull request are over, or it is explicit that a reviewer is not blocking the change.\n Changelog entries in the pull request title and/or Proposed changelog entries are accurate, human-readable, and in the imperative mood.\n Proper changelog labels are set so that the changelog can be generated automatically.\n If the change needs additional upgrade steps from users, the upgrade-guide-needed label is set and there is a Proposed upgrade guidelines section in the pull request title (see example).\n If it would make sense to backport the change to LTS, a Jira issue must exist, be a Bug or Improvement, and be labeled as lts-candidate to be considered (see query).", | |
| "createdAt": "2025-07-31T09:31:28Z" | |
| }, |
🤖 Prompt for AI Agents
In data/junit5/junit5_candidates.json around lines 3 to 15, there is a duplicate
entry for the PR jenkinsci/jenkins#10895 also found around lines 1014 to 1016.
To fix this, remove one of the duplicate PR objects to ensure each PR appears
only once in the dataset. Additionally, consider adding a uniqueness check in
the data generation workflow to prevent future duplicates.
This PR contains automatically updated PR statistics data. Generated by GitHub Actions.
Summary by CodeRabbit