Open jonesbusy opened 2 weeks ago
FYI @gounthar @sridamul
Jenkins Infra GitHub org would make most sense to me as its information and tooling for the Jenkins project and not for end users of Jenkins.
and it related to plugin health score and plugin site as well with the potential integration points.
+1 with @timja
About the CLI: setting up the jenkins-infra
homebrew TAP looks good! We use GitHub action for this. Until now, we only had Golang CLI which uses the GoRelease tool (example here: https://github.com/jenkins-infra/jenkins-version/blob/7135e0c185f61fa9c88cd782f70ac0144cf0b611/.goreleaser.yml#L63-L76) but we can totally use Jenkins (infra.ci.jenkins.io) if needed. Never published a CLI tools to homebrew though: will be a first \o/
About the JSON data to store, you have the following choices:
jenkins-infra
: in this case can you share with us the expected repo name and the maintainer to add to it?GET
HTTP request would suffice).Hi,
Looks good for me. We can transfer the repository to jenkins-infra as long we can keep our maintainers permission.
I also never published anything to homebrew, right now the GH action just use the cd.yaml workflow.
https://jreleaser.org/ looks a good alternative for Java project. They are some module to publish to HomeBrew.
The history of metadata is not so important, the last option would also be possible, how could we publish such JSON files to this WebServer. Do you have any example ?
I've craeted 2 issues related to packaging
https://github.com/jenkinsci/plugin-modernizer-tool/issues/239 https://github.com/jenkinsci/plugin-modernizer-tool/issues/240
(Perhaps for Hacktoberfest)
For Homebrew, @jmMeessen has already published for Jenkins in https://github.com/jenkins-infra/jenkins-contribution-aggregator thanks to goreleaser
, but I don't know what would be the equivalent (if any) for Java. 🤔
For the docker image, we could publish on GitHub as a package, as we did with the quickstart tutorials
It means we'll have to transfer the repository jenkinsci/plugin-modernizer-tool to the @jenkins-infra organization (ping @timja does it look good to you?) as a start
Looks fine to me.
but I don't know what would be the equivalent (if any) for Java. 🤔
Yes there is (https://jreleaser.org/) but I never played with it
Service(s)
Other
Summary
Hi,
With GSoC 2024 coming to an end we would like to industrialize the Plugin Modernizer Tool we developed during the GsoC 2024 period
Right now we have a repository https://github.com/jenkinsci/plugin-modernizer-tool and this is fine for the code.
This tool has mainly 2 axis
1) Getting metadata about plugins (we are using an OpenRewrite scanning recipe for this). For example we can extract information about transitive dependencies or just to know if a specific file is present 2) Running recipe and refactoring and open a pull request with the transformation
For the 1) we would like to store this information (it's basically JSON document generated by the tool) on a Git repository. Historically some maintainer were using their personal repos to store this information (example https://github.com/gounthar/jdk8-removal) Now we would like to have a central place to store those JSON document.
What is the best organisation for this ? jenkinsci or jenkins-infra ?
In a more long term future (perhaps a future GSoC project) those metadata could be consumed by the plugin health score system to create more probe that cannot be created without help of OpenRewrite (like getting transitive dependencies and warn if a plugin doesn't use an API plugin instead).
In a short term only the maintainers of the tool would push those metadata to this repository until we have some kind of workflow/job to do it for us
The second point is about the distribution of the CLI. We would expect some frequent release and we need to think about packaging and would like perhaps to start with HomeBrew distribution to cover Linux and MacOSX user
I noticed you guys are using already a Tap on https://github.com/jenkins-infra/homebrew-tap/. Is it something we could also use to distribute our CLI ? Or do you see it more on the jenkinsci organisation ?
Thanks for taking the time to answer with your thought.
Regards,
Reproduction steps
No response