 Welcome to the Jenkins documentation office hours today is May 4th, 2023, and this is the US edition. Today we have myself, Mark, wait, and I think we're going to be joining us he was here briefly but will most likely be reconnecting. The agenda is fairly short today. Right now, the agenda includes there's an issue at the moment where the pipeline steps references has some areas where the nested options and information is not present. Mark and I have been reviewing this and investigating all morning. We were just talking about this. We seem to have gotten down a timeframe from when this happened, what exactly caused it we don't know yet we're still trying to figure that out. But there could have been in one of several different places which is the biggest thing. So it could have been the pipeline step stock generator could be doesn't appear to be the Jenkins that I oh site. Mark has been able to figure out that has a working and non working repository so he does have a control to test out with, but we're still looking into this and figuring this out this is. Yeah, not ideal, of course, but Yeah, we'll go into that more Google summer of code. So the only update here is that they will be sharing their announcement for accepted projects today at 18 utc so keep an eye out for that really really excited and yeah just keep an eye out for that and then further communication from the Jenkins project as well. I wanted to highlight that we just published Bruno's latest blog post in his series on janker Android development with Jenkins. So, really exciting stuff it's really wonderful and I just love being able to read the different ways that this has been that Jenkins have been utilized and seeing how mobile app development can go through it it's really cool. So definitely be sure to check that out. And one of the other blog posts I wanted to highlight that I don't have on the list here but CD con is next week so we have a blog post that shares and highlights a couple of the topic the Jenkins, Jason topics and the fact that Mark weight is going to be participating in a couple talks so really excited to have that and have the representation there. I'm going to be sharing a couple other things so recently had a book submission guidelines this is something that I just figured we could put in and have outlined there we've gotten more book submissions lately so having some guidelines is just some structure that we could use the most recent LTS which was yesterday of 2.387.3 released successfully. There are a couple of interesting things but we've noted them in the 2.403 changelog so XML handling of null values is something that's going to change. And so just be aware of that again we have documentation all sorts of stuff around these and your tickets are not your ticket sorry get hit GitHub tickets that provide more context as well. So, there's lots of information for that. The next LTS baseline right now is currently voted as 2.401 that's scheduled for a May 31 release so keep an eye out for that more to come on that. I'm now working on a working on the Jenkins documentation to transition installation guidelines Java requirements system requirements from Java 11 to Java 17 as the preferred method. We're still supporting Java 11 we just want to show people that Java 17 is the way to go and that is the future. So, faster testing edge testing functionality development everything is just better in Java 17. I encourage people to hop on that. Yeah, so, Mark so I did want to spend more time on the pipeline steps reference since that is relevant to what's going on today. So, what would be the next steps that we could look at for this or I was when I was trying to do some testing and figuring it out backtracking. I wonder how I could gently test some of the pull requests on other areas like the docs step generator. Yeah, well I so okay so let's let's describe first what I think we know and maybe maybe by writing those I'm going to I'm going to try to type some some ideas here in terms of things that I think we know right so what we know right is the current shows no entries for the checkout step. Or know what would you call it no nested entries for the checkout step. All right, and that's, that's our test case. So maybe Kevin what you want to do is open that up in your web browser so that we can see it together let's just look at it on my current Jenkins site so Jenkins.io. And this way we show it to each other and be sure we understand okay this is what's broken. So pipeline steps reference search for the word checkout yeah and then that very bottom one. Notice that here nested choice of objects right is is very brief, whereas in the actual production site, or in the in the, the working site. And now let's bring up let's bring up one that was working let's see we had notes on one that was working right it was. Yeah, here's one so this is. Yeah so pull request 6323 its prototype site has this as its presentation of the SCM nested choice of objects. And get the screen so I can share it. Okay. So, so yeah so this is the deploy from 6323. So we've got this is this is looks good. And then the other one was the looks bad. Now what we see what what I see in my development environment is, I've got a, a working repository and a bad repository. The working repository and, and the thing that generates this page, the thing that generates the content in this page is this file all ASCII dot zip. Maybe. Maybe what we ought to try is. Well, here's an idea. Okay, so we've got on my system I've got two conditions one that's good and one that's bad. And one theory is that the whole problem is in this data file called all ASCII dot zip that is generated by the pipeline steps doc generator. Right now that data file is the current data file size is about 290 K in the broken state. Yeah, that's good. Let's make a note of that. Okay, so marks working site working. Good working copy has a has has the master branch checked out so the current, the current tip of the master branch, but with an older all ASCII dot zip. The pipeline steps doc generator data file. Sorry Bruno that we're debugging live my bad I was late. This is a struggling with what what is a really terrible hit to the Jenkins documentation that we need to fix. But first we got to understand what broke it. Okay, so the bad working copy has with the latest all ASCII dot zip. Exactly. So current master branch with the latest all ASCII dot zip. And now what I thought was what if I swap one for the other is to try to confirm for us that the real difference between those two things is just exactly that one file all ASCII dot zip. And then that means pipeline steps doc generator that creates that file is the thing we have to diagnose. Now the problem is, I don't, I'm not expert enough on all of the detailed steps here so it may be that moving those files around won't actually change anything, because I don't know if all ASCII dot zip is actually used during site generation, or if it's unpacked once. Let's see how would I guess that. Mark, I know, do you know if it's do you know if it's possible to extract like the date or date and time for the, the older all ASCII zip. Sure. Absolutely. Because when we were looking at the two pull requests where it was good to bad I think the time frame was very early on the 20 on the 25th and then very late on the 25th. So, if the older all ASCII is from around that timeframe that might point us in that direction. Yeah, well so that's a that's a good thing to check because I've got that. I've got both files. And so let's look at. So, Kevin, I'm going to share my screen and we can stare at the contents of the file together. Okay. All right, so looking at my screen here. So here's what I've got. I've got that's not useful. Here. No, where did it go? Where's my terminal? There it is. Okay. So this has content underscore temp all ASCII dot zip is the actually it just look at them. So the bad one is in Jenkins IO bad so the left hand side, the one that's working is on the right hand side. So now and of course they're not sorted alphabetically by file name so let's see is there a way to sort them by filing. No. So, when all this fails we look at them side. Let's try to take it dot a doc. Here it's 893. Here it's 89. So they are exactly the same size in in the two places. The one that oops reading again. Okay, the one that provides workflow the workflow step what is that one that is help me out there Kevin you've got it on your on your screen in the URL. If I look at the pipeline if I look at the steps reference. If I search for check out, check out. Here it is. It's a pipeline as so workflow SCM step so let's see if there's a difference between those two workflow. SCM step 1290. 94. Well that's a difference. Okay, all right that that gives me some hope. Right so here we've got in the working one on 94 k bite page. And in the broken one we've got a 1290 bite page. Okay, so obviously there's a difference between good and bad. So really it is. It's got to be in the pipeline steps doc generator. Okay, that's good. This means we don't have to spend time in this meeting. I can go separately and do diagnosis on pipeline steps doc generator. That that already thanks for the insights because that already has shown. This is so if I, for instance, if we look inside this file. And look at the look at the text there for checkout now if I look inside this one. Code okay now let's this is where I love my ediff ediff. Let's look from bad to good so I'm going to put bad on. Well, let's do this ediff buffers from bad to good. Let's go backwards. Okay, notice that the yellow block down at the bottom of the screen is addition. And it's enormous. So the nested choice and we see it there nested choice of objects has nothing beneath it. So, so, okay, so the problem really is in whatever is generating that all ask you dot zip. Okay, that's that's a very testable condition now I can I can go do the do the bisect to find where all ask you dot zips workflow SCM step file is too small. Because that's that's what's happened right it's, it's that. In fact I should be able to even see it here. I've got two directories. Oh no I don't apparently. But it's that's a that's a doable bisect so what we need is workflow SCM step should be 90 kilobytes not two kilobytes. Good. Thank you Kevin. Thanks Bruno. I think we've got we've got a next step and mark that the pipeline SCM. I mean, it would not be coming from the plug in in this case then. Well no or actually you good point it is coming from the plug in. But for some reason, the tool that extracts it from the plug in is no longer doing the extraction. Okay, so it's it's that something changed in the pipeline steps doc generator source code so so the process that happens is the pipeline steps doc generator. It downloads all plugins extracts them all, and then pulls out their help files and formats them into ASCII doc. And somehow in that process of extracting and formatting to ASCII doc. This thing is being lost. And that that loss has happened in a fairly recent change. It's fairly recent because I, we, we, we saw the yeses and the nose in our in our earlier analysis and there's some oddity there but we got some rough timelines that we can use to check to see where where did the which change or changes to the pipeline step stock generated caused it to stop generating correctly and, and then we write some tests to be sure that this problem never happens again. Thank you very much Mark I appreciate that and thanks for looking at that during talks hours that helps a lot. All right. Of course Bruno. So, since I know you were having some audio issues is there anything that you've wanted to share bring up put on the agenda talk about today. No thanks for asking Kevin. Okay, yeah no worries just want to make sure I can also highlight your newest Jenkins and Android blog posts since we just got that published the other day. Yeah, thanks for your help. And always, of course, and then. Yeah, we're just talking we're just sharing that the Google Summer Code announcement will be later so thanks to you, Alyssa jump our crystal and for all your work being more guidance on that and spearheading all this. Everyone's very excited and can't wait for it so yeah, thank you. Okay, so that's all I had for the agenda today if that covers everything for everyone. We can go ahead and call it early today no problem at all. And yeah, thanks as always for joining. Again appreciate all the work and contributions and assistance and everything. So take care. Have a great rest of your day. See you later. Recording will be available in about 24 to 48 hours. Thank you.