 So, hello, and welcome to the Jenkins Documentation Office Hours. This is the EU-US edition. Today is November 16th. At this point in time, we have myself, Kevin Martens, and Bruno Rotten joining us. And Marc's listed here, if it shows up, which I'm sure you will, we'll welcome him in, and anyone else who joins. For the agenda today, we've got a couple of newer blog posts that were published in the last week since we last met. So, talking about that, we'll highlight the Jenkins Java support plan as well, since that's still a very big topic for us. LTS release, successful yesterday. Google Summer Code 2024 preparations begun. The contributor spotlight project and site and where we're at with that. The update CLI discussion. Version documentation site for Jenkins.io and housekeeping for next week. Anything else that you'd want to throw on it, Bruno? No, thank you, Kevin. Cool. All right. So, what just happened? That went somewhere I didn't know where we were going. So, first up, so the Jenkins contributor summit, FOSM blog post. So, this was written by John Mark Mason, and we're having a Jenkins contributor summit prior to FOSM 2024. Really exciting. So, FOSM is going to be February 3rd and 4th. The contributor summit is going to be on the 2nd of February. So, that's Friday. The blog post is really well done. Thanks to John Mark for writing this up. It's got important dates, location, entry fee, which there is none really nice. But yeah, contact information, agendas, all sorts of stuff. So, really lovely information. Thanks again to John Mark for writing this up. But yeah, real, real exciting. Looking forward to that. We haven't had a contributor summit proper for a little bit. So, that's going to be really great to have. We also had the October newsletter published. So, again, as always, the accomplishments and things you want to celebrate from the last month from all the SIG leaders, stuff like October fest, the platform modernization, Java 21, security releases, all sorts of great stuff that's been happening. So, by all means, check it out as always. And then the last blog post I wanted to highlight was the Java support plan that we've introduced, the 2 plus 2 plus 2 plan. So, we've been discussing this for some time now. Thanks to Basil Crow for writing up blog post does a really, really great job of presenting the background ideas, proposals that were rejected and proposals that were accept and proposal that was accepted and provide some information to keep in keep in mind going forward. So, this also announces some end of life for other us is so yeah, just really great work by Basil here thanks to him for writing this all up and presenting these arguments and these ideas in such a really clear and concise way. As we've said, and as I've kind of explained before the idea and the accepted proposal is that will have two years of support, two years of required and then two years where we're not supporting it anymore and that will fall in line with upstream support from other vendors, Java itself release cycle, and a number of other things. This will make sure that we're not cutting on off too early that we're providing the latest and greatest features and tools for development. And that we're supporting something that we have integrated into our system for quite some time. So, really great, really lovely. This is an ongoing discussion within the JP. So, if you have any concerns questions or you want to be part of that discussion, by all means, that's what we're hoping for. So, you can log those thoughts here in the job. And that's an ongoing discussion. This is where we've really kind of determined all the stuff that's presented in Basil's blog post so if you want to see the extended discussion, there it is. And for the LTS, so 2.426.1, our new baseline was released yesterday. Everything went well, everything successful and the release is available. The change log and upgrade guide have been merged and published. And Mark was able to actually catch the fact that despite talking about Java 21 support everywhere, except the change log. We neglected to put that in there. Mark submitted a pull request that's already ready to be merged and published. So that will be incorporated into the change log and upgrade guide by the time this meeting is over. And something I wanted to highlight was the fact that Update CLI went through and did its job and updated the LTS and weekly versions in various parts of the documentation. And it went really well. It came in, did its initial pull, added some more commits, which is great. So it went back and actually checked its work and did more work. And yeah, really exciting. And thanks again to Bruno for incorporating the Update CLI. So that made that a lot easier. Thank you for letting me do that. Of course. And we'll have some more discussion about Update CLI a little bit later in the agenda. So, yeah, more to come on that. So now I had a, and you say we're going to talk about Update CLI later. So it's okay if I delay my questions still later. Yeah, yeah, I think it's actually just a couple topics, Mark. Yep, right there. Okay. Next talk on the agenda. So Google Summer Code 2024 prep has begun. Mark and Chris met last week in the Asia Docs office hours and went over project ideas. There are things we're at right now. Chris is leading the Google Summer Code 2024 work. So thanks to Chris for stepping up and taking on that role. That's great to see. And Mark has presented some ideas here that they've got in a tracking sheet now. So Chris's ideas, Mark's ideas, all the ideas will be part of that tracking sheet. And yeah, Mark, is there any, would you like to just talk about any of these ideas at this point in time? Or to be determined more work to come still? Well, actually, so there's one of them that is truly relevant to documentation. So how about we take that one back end extension index or the very top one there. This is a feature of the Jenkins documentation site. So if you open www.jankins.io and search for extensions. And click that. And now on this page over on the bottom half of the right hand side text, it says the extension index. Click that extensions index. Now back the extensions index that one. Notice that what this list, it says extension points, extension points defined in and then goes down a long list of plugins. However, as you scroll down, you'll notice that it's rather glaring in their absence that it's not 1800 plugins. And there are some conspicuous absences in this list. For instance, scroll up between GCP and GIDI, we'd expect the Git plugin. And we don't. So what's happened is when we added incremental support into plugin builds. That incremental support unfortunately broke the tool that does this back end extension indexer generation. So one of the proposals for Google Summer of Code is why not have a Google Summer of Code contributor rewrite the back end extension indexer. One so that it can be much, much faster because the technique that it was using before and is still running is painfully slow and very heavy weight. There are better ways to do the job than what what the existing code is doing. And so the idea is right now this page is woefully incomplete because it's missing any plugin that defines an extension, but also uses incremental also delivers incremental builds. And most plugins are many, many plugins now. And certainly all the all the high use plugins have already defined incremental builds. So therefore, we're losing their entries from the extensions index, and we want those back. So rewrite the back end extension and back end extension indexer is one of the project ideas. Fantastic. Thank you very much for detailing all that mark very much appreciated and very helps clarify what the issue is there. This being discussed previously so it's nice to see that this is front of mind for our Google Summer of Code project sounds like it's a really great candidate for that. So, that's fantastic. Thank you very much. And then, yeah, more works being done applications not do yet so there's time to prep and gather more ideas. We are looking for mentors now as we are gathering ideas, we can find mentors now that are happy to participate contribute and lead in some way shape or form. That's great we can help get projects assigned after the fact but having that enthusiasm and that that drive and the mentors that are having them available prior means that we can assign those a lot easier. Anything else on Google Summer Code 2024 mark. Nothing nothing else for me at this point, we've got more things coming. Right. Great. Thank you so much. Next up so the contributor spotlight so this is something that we talked about last week. Chris Stern has done a really fantastic job of helping create the site. Thanks to Christina pizza gaily for providing the original mock up and all of the contributors that have been working with us on this has been really fantastic. So, if you're not aware, basically what we've been working on for the last few months is gathering data and trying to determine who the heaviest contributors to Jenkins are. And what we want to do is highlight them and share our thanks and appreciation. There none of this really exists without the work of the community so we want to highlight the community. Chris Stern has created a ticket with the info team to help get this site into the infrastructure. I'm working on the contributor stories and getting those compiled and put together and reviewed by the contributors and other parts of the team other members of the community. And so we've got a prototype site basically a mock up of what's what we've done thus far, and everything's going along really well really excited to bring this to the community. We have about 1011 responses altogether right now, but we have enough content that will be publishing for a little while enough time that will be able to gather more responses. And yeah, it's just a really great opportunity for us to thank and appreciate the contributors that make this all work. I'm going to go ahead and share my screen just to go to share case the prototype site a little bit here. So, again, thanks to Christina for Peter Gailey for creating the mock up in the first place to help guide us on this. And again, Chris Stern has done amazing work to get this to where we're at right now. And so the first person that we've got a response from and that will be publishing is Alexander Brandes, who's part of the Jenkins Governance Board. He's been a contributor for some time. And it's really just it's a chance for us to share who the contributors are, not only as contributors and members of the Jenkins community but who they are as people. It's an aspect that we might not get to interact with as often based on, you know, what the goal is of Jenkins. So, it's nice to just be able to share some background and insight from these folks and understand who they are. Again, thanks to all the contributors for collaborating and working with us on this. We couldn't do it without any of their help. So, taking the time to respond to meet for interviews with me, whatever it takes. And thanks to Alyssa Tong, John Mark, and Mason for helping gather all the materials data and organizing all of this. And yeah, just really exciting where we've got a couple of little tweaks and things that we're still working through and working on. But for the most part, the progress has been amazing. And at this point we're just waiting to get the site live. So, I'm looking forward to that and probably we've been working with the Jenkins and for team to help get this up and running. Avala Mira has been helping with the work on that and we're looking at the next week or two to get it live. The teams helped prioritize this in their milestones so we're in the right place and we're working. We're getting to the finish line. Next step on the agenda. So the update, the ongoing update CLI discussion that we've been having for some time now. Again, we've merged the original one you saw update CLI action where updated the LTS and weekly documentation versions. And then a new report request that we've been discussing as well as the idea of having separate LTS and bomb version of the CLI manifests. A running log of when these changes were made and which updates CLI action. So, but Bruno, I want to throw it over you. You wanted to know how to question, I think. Oh yeah, that's right. Bruno, there was a poll request earlier today and you closed it and I wasn't sure why it looked like it was a good outcome. So tell us what it was. Tell me more. Yes, my fault. The update CLI request are supposed to come from GitHub actions. When we update, when we merge, when we create a poll request on Jenkins.io repo thing is I was working on another PR regarding updates on my laptop. And unfortunately my environment variables were targeting Jenkins.io repo and not my local repo. I found out after writing in the PR, that sounds fishy. I don't have a text and then I searched it. Oh, oopsie. I made a boo boo and it was my fault because it was coming from my laptop with an experimental version of the update CLI. So it's not working as expected. So that's okay. The upcoming PRs from the GitHub actions with a detail I should be fine in doing that job correctly. This one wasn't ever sorry about that. Thank you. Thanks for the clarification. Thanks very much, Bruno. And yeah, so to provide a little bit more background, so updates CLI is in place. It's working as expected. It's working really well so far. This would basically separate it so that the LTS and bomb versions would be separate logs instead of one combined log. This would just, this would generate two PRs instead of one. So a little bit more noise but more accuracy and more. Yeah, accuracy. So, I mean, I think it's a good idea to have the manifest and the logs I shared that before. Yeah. Great work Bruno. Yep, thanks a lot Kevin. Yeah, thank you very much. Anything else? So is this still being discussed further? We're waiting to see next release results or where are we at Bruno with that? I think this one is ready to merge and there is no harm merging it because we won't see another LTS release for a while. So this could be catastrophic but 11 weeks from now. We still have time we can wait until next LTS or we could merge it and cross our fingers until the next LTS comes out. No, frankly, there isn't that much of a difference. I've just split the file to have two different manifests with two different PR titles and that's all I did. I didn't change the mechanics of how update CLI works for us so it should be seamlessly smooth. Got it. All right then. Yeah. Yeah, I don't have any issues with that. Mark, any reservations on merging that at some point today or tomorrow or no, I did actually have one question though so so Bruno while you're here maybe I'm going to ask you ask my question. So Kevin, could you open up the choosing a Jenkins version page the one that this is controlling. Yes. Nice, nice blog post I like that. Okay, so on this page. Look for 2.35. There we go. Okay. No, no, maybe I'm wrong. Maybe that's not it. Okay, further down. Yes, yes. Okay. It's right on top of the screen now if you are packaging a pure API library. If you do not depend on Jenkins API is then you should ignore newer Jenkins version and pick an older LTS, something around one year old that does not have too many detached plugins makes a good choice and 2.361 two would be a reasonable candidate. My worry is I think that should be dot three, because I think we always want it to be the tail of an LTS line, not the middle of an LTS line. I don't know how to express that Bruno. The, I will find out. So choosing a Jenkins main line. Okay. It's all, you know, I get the whole list of all the LTS and so on and then I have to pick up the right one. I remember the exact process for this one for some of them I looked at what the Ruby script was doing so it was going maybe seven LTS before and so on. So I see what I can do how this is a computed and I'll fix it. I think I will be able to fix it. Well, and it may be that the Ruby script was previously doing exactly what this is doing. It could well be that that it was recommending midstream versions. I just think that in the advice that's offered here we wanted to use the tail and the last release of that LTS because that's what we use in every other example on the page is we either tell them there isn't a last therefore use dot one but otherwise use the dot three or dot four use the final version the terminal version. Got it. Would you like it to appear in another PR or should I amend the current one. Another PR is fine this that is certainly nothing that deserves to be to be in in the way of your current PR. Okay, thank you. Thank you so much. Appreciate that. And thank you Mark for putting all that out. Next up on the agenda so the version documentation site for Jenkins.io. This is the tail end of the Google Summer of Code project that we've had going on. Thanks again to Chris Stern and Von D for all of the work on this. They're working on the blog presentation. They have the prototype site lot up and running so we can check it out any point in time. We have displayed it previously but it looks really good looks nice and clean and I think does a really nice job of presenting some of the page elements a little nicer and highlighting things a little bit better so really look forward to that. They are looking to get the site live before the end of the year before the holidays start. And they're working on that so a little bit more needs to be done but yeah to more to come on that. And then so the last thing I had on the agenda for today is just some housekeeping so next week is major us holiday Thanksgiving here in the US so you US documentation office hours will be canceled. And Mark I wrote it down ages office hours are canceled as well is that correct or I figured I double checked you. Correct. Yeah, you're right. I will be I will be either sleeping or playing with my grandchildren at that time I definitely will not be talking about Jenkins documentation. Yeah, and yeah I will probably also be having some food at that point in time so. I'm excited about that part but yeah I will miss everyone for the week so. But yeah, that covers everything I had on the agenda for us today. Anything else anyone want to discuss or throw out there before we wrap up. All right then. So, we'll stop we'll end it here recording will be available in 2448 hours and until two weeks from now, take care stay safe. Anyone celebrating Thanksgiving have a happy Thanksgiving and we'll see you then take care. Bye.