 Welcome, everyone, to the Jenkins Platform Special Interest Group meeting. We're grateful to have you here. Let's get started. I'm going to share my screen, and we're going to talk through the agenda. So first topic, as usual, open action items. We then had a topic to hear an update from Natasha on the plug-in installation manager tool. We've got the option to hear from Alex Earl on the Windows installer if he's available, release draft or progress from Oleg, and then JDK tool next steps. Any other agenda topics that need to be added to the agenda before we actually start working on the agenda. Okay, then let's look at action items. Yes, I still have the open the JEP topic. No, I haven't done it. I probably won't do it before Jenkins World. Time is quite crunched right now. Oleg, you've still got the action item for Windows support policy. Yeah, it's still there. Okay, and Alex reported this morning on his action item that there is some block still in terms of code-signing infrastructure. I know that Olivier Venne was offline for a period. So I assume that that remains open. And then we had the Community Bridge project. Oleg, anything you wanted to report there? I've seen some activity there recently. Yeah, there are some updates by Tracy. So basically, we started a funding project for Community Bridge. Basically, we got the tooling enabled to make it happen. And currently, we explore options whether we can fund it from Jenkins Budget. I mean, technically. If it happens, then basically, we can use existing Jenkins Budget to fund Community Bridge projects, same as we do file 3G, for example. Okay, so the same pattern as the Outreach project? Yeah, right there. I think once I find it, do we go? Yeah. So right now, nothing is 100% clear. But yeah, it looks like a little bit of running. At least in the evaluation mode for this, yeah. That's great. Thank you. Thanks very much. Basically, whatever you want to propose the projects and who doesn't want to wait for JSOC, you can reach out to the Jenkins developer on the menu please and propose them there. Yeah, I think that there you will go probably in one month or so around Jenkins Vault. So it basically depends on when we get final confirmations from Jenkins Foundation and CDF. Got it. And so the crucial thing there that I had missed in the earlier description was the funding page begins the process of allowing organizations and individuals to contribute funds towards a Community Bridge project. A project that's not funded certainly won't happen. That's the kind of idea that that is? Yeah, that's the idea. Basically, we can run projects which are not funded. I mean, there is no problem to do a project similar to how Mozilla Foundation does it. So Mozilla Foundation doesn't pay any kind of stipend to students because basically they provide mentorship time, they provide expertise and many students it's not. So for having projects, it's generally a lot of work. Community Bridge, it can be used for funded projects because in such case we can use the Linux Foundation, legal entities, et cetera, to make it happen. Excellent, thank you. All right. And so Natasha, I gather that you just responded to slide on his question about the Zoom link. Yeah, I think he was asking if it was the same as last week or something, but I'm not sure. But I mean, the link that you posted worked for me. So hopefully it should work for him too. Thank you. Thanks. So I think that covers all of our current action items. Natasha, we're ready to talk about plug-in installation manager tool. Okay. Yeah, so I'll just give you guys like a quick update of the things I've been working on. So probably since the last time we talked, some of like the update centers were hard coded. So since then I've added support to get those from environment variables or from CLI options. I also added support for like defaults for windows instead of just like Unix or Linux platforms. And then I've kind of been working through some issues with the dependency resolution. So previously all that was done by grabbing information from the manifest, but I know Oleg had mentioned that it would be nice to be able to get some of that from the update center data. The promise is just not all necessarily located in one place. So I think that's mostly fixed now, but that was kind of an ongoing issue, like the last week or so. And then just other things that are kind of in the works right now. So I started adding support for YAML formats and then also support for like additional functionality. So being able to see like what would be installed before it's actually installed. But a lot of that was kind of put on hold when, just until we kind of, I kind of figured out some of the dependency resolution stuff. So I'll be kind of picking that back up. So yeah, that's basically where I'm at right now. Thanks. Any questions from the group? That sounds like wonderful progress. Yeah, I don't think I have any questions. I don't know. I'm going to see what issues Alex was running into or the latest issues that he was running into. Yeah. My next steps are hopefully once I get everything working a little bit better, we'll be to submit like a PR to actually include it in Docker. But yeah, I'm just going to be working through hopefully this last issue before that happens. When that's in the place you're considering is in the Jenkins Docker image. Yeah. So that you would replace install-plugins.sh Yeah. To air or supersede. Okay. Install-plugins.sh. Nice. Very nice. So since Alex is not with us yet, I propose we defer this one for the moment. I'm going to drop it below in case he's able to join us. Oleg, did you want to take on the next topic? Relief. Relief draft for progress. Yeah. That's quick. So basically I presented the state two weeks ago since so that I'm not included in the change to accept the adoption. So we are up to 41 repositories by this time. So we're still less than 2% of Jenkins repositories overall, but we got some adoptions like Kubernetes plugin, et cetera. So basically this story gets adopted and I haven't even published a blog post for that year. So yeah, I think we are getting good progress. Everything is in place. We also integrated the change to Jenkins Core. So we will have a release drafter for Jenkins Core, which would be drafting initial YAML formats. It will be available only for Jenkins Core team members, at least for now. Unfortunately GitHub doesn't have permissions which would allow to make it public. Otherwise we would have said that there is a draft change log for the incoming release, but still we get something. Yeah. And so could you remind me on Jenkins Core, it's actually not writing, it's writing something different than it's writing elsewhere. I think they're choosing a YAML. Yeah. I can show what it writes. Just a second. Yeah. Sorry, I'm just lost in Google Doc. Yeah, you can open the full request there referenced. Basically it generates YAML draft. So it's not a text format. It's a format we use for weekly YAML on the Jenkins site website. I'm not sure. So for users maybe a markdown format like we use for other repositories is helpful, but here we just get initial generation and it's still not something we can use for automation flows because for example time type isn't defined and we need the generation of links. There is more than one, but at least we got something. Right, because today this is being generated interactively by Daniel Beck or you each week, right? And each time we do an LTS. So this at least could reduce the effort for the give you a starting point instead of that interactive work. Yeah, that's the idea. Thank you. Thanks very much. That is so encouraging. Great. Thank you. All right. Next topic or ready to go on to next topic. The JDK tool. Yep. So basically it's a quick update. We already had discussions for JDK tool from state meetings when we were working on Java 11. So yeah, JDK tool basically in Jenkins there are two abstraction layers. One is tool installation, which defines how the tool is used. For example, Mark has a Git tool installation Git client plugin, but the tool installation doesn't define how the tool is installed. For installation there is another extension point called tool installer. And historically this extension point used to be confused a lot. And yeah, if you take a look at JDK tool some people think that it's actually tool installation but it's not. It's only tool installer, which actually does install JDK from Oracle website. So basically it installs Oracle SC development heat. So it's not even open JDK. And taking the recent changes in licensing obviously, well, it's less than optimal. Because yeah, for Java wants to be to use the JDK 11 there you would need to accept in your Oracle license. And yeah, our problem that currently when you use the JDK tool plugin you explicitly accept the license and then, yeah, if you accept the license it just is accepted unfortunately. Oracle website doesn't require you to re-accept this license. Because that's how the plugin works. So it's a problem. And basically now the plugin is start with Java 8 and even with Java 8 there is a lot of confusion because it's called JDK tool plugin. It's installed on almost every Jenkins instance. What they tell is listed in the developer list thread which is linked above. So if you want to go to get more context. So I started this thread in order to discuss what we actually want to do with this plugin. And my proposal is just to rename the plugin to make the naming explicit. So it won't be JDK tool. It will be Oracle JDK installer. It will be still installed on almost every Jenkins instance because in order to prevent that we need to fix detached dependencies but we can document what the plugin actually means and we can add administrative warnings for tool installer and other things. And later when plugins move to newer Jenkins for base lines we can slowly duplicate it. So basically that's my proposal. I have a couple of versions with documentation and as option for discussion if you want to support Java 11 in this plugin in Oracle SDK 11 in such case we can create a new major release JDK tool 1.0 which would be a breaking change because we will request people to explicitly accept the license but it can enable this plugin for someone who really wants to use it. And accepting the new license terms means that they are saying they have complied with Oracle's commercial terms. Exactly. Basically what I want to say that as long as it's not Jenkins project's problem we are fine with it. If a customer has Oracle license for open JDK or for Java AC they can use it. So we don't want to remove this plugin entirely but yeah the problem with this plugin is the part of Jenkins core. Before that we had some discussions maybe two or three months ago there was a contributor who actually proposed a change to Travler. Travler is an infrastructure part which holds release versions for such tools on the infrastructure and yeah basically after the discussion he created adopt open JDK plugin which does exactly like JDK plugin but for adopt open JDK there are also numerous other ways to use Java. Basically in the Jenkins community we recommend neither JDK tool nor adopt open JDK tool because you would rather install Java in Docker or you could install it on your infrastructure because if you download it from external site it can always go down depending on what you do. Pretty much the same for Maven tool pretty much the same for Git tool if you download it from external location it's better not to do that. Right okay and that now I think I'm starting to understand your clarification earlier that there's the notion of a tool installation abstraction layer and a tool installer extension point right. I don't have to I don't have to use that specific installer I can in fact install from a zip file hosted on my on my own local network on my Jenkins environment or somewhere else. Yeah exactly so JDK tool it offers one installer which used to install from some Java code now it installs from Oracle but you can use core features and JDK tool installation is a part of Jenkins code at the moment and there is a lot of plugins for example there is custom tools, plugins, extra tools installers etc which offer even more tool installers which can be used. Custom tools plugin probably not the best example for that but the extra tool installers does the job for example if you want to install plugins from Oracle or TAR instead of easy apparently it's a separate plugin whatever. Great alright thank you any questions from the group to Oleg with regard to JDK tool? Okay thank you Oleg thanks very much and I see that Alex has joined. Alex we have a topic for Windows installer status is there anything you'd like to share with us having having difficulty hearing Alex? Is that better? Yes that is. Okay I was just apologizing for being late for some reason the Zoom link didn't come through on Gitter for me so the only update I have is I don't know if anybody knows of contacts at CDF or either give me information about request and code signing certificates because that's kind of what's holding us up at this point the build is working on Trusted CI for the installer so it's really just the code signing that would need to be in place in order to do an actual release with the new installer Yeah so basically what Mark said TraceMiranda is the best contact published knows the status of Olivier's work because the release automation for Jenkins Core by Olivier also required code signing and yeah basically it was the key problem to resolve in this automation so maybe they have a decision how to resolve that Okay Yeah as a plan B of course we can ask Kiki to start releasing new tool installer and to code sign B It seems kind of fishy to have a manual process to release Jenkins Yeah Yeah okay and we've been working for a long time I'm trying to improve that one so good. Anything else Alex or any questions from the group for Alex Not for me Alright That concludes the topics that were on our agenda Anything else that needs to be covered Jenkins World Oh right Jenkins World Yes go ahead Do we have any specific plans for community booth with regards to platform seek So I'll So I will certainly be in the booth and I've got a lightning talk that I'll be doing on Faster Git Will be there present but I'm not aware of anything specific Do you have any suggestions Well we could repeat supporting Jenkins platform topic. I mean we did in this last year I mean we did together with Mark Basically Mark you could just repeat it if there are slots in the community booth because well content maybe needs some update but we could do that Not supporting Java 11 supporting platforms Alright got it Basically it was overview of activities since it was Java support it was what else installers Docker package and other things Yeah exactly Alex are you going to be at Jenkins World this year I It was not approved by my management so I will not be there I'm sorry to hear that I would have liked that It was a pleasure to see you last year there It was fun to be there I wish I could be there this year Maybe you could go to Lisbon I have to confess a flight to Lisbon is cheaper still than a flight to Alaska Yeah it's likely that there is a Jenkins World that's why I'm asking but yeah if we have people coming to the booth if you have other presenters who talk about Jenkins platform support maybe we could facilitate some discussion or maybe even a blog post about that I'm not sure what's in the agenda Well I think how about if we put the action out on me I've got to talk to Jenkins World organizers to Alyssa and others let's put that on me Oleg I'll be there and if they don't already have finalized I know that the GSOC participants have got plans for the community booth let me see if they've got time and if so let's put that in so let me put that as an action item for me So basically to go to GSOC we have a lightning talk confirmed we will have posters and other things we will have people present at the booth and hopefully we will have a demo by Natasha there and maybe by the mentors who come to the conference So still work in progress but I think we can assemble a good agenda Great, excellent, thank you Yeah I think that the plugin manager will be also in the agenda for lightning talk at least we get additional topic Sorry I missed that, what was that additional topic So lightning talk by Natasha Oh right, got it Yeah we need to do some final confirmations but I think everything is on track Natasha has somebody already reached out to you So Krista and I also briefly talked about it yesterday but nobody has really like officially confirmed anything or if there's any additional things besides sending the abstract and at all my talk nobody else has really reached out to me to get anything else besides that Okay So we will continue with Krista then Yeah sure, I can talk to you I think Tracy was the one who was coordinating all that or was it Alyssa? I'll look I guess it's a license color Okay Great Yeah I think that's it then, anything else Specific So anything will be just on August 1st or August 2nd August 1st So I will likely miss that and after that there will be Jenkins work making which probably makes no sense Right, we will cancel the week of Jenkins world, I'm not available and I suspect many other contributors are not available Well I guess Alex if you're not going to be there and Oleg if you're not going to be there do the two of you want to do a platform during the week of Jenkins world? Well a few Jenkins worlds right? Okay My kids start school so I will not be able to attend at this time starting next week though Which lobbies it's a good excuse for us to look for do we want to switch to an alternate time that's great so we'll take a break at Jenkins world and reconvene two weeks thereafter Sounds good Alright thanks everybody end of the meeting Thanks very much and I will turn off recording