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.

Reply via email to