 Welcome. It's Jenkins documentation office hours. It's the first of July 2022 topics for today action items, news, change log, long standing pull requests, and I think these last two are actually largely done so those are the topics that are on my list what other topics do we need to rise. Do you have any Yes, I wanted to have a brief discussion on that ticket that I talked about in yesterday last meeting that you are related job filter plugins Okay, great. All right, any, any other topics you want to put on the list. No, I think this looks great. Okay, make any topics for you. None for me. Okay. All right, so quick review of action items then. No progress on archiving the docs mailing list and no progress on upcoming blog posts and given that my weekend is busy with grandchildren, I probably won't make any progress until next week at least say, let me No news 2.357 released this week and require job and 11 or Java 17. No Java eight support. So no longer supports Java eight. Oops, wrong thing. There we go. Java eight. Okay, so. The next LTS baseline will drop Java eight support as well. And that's likely in September. Any questions there. Okay, next topic then you I improvement ticket for discussion so dirage. What was the question. So I tried to work on it and very briefly because to be honest, there's, there's a lot in my plate for now. So I tried to look for what what is causing that error. And how I can fix the checkbox misalignment. And I was not able to find it. And then I thought that since I've commented that I'll be able to be solving it soon, and I'm not doing it. So I thought, what should I do? Should I remove myself from assigning or how does. Yeah, so what I do is they stop the progress and unassign yourself so it's clear that you're not working on it. You okay if I do that. Yes, please. Okay, so we're just going to list is unassigned is there's no shame and saying hey, I was working out and I'm not. It's no longer in progress. And there it is it states accurately reflect reflected. That way you can skip your focus on the Google Summer of Code project instead. So I like that I fully support that. Yep. So this looks good. And I think that was it. All right, great. Well, so then, then I had one, one possible that might be interest of interest to you derage if you're, if you still have an interest in doing these kind of exercises. The 2.346.2 change log an upgrade guide needs to be created. I thought we could spend five minutes tonight or 10 minutes tonight and work on it. Sure. Sounds great. So Meg if you're are you willing to have a spend some time on this. So let's first look at the, at the things that are in that release. So for that we go to Jenkins core. And we look at the back porting pull request that was used to create the changes on the stable branch back porting for 2.346.2 and here they are. It's big enough to read. And now I'm going to bring up my friendly local terminal emulator and make it big enough to read. Kevin and I were going to start on this one during European docs office hours today and we ran out of time, we had a bunch of good questions from others and. Okay, so here we go. So what I'm going to do is, let's see, change log 2.346.2 change logs. And it's LTS. Okay, so let's do this one to the last one is 2.332.2. So let's steal that. It will be 2.346.2. And then we need you want to change that date. Yes, and the date will be what date will probably be as stated on the Jenkins calendar. Google calendar. And that is two weeks from now. So that will be July the 13th. Good catch Meg, thank you. Don't want to be completely useless here. Much appreciated. All right, so now, now we need to go find the items that are being back ported so Jenkins dash 68752. So the technique I've used in the past year, I don't know if you remember it was a while ago that we lasted this is I'll go into the weekly and I'll search backwards for that thing. Yes. And copy that into the list. And now the spacing is off because the two files use different, different indentation counts but we'll fix that later. Okay, so there's one. Now doing the same thing again. 68 639. Okay, here it is. That is the most interesting sound Meg. And there's a fan somewhere. Oh, I'm this. Yeah, this is my computer that I think is dying. Okay. All right, so that's a cool sound. All right, so that's two. Let's take the next one. 68 785. This was the one that I found after some diligent questions from Basel, trying to figure out what the real problem was. Okay, next, this one 68 730. Next 68 799. Think I got too much there. I did 68 840. 68 848. Do you remember the good old days of doing this dirage. Oops. Okay, now that's interesting because this one is not yet included in a release. Okay, and this one is an interesting one. For that reason, so it needs a little more work because this was merged even before it became available in a, in a release so let's see if this is. Nope, that's not it. This is it. Okay. All right, so we have to create this one from whole cloth. It is a bug report a bug fix. It is a regression. The poll request number was 6714. The issue number is 68 848. Okay, the author is DW Nussbaum. And the PR title is that. And of course the line wrapping will be wrong. And then the change log entry is this. Okay, make previous boot attempt timestamps available to boot failure groovy startup books. Okay, there we go. So I think that's it. Now if we look at the differences. Oops, oops, wrong. We have to make one more change which is have to fix the indentation. Okay. And it looks like a nice big block. So I think that much is done now let's look at the what upgrade guide. And here it's 346 something to dash 346 dash to a doc and slash a okay now we have to go find one that really has that text in it like this. Okay, so there are two files here. So I think that's ready. Any objections diraj. Okay, so I think add 2.346.2 change log. And upgrade guide GHPR create minus minus Phil. There. Okay, pull request is ready. Now diraj if you've never used the GH command you need to do that. That command is breathtakingly good. Okay, so here we go. So you don't need to type get add get commit right just GHP create. Well I did so I did the get add and they get commit so I created I definitely created a commit I did that from inside emacs, but I created a commit but what GHPR create does is lets me go through the whole process of creating the pull request without having to leave my command line. So it does all the things that I would have done here in the web UI, but it does them from the command line. Awesome. Yeah it really is quite, it's quite a treat. Okay, get status. And probably be sure that let's see this was, I want to be sure that this actually renders correctly so let's check that just briefly. Okay, make run. Okay, looking possible. Download if I remember right will break a change log. There we go 2.3 Oh no I need change log dash stable don't I. There it is 2.346.2. Ignore duplicate log recorders fix raster image status icon show log messages fix rate okay make previous boot attempt timestamps available okay good. All right does that look okay to the two of you. I think yes. It looks good. Okay I'm going to capture a picture of it for the benefit of code reviewers. Give me a picture. Save that. Now if we go back here they will thank me maybe because I uploaded. See this one. Here we go. Drag this into there. All right. Sorry I was muted I was mouthing and tried to figure out why you were just ignoring me. What's up. That second bullet is really a mouthful. Okay, I'm not sure if we could do anything better. Let's let's try it let's do it okay so let's work it. Build status items no longer. Yeah let's fix it. Hang on just a minute so has the feel of some pros that kind of grew. I'm sure it did. I don't know what it's doing and then figure out how to how to say it better. Okay so. So the message is. Fix raster image build status icons no longer display displaying when Jenkins when running Jenkins with a non empty context path due to a malformed URL. That is interesting. Okay so let's try to read the actual issue report. What it is, is that the, there was a bug in one of the. Yeah so here you go this image rendering that you see here the UI was incorrect. So, and so is it better for us we should phrase this for in things the user will understand. So maybe what it should be is fix broken images. Or something. There we go. Fix broken images due to duplicated context path. Let's see our duplicate text in the image name that might even it might be we can just where is the, where's the actual text. The actual text is right here. Maybe fix raster images with the problem. So what if it. I mean we could say show images or show icons, even when I'm going to try something even when duplicate text is in the. No, no, that's not really show icons in cases that previously. No, didn't work. That's bad sorry. Go ahead, go ahead make. Let's see image bills. Well the problem is, okay. That was the overrun but I'm running Jenkins with a non empty context path due to a malformed URL. So, let's see, wait a sec so what he's saying is, that's where I've got to understand the phrasing here okay so this is showing that the raster image are of. So display job icons on the dashboard what if we use this. What if we use this text display job icons on the dashboard. Right exactly, or display job icons correctly on the dashboard. Let's try that display job icons correctly on the Jenkins dashboard. Even when they have a malformed URL that's not quite malformed when a non empty context path. alters the URL. What do you think of that. That's not that at least. I don't have to read it six times to figure out which words go with what. So regression in. Now I don't know when it's regression it's declared a regression but I don't see when it was a regression in 2.346. So would we assume it's a regression in two dot. I'm going to assume it's a regression in two dot. First detected in 2.346 so let's call it a regression in 2.346.1. That's good. By the way, it, it reads the show icons. No display job icons correctly, but according to the ticket there's only one icon that is getting rendered wrong right. So you're correct that there was in this example only one, it would depend on how many jobs there were that use that that particular configuration. So you're correct that the one above it is okay and the one below it is not. And I don't recall why the one below it isn't but you notice that the one below it does not have an arrow, which probably indicates it's some form of specialized job type. It could be a folder it could be. So did that address your question dirage. Yes, yes. That makes sense. Okay, so Meg, you're okay with that. I am. All right. That's good. User centered phrasing user phrasing of the icon. Job icon rendering bug display bugs. I like re entering. Oh, okay. Good. No, I'm being sarcastic. No, go. Oh, good. Okay, so the re entering I was typing talking about your typo. I was proud that I had realized the word rendering was an overstatement when display would have done it. So good. I'm glad you didn't mind that I switched to display. All right. Not at all. Okay, so get push. All right. So, oh, so now I need to do. Now I need to retake the screenshot. That's okay. This is a great reason to do it. Oops, not even better reason to do it because I had this one running. Hmm. So taking a picture from where, where was I was I here? No, is I here? No, here. Somewhere on this page. I know that I had this. Okay, and it was changed log dash stable, right? Yes. Okay. All right, there's the new text. And now let's take the picture. Okay. And back to GitHub. Review. Good enough so far. Looks good. All right, thank you. Thanks very much for helping me get that done. Much appreciated. All right, so we can now go to the, this is the fun part, we can go to the, the LTS change list. The, the Jenkins release checklist. And we see here the Jenkins LTS 2.346.2 checklist. And there will be a checklist item here, prepare the LTS change log. And the LTS upgrade guide and we are going to edit this and put a note in here linking to this pull request. Okay, so prepare LTS change log. All right. So prepare LTS upgrade guide. Now let's preview and see how it looks. There they are right there. Yes, we should be so proud of ourselves. Very good. Update. Okay. So done. And by the way, I love this. I love this checklist. This checklist is my best friend when I was doing the. Yep. Yeah. Yes. Oh, whoops. Now we need to bring that back. All right. Anything else on that topic before we go to the next. I think that ticket that we unassigned, what would happen about it and the guy who was commenting. I'm just trying to see. Okay, what will happen? What will happen? Oh, you, we just got a comment. Is that what you're saying? Yes. Oh, I don't see it here. Before your comment. Oh, okay. So here's steam hairs. Yes. Yes. Attempts to explain what went wrong or what might be wrong. And how it can be faced. Yes, but unfortunately, I don't know. I don't know. I don't know. I don't know. I don't know. What is doing the fix is in HTML rendered. It is an HTML that's directly rendered. And while that's, that's good. There is some problem in the. In the jelly file. That is causing this to render incorrectly. And the challenge is not what, what does the HTML need to look like? It's what do we have to do to the jelly file to fix this. Exactly. That's a much more complicated thing than modifying the divs and the, the layout. Because I did. Check the jelly files and. Try to see why is it rendering the checkbox before the heading. I was not able to find anything. Right. Exactly. And I think that's what you just said is the secret here. It is that there's something, the rendering, the rendering as you, you parse it as a human being and the jelly file looked good to you. But when jelly converts that into a webpage, it makes a mistake. And then the question is, why does jelly make that mistake and what's going wrong? Right. Now it could be. All job states are not enclosed in the label tag, but just next to it. Yeah, I don't know. So it could be that the person's statement is exactly correct, but I don't know how to implement that in jelly. Exactly. Even I was very happy when I saw the comment that, oh, okay, this is all it should be an HTML file. Then I started searching for one another. Then realized that it uses jelly. So it needs jelly centric solution. I think, I think so. And I think you got it exactly right that it does need to be, it needs to, the solution would need to solve the problem with jelly, not with, not with just straight HTML. So you're okay with that? I think it's perfectly fine to set it aside and say, hey, I can't do more on it. Because I will not be able to do it. Right. And I think that's very reasonable. Your, your first priority needs to be Google summer of code. Absolutely. Yes. And job. Yeah, yes. And your employer actually your first priority needs to be your employer. I agree. Even more than Google summer code. Be sure you satisfy your employer. Yes. That is what I'm trying the most. Very good. It's fun. Yeah. All right. So we've talked through UI improvement tickets. We've talked through the change log and upgrade guide. Long standing pull requests. So we've still, well, let's take a quick look to see if there's anything there. I just looked and there aren't a lot of real old ones. Well, there. So we're up, okay. We're up to 29 again, which, oh, because I just added one. So we're still above my magic threshold of 25. And there's one, there are some from 2019 that need work. And 2020. But it's just going to have to, for me right now, it's got to wait. I've got other things I have to do more urgently. Yeah. All right. So any other topics that we need to discuss today. Nothing. All right, I'd propose. Let's call it a done for tonight. Because we successfully completed that change logs. And for me, that's a big win. Yep. That sounds great. I'm sorry. I'm speaking in the wrong timeframe. We should call it done for today. It's been a good morning. Yes. I'm still sleepy. Yeah. That's what you get for working late nights. You need to, you need to go to bed at a reasonable time, but that's not my problem. Right. So you. Or stay in bed for a reasonable amount of time. Question whether you're a morning person or a night person. Yes. And Megan, I have fundamental disagreements on what the best choice for, for lifestyle is she's very much a night person. I'm very much a morning person. So yeah. Oh, I wasn't morning person, but now I'm a night person. So I'm. Yeah. See professional employment in India tends to do that to you. I wish I could claim it was better than that, but it's not. We tend to make people stay late. It's unfair. That's true. All right. Let's call this done. Thanks everybody for your time. Have a great evening. Okay. And a good holiday, Mark. Yeah. Yes. To you too, Meg. Happy independence. Yes. Yeah. Thank you. Thanks everybody for your time. Have a great evening. Okay. And a good holiday, Mark. Yes, too. Yes. To you too, Meg. Happy independence.