On Thursday, May 25, 2023 at 9:07:41 AM UTC-6 at...@gradle.com wrote:
Thanks for the quick answer! On Thursday, May 25, 2023 at 3:16:30 PM UTC+2 Mark Waite wrote: On Thursday, May 25, 2023 at 6:09:42 AM UTC-6 you wrote: Hi, lately I've been working on improving the Gradle support for building Jenkins plugins, see https://github.com/jenkinsci/gradle-jpi-plugin/issues/213 for more details Thanks for doing that. The latest JPI plugin release 0.49.0 and recent changes on the pipeline-library (https://github.com/jenkins-infra/pipeline-library/pull/654 and https://github.com/jenkins-infra/pipeline-library/pull/652) enable quality checks and incremental builds on ci.jenkins.io. Where can we document this and would it be ok to re-enable Gradle support ? https://github.com/jenkinsci/gradle-jpi-plugin/issues/213#issue-1499881868 indicates the following reasons that the hosting team started rejecting new hosting requests for plugins built with Gradle: - No support for JEP-229 <https://github.com/jenkinsci/jep/blob/master/jep/229/README.adoc> - No support for JEP-305 <https://github.com/jenkinsci/jep/tree/master/jep/305> - Lacking end-user documentation on jenkins.io <https://www.jenkins.io/doc/developer/publishing/releasing/> - No support for publishing static analysis and coverage reports on ci.jenkins.io - No support for building on ACI (Azure Container Instance) agents - Suspect to produce invalid pom.xml files causing issues with third parties and the update center in the past You noted that the second bullet (JEP-305 - incremental builds) is now supported and that the fourth bullet (quality checks) are now supported and that the first bullet (JEP-229 - automated release / continuous delivery) is not supported. Are you willing to create end user documentation on jenkins.io for those who use Gradle? Sure, I can start a dedicated page with what we have and enrich later (see below) I'm not a member of the hosting team, but I think they will want to be assured that Jenkins plugins can be successfully maintained and released using Gradle. One thing I've noticed though is that the cd release with Gradle would not be supported by the dedicated Github action. I wonder if it worth supporting, since I don't see it used by a lot of plugins currently: https://github.com/search?q=org%3Ajenkinsci%20%22maven-cd.yml%40v1%22%20path%3A*.yml&type=code. What do you think ? Your query is not showing you how widely the automated release process is used. https://github.com/search?q=repo%3Ajenkins-infra%2Frepository-permissions-updater+%22cd%3A%22&type=code shows that 340 repositories have enabled automated release. My understanding of https://www.jenkins.io/doc/developer/publishing/releasing-cd/ is that this step will just set the Maven repository credentials as secrets on the relevant Github repository. The actual continuous release will happen only if using https://raw.githubusercontent.com/jenkinsci/.github/master/workflow-templates/cd.yaml, or am I missing something ? People maybe just have their own workflow using credentials to publish ? I can't explain why that query does not accurately show the contents of the jenkinsci repositories, but I'm confident that it does not. I see over 200 references to maven-cd.yml in files that are named either cd.yml or cd.yaml in the .github/workflows directories of repositories in the jenkinsci GitHub organization. I'm not sure what stops Gradle from being supported by automated release, but the number of plugins using automated releases has been steadily increasing for a Currently the Github action uses Maven to rebuild and publish https://github.com/jenkins-infra/jenkins-maven-cd-action/blob/master/run.sh#L8 . We could either provide a similar Github action, or simply a template and some docs on how to use it, but first I'd like to make sure it's used. Getting a step back, I'd be curious to know why it requires rebuilding since it's supposed to be built already on ci.jenkins.io and published to the incrementals repository. The automatic releasing would just consist in promoting from the incrementals repository to the release repository in Artifactory. The ci.jenkins.io machine is intentionally not considered "trusted". We don't place credentials on ci.jenkins.io Thanks! -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/559cbeef-e675-4779-ac7c-f1a407d2d874n%40googlegroups.com.