 Welcome to Jenkins documentation office hours. This is April 28 2022 topics on the agenda, news, junior LTS base select baseline selection and crowd in enterprise or the topics I had any other topics that we want to put on the list. I, as a forewarning I have a hard stop at half past the hour, because I've got the she code Africa contribute on that I need to assist with. Oh, okay let's take these topics then. So Bruno know that you're here. Alright so by way of news. ongoing prep for the June LTS baseline. And thanks to Alex. 2.332.3 release candidate build is available for testing. It's a change log and upgrade guide and I'll review that I hope with the Asia team with the Asia office hours later today. It's a pretty simple change log if I remember correctly and later today is the wrong phrasing during next office hours. Any questions or comments there. Okay, next topic then June LTS baseline selection. Alex and I have been pushing or I started the push and Alex is agreed with that we wanted to delay the baseline selection, while we stabilize and resolve some regressions. I haven't seen a reply from Tim on the discussion is on the mailing list. There's there are one or two, or maybe it's two or three issue open issues that are worrisome to me. One of them is a regression that Basel Crow has proposed a revert of the commit that introduced the regression. And then there are some existing UI regressions. Two to three existing UI regressions that worry me. Alex anything you wanted to offer there. Nothing specific anymore. I mean, at the current time we are tracking lots of UX regressions on the UX regression dashboard on zero. And I think many of them are actually from much, much older releases, like from 2020 or 2021. If I saw that correctly. So not necessarily every UX regression listed there has to be addressed before the next candidate is elected. Exactly, I agree with that we, we should not have the the flawed expectation, I can bring up that Jira so that we can see it. We should not have the flawed expectation for me at least that all UX regressions must be fixed not even close it's this this set shows hey there are 16 but of those 16. Many of them were not reported until well let's see roughly half are in in the reported in 2021 or earlier. So, and yeah so it's at least one third are are very old and I don't I don't see a compelling reason that we must fix those. I agree. I think there are a few here. This one for instance the credentials pop up this is the one that Basel's got the change in review to revert it. And this one I would like but I could even see if we had to ship without it, I'd be okay. The one that was my most worrisome was this one just because I've had had people requested for multiple fronts. Great. Anything else there, Alex. Okay, the next topic crowd in enterprise. So proud to highlight this watch this crowd in dot Jenkins dot IO is our new site. And so Alex we've got about 25 minutes. What shall we do today what do you recommend is our next thing. Yeah, I think. Yeah, I tried it. We've got a French speaker on the line a German speaker on the line both native language and a bad bad speaker of Italian. Excellent. Okay. Yeah, actually, if you're here and you have tried comments so far. Is there anything you have run into that could possibly cause issues or something. Is there anything that went against what I wanted to do. So it's not really easy at first, but once you've done one translation, then it's okay. Yeah, the same process for one translation applies to every translation. Yeah, I think once you get used to it, you know the flow. I'll be better at translating. Okay, that's not a real contribution that we're just tries of mine. Okay, so but how do now how do I see. Okay, how do I see the proposal so as far as I can tell Bruno you have submitted a translation for a French at least one French language message is that right. In fact for free messages in French in two different files. Okay, so if I click here I should see. Ah, here it is. This is your proposed French translation. Yes, it is. Okay, and so apparently people can vote for the different translations proposed. You can click on the plus or minus sign, whether you agree with it or not. Oh, oh, so I could click here as a plus and say, I agree with. Nice. Okay, now that was an ignorant vote so I, I, but but that's great I'm happy to vote ignorant. This was submitted a day ago, which means it still needs proofreading by someone Alex before it could be accepted as a pull request is that right. Yes, that's the current work we are using here. If someone accepts it, and there are no other translated strings in the file left it will end up as pull request and get up. How can, yeah, sorry, how can we group a set of files before making a pull request because the people who will be responsible for verifying that will get mad if we submit 10 per day or. So what's the process what is workflow. Currently, we have set it up that only fully translated and approved files end up as pull request on GitHub. But you don't have to select the files you want us to request crawling automatically submits fully translated files. We are using an integration with GitHub actions here running cron based every 12 hours. So if you approve strings on a regular basis within the next 12 hours this would end up as pull request on GitHub. I should get someone else on board for each language translated because I, it makes no sense that I approve my own translations. Exactly. And so, so we do need someone else who's assigned now for purposes of this exercise. I bet Alex you're already a proofreader for for design library aren't you. Yes. So we could have Alex approve it and within 12 hours, a pull request will be submitted based on your. Well, or I think these are these files completely translated I bet was a piece I didn't know just one index index the property is fully translated I see both green ticks on the left. Ah, okay, so this tells me done. So this one. Okay, well so, so Alex are you willing to do an approval of those those two translations so we can watch that flow. Yeah, for sure. I mean I can switch to proofreading and I suspect I have permission also. Yeah, we are both currently managers on this instance so we can basically approve anything anywhere, but it doesn't reflect the actual behavior here. Okay. So what's your preference I mean I can certainly say I approve these they, they look great to me, even as a non native French speaker, the application bar, those words look reasonable. Yeah, those words look reasonable but there is one concern. You see the cold brackets and the L column main dash panel. Oh, it has been translated also. Oh, right. Oh, very good catch. Oh, these actually don't need to don't or actually actually shouldn't be translated because these are jelly tacks and the translated part basically doesn't exist in the code base. Right. Well, so what this highlights is. Okay, so how would we flag this as Oh, I want to say that I can I can approve this one, because that makes sense. But this other one I absolutely should not approve, because because it's it's got an interesting problem how do is there a way I can can describe that can say here hey, take another look at this Bruno. Yeah, it was good idea to make it work. Yeah, let's switch back from proofreading to crowdsourcing first. Okay. And if you select the string on the right you should see no comments at the moment. Okay, so if I on the right hand you have then no comments bar at the bottom of this bar, it says new comment. Okay, so I can just put a comment here. Okay, good. Basically highlight and say hey, the stuff in the code records shouldn't be translated because it actually reflects. This so must not translate needs to needs to remain to remain as because it is code. It is a code fragment. Right. Yeah. And if you just submitted it appears as comment on the right hand. And if I, oh, okay, so I don't. So I just, okay, right there. Good. All right. I can see it. Yeah, cool. Yeah. And now this one said I could basically go ahead and reply to it and address the issue in the same role. Okay, so Bruno. Okay, excellent. So Bruno, you could you can you go ahead and make that change and then you're saying Alex I'll be able to see the change that he has made. Yeah, I'm currently in the process of writing Jenkins IO block article or however you want to call that how to integrate crowd and with GitHub actions. Just as a little recap, we could likely publish after the online meetup. So people have something in text form. Because that's most most mostly like most likely something I prefer. And this is definitely something I should include, I guess, to not have to not end up with actually translated code. Okay, so, so Bruno has offered this change. I see it up here. Now, okay, I'm not sure Alex I'm understanding what the save button is. So if you say if you just override what you have at the moment here. But he's already got it correct up. Oh, no way to say that that is the source string. Ah, right. There is a version I corrected just below. Yes. No, no, no. Yep. This one right is. And so if I say plus to that one and and minus to that one. You can actually just delete it. Oh, I see right. Okay, that one. I know we don't want. Yeah, no, we just hit the save button and we are ready to go. Okay, so, so. Okay, now I don't understand what's different between the two below. Oh, this one's wrong. So this one's wrong. This one's right. Okay. And what I see here is right so I can press the save button. Vote for the existing trans okay so exit vote for the existing translation. Okay. And so now I should see page title has been approved. And here this is Bruno's proposal to provide a translation in French. I'm not so sure it's fine. It looks like it yours. Oh, so I made a mistake somehow. Okay, so. That's, that's bad. What did I do wrong so I clear this and I want to take Bruno. Yeah, I just, I just gave it another plus one. Basically, if we had back from crowdsourcing to proofreading, it doesn't also the correct string. Okay, so it's taken away the mess I was making. Okay, very. Yeah, somewhat off. You're much too delicate somewhat is okay. So here it is in proofreading and we see Bruno's changes and he's corrected the, the one thing that was flagged. Yeah, currently spell check fails because French doesn't know jelly. So yeah. Basically something you can ignore here. And that that makes sense. French can't possibly be taught jelly. So okay. So I say, approve the selected strings. Yeah, I know this file is complete and within the next 12 hours, or if we trigger the workflow by hand, it does appear as pull request and get up. And, and you could probably trigger the workflow by hand. Oh no, I can also trigger the workflow by hand because it's initiated from from crowd in or is it initiated from the GitHub side. It's initiated from the GitHub side. So you'd have to do it because I'm not a maintainer of the design library plug. Yeah. Okay. If you don't mind, I would go ahead and a screenshot what the process. Yes, that would be great. Let's do that. So I'm going to stop sharing. Let's also design library plug in. Yeah. Yes. Okay, then let me take a look real quick. I think it is this one. Just one second. Unfortunately, I can't do screen sharing at the moment because I'm in a new system at the moment. Yeah. It didn't give me as permission to do that at the moment. So right, you'd have to exit in order to be able to screen share. No problem. Actually, the, the workflow, the workflow would be you had to the GitHub repository click on the actions tab. Select the action and just trigger it. Well, and I can actually show that for purposes of our illustration here I can show it with one of the other we have is that the schedule build plugin is the one that we have in. Yes. Yes. So how about if you go ahead and trigger it, I'm going to take screen sharing back and I'm going to share my screen and do the same thing, but on a different plugin that way we've got a one more reminder of it. Okay, so this is the schedule build plugin. And so in order to trigger the crowd in translate action I go to actions crowd in action. And then just run the workflow master and there it is. And now there won't be any. Sorry, sorry. No, no, go ahead. What was your question, Bruno. My question was, how do you add a crowding action within an existing repository. And for that we go to dot code dot GitHub slash workflows crowd in dot yml and here is the, the, the, the thing that needs to be added and it's boilerplate this. It's the same for each repository if I remember correctly there wasn't anything we had to do. The one thing that makes it specific to a repository is we had to add a secret to this repository for this thing, or yeah it was crowd in personal token so and we've got a recording of how to do that in a previous office hours. And is it a template which is already existing within GitHub or do you have to create it from scratch or copy paste from another repo or something. At the moment there's no template yet but I'm heading forward to propose a template to take in CI slash get up so you can install it from the one click workflow installer. Brilliant. Yeah, so this one. And, and what you said was we would it would go into dot GitHub slash workflows. And today I can choose release drafter, or, I don't know what tech to see generate Oh, yeah, so so release drafters the one that I think is interesting. Now, I'm a little surprised Alex that I don't see anything here for the security scan it must be done at some other level. Yes, it can be done and, but copy and paste worked for me. Okay. So now, Alex back to you probably just submitted that design library plug in job. Has it already completed processing do we see the pull request. There the pull request is up. It's currently building. So, there is your pull request. Oh, why is that is that a safe change. So Alex do you see the code. They, it looks like they escaped the colon. The colon. Oh yeah it's a this lashes actually not supposed to be there right yeah no yeah. Yes actually interesting change I think it should be just alcohol on main dash panel. I got a comment there. So the jelly code looks like it was incorrectly escaped in the pull request should be L colon main dash panel, right. Yeah that's actually what it says in the source string as well. And good good thing to have learned now is there a setting that we could use or that would cause it not to escape that I'm not sure why it chose to escape it. Yeah, if there are some settings I can change on my side or. Yeah I don't think that is something the actual translator can change. I guess that is most likely something the way how crowd and processes the file. I didn't do I didn't run to the issue myself yet but it's likely something we can find out. Right, we'll need to we'll need to learn more about it good to have found it now before the meetup great. Okay, so so we've got a pull request it's being built. And now, as a maintainer maintainers could actually do a correction if you were to do a correction to this inside the pull request will crowd in allow that to continue forward it's not going to block that. I assume, is that possible that a maintainer could correct this and still keep it or is it that it will have to go back to to the original submitters they need to find some way to fix this thing. I mean, our current integration doesn't submit approved strings back to crowd and so correcting here would basically work. Okay, but the preferred approach would likely be to figure out why does that and set up a way to stop doing that, because that is basically nonsense here, because jelly doesn't work like that. Right. Okay. I mean, crowd in create a branch on which we could change something or not at all. It did this L 10 crowd in action branch is there. And so we modify it now. Okay, now, you understand just not the correct way to do but go back. No, none of the route goes into crowded. You see neither you nor I have permission to modify that branch. It, it's, but Alex as a maintainer of this plug in has permission to me to probably has permission to modify that branch. Yeah, you know what, I should, I should, I've got an even better idea. Okay, watch this. Oh no I can't submit a suggestion. See I was going to just submit a suggestion. And then Alex let you accept the suggestion and see if it would allow you to accept the suggestion. So yes, you would have to make a fork and then a pull request. No, it's here we go. This is this is I see how you can do it. The following change. Alex, would you be willing to to see if you can approve my suggestion, just for purposes of experiment. Yeah, for sure can can doesn't move it right away. Because I, my comment wasn't nearly as useful as just saying here's the simple change we need to make. And corrected. Excellent. Okay, so, so now what we see is to commits from the bot and then Alex is correction. Yeah, I will take a look and try to figure out why does that until next stock software session. Guess, likely something that we didn't think about yet, or something we have badly configured and has enabled a default setting I don't know, because that is the actual only occasion that it happened here. I'm not aware of it being somewhere else yet. At least I didn't notice it in a pull request. And I, this is the first time I've ever seen anything like that so so yeah thank you for being willing to investigate it. Thanks very much. All right so another. So a French translation of one file has been added to design library poll request submitted Bruno thank you. Oh, my pleasure. All right, mistakes. Anything else Alex before we end I have to apologize that I have to be sure I end on time I've got to be sure I'm in my next session. Oh, that's fine I guess. I've just approved the pull request enabled auto merging so within the next 12 hours with this ends up as released in the sign library. And hopefully, and hopefully soon on weekly dot ci. Wow. And that's a great story because continuous delivery is enabled here and localization changes are viewed as significant enough to generate a release and I've seen that just this morning I merged a change to schedule build plug in for a translated string and it gave me a new release. Currently, we are using the enhancement label for it, but I proposed a pull request to the repository and to the workflow actions to create a new localization label for it, using the globe emoji or something. So we can have a dedicated label to separate non call changes from often call changes that I use for enhancements. And I think I think that will make it even better because then there will be a section in the change log that says localization. Yeah, currently does already on the core was core repository. Oh, so that's already happening there. Yeah. I think Tim just met my PR a couple of days ago, and the next draft contains the localization and translation, but a point. Excellent. Thank you Alex. Thanks Bruno. I'll go ahead and end our session for today. We'll talk again next. Oh, Alex is going to do an online meetup next Thursday. Next, no Thursday the 12th, two weeks from today, and I'll get it proposed and we're going to do this same kind of thing but we'll show it to much larger group Bruno we may ask you to be there as part of the demonstration to do French. Yes, I can make mistakes online. That's my picture. Okay, we'll do that. Thanks everybody.