 I've been recording this already. Sorry. Ah, why don't you say something that this is. Okay, this is this is being recorded are my apologies we've, we got involved in the conversation and forgot to start the recording. Thanks everyone for being here we're living by the Jenkins rule the code of conduct. Please be nice to each other. So I was just mentioning GitHub suggestions. And what I wanted to do was show that because it's, at least for me so helpful to be able to use a GitHub suggestion to recommend a change to someone else quite precisely. Do you have an open PR you can use my there are plenty of them right here. Yeah, so if we look at, let's see if we look at this one. This is the proposed change and I think here we go. So, so this pull request was submitted. And it actually we looked down here at the bottom and we see that all checks have failed. And when I look to see why the checks had failed it was because this line right here. Line number 17, it has a single equal sign at the front preceded by another line with a single equal sign and ASCII doc will not all that's a second a level one heading and ASCII doc will only allow one level one heading per document. So ASCII doc was just crashing. So I opened up this edit thing right here. And let's just do it again. I click the plus minus thing here that says insert a suggestion, and it will copy the existing text. I put my correction in I put some comment about only one level one heading per document ASCII doc requirement. And now when I update that comment. And now to the, to the contribute the contributor, they can click this commit suggestion and right from here, create a get commit with my change in it. They can even, and now we got to cancel it out. They can even do multiple commits at a time multiple changes at a time by going to the file change files change tab. They're scrolling down and add each suggestion to a batch. And then they can commit all the changes in a single change by pressing the button up at the very top commit suggestions. And now it, it lets them commit it right there they've never had to go to the command line. They've never had to invoke a local copy of the thing it's all done through the GitHub web interface. And now I have to unselect all those things because I don't really want. This is one, sometimes because of because of because I have right permission to this I can actually commit. Oh, that's that was not what I wanted. Cancel. Remove from batch there we go. So you're in here why don't you just pull up a line that's not commented and show what the icon, because I did not find that icon obvious. Oh, good. Okay, so something like go back to the files changed. Yeah, so go back. Okay, so go back to files changed. Just right click it and then you can leave this tab alone. And then if I wanted to adjust something else like this one the plus sign here. And then this icon right there insert a suggestion. Is that what you were. Yes, yes, yes. So it just, it lets me stay focused inside the web browser for reviews and for simple changes now I don't know that you do something like this with wholesale code changes, but for grammatical changes or minor corrections it's it's quite helpful. It is otherwise I used to get these comments that were, you know, it would be much better if you said the rather than and here. And I've got to read that and translate it and everything where somebody and you know it takes a long time to write that. And it takes a long time for me to read digest and then go in it's a trivial change. And also, sometimes, you know, when you're writing, you think just changing this word to that word is going to make it good and then you see it and it's like, Oh, whoops, we need to do a little more here so Do are you guys familiar if you wanted to open the whole file for editing and do a PR to a PR. Are you familiar with how to do that. I'm not sure I'm familiar with making right there click and right click on edit file. I like that so I've got another tab and I can go back to this one. Okay. And then it's an editor. I mean it's a primitive editor I wish they would give me VI but I love VI so. But there is the whole file and source and you can edit anything you want to in that. And then down at the bottom. You click create a new branch for this commit, and you want to give it a description. And this will then be submitted against the authors report against the pull request authors branch not against the against the central thing that I was reviewing is that correct. Right. And the one to the one tricky thing is that the author does not always get good notification of these things. So when I do one after you click that proposed file change. If you're not, you know, we're care we're pretty friendly here we're a small group so we are usually just merge it into the other one. But you're not after you click that I take the URL and then when I put in my comments like I'm approving but you need with this with this PR added in, or I'm not I'm blocking it until you put this PR in. And then I give them the link somewhere or in a comment somewhere because we've had problems that people just didn't see it and they went ahead and, and then it's a little messy it's clean up a bowl but it's messier. Thanks. Yeah, now I'm not going to submit this one I don't want to confuse, confuse Karthik. I'm, I'm, I don't want to confuse the author of this one so I'm just going to cancel. Yeah. Alright, so we've, we've addressed GitHub suggestions. And we've talked about pull request to a pull request. And I think the summary to was, I never make an actual change to somebody else's PR. And that's, that's different than me so that's makes not nearly as bold or as crass as I am because or as smart or experienced or knowledgeable it's add to sometimes directly alter PR, rather than, and that's something you actually control as a submitter. So you have an option when you submit a pull request to disallow those with right permission from making any changes to your PR. And that's perfectly okay as well so you could block that behavior there there are those who are particularly as they're initially learning. Find it oh it's helpful that somebody else did three or four changes that switched me from having a broken build to a working build. Are you done through checkout of PR or do you know how to prohibit changing of PR or it's dependent on privileges or. I think here let's let's show an example of it I think the way you do it. So when you're creating the PR, you, there's a checkbox on the create PR page that will let you control if others are allowed to to modify this PR let's let's do one just to see. So, how about I know how about this let's go to a different repository so we're going to borrow another repository for now. Oh that probably won't help I need one that is one of mine that I don't control so I can submit a PR to something that. Like how about a PR to up. We'll borrow this one and then stop it good. So I think if I were to change this read me. Here's a good one. We've replaced this with plugins testing it sorry doing one of the problems of doing things live is I want to make it actually good enough to use it works okay. So this is a fix to a plugin. So I've edited the read me file and remove the reference to the wiki and instead replaced it with a reference to plugins that Jenkins that IO. And so now replace wiki reference with plugins that Jenkins that IO. Let's create a new branch and replace wiki reference. Okay, propose the file change and now if I remember correctly, there will be somewhere down here below. Where is it that I'm not seeing it. I was expecting a checkbox I'll have to go looking for it now. I was excited. Side of the green button has a row points on down. Yeah, this I believe. So that's not quite what I was. Let's see. I noticed that GitHub released some new CLI called GH, which it is in beta, and they are saying that it will be totally available by the end of this year. And they have in GH something called checkout PR. And my assumption was I can't explore a bit like enough to to make sure that it is exactly what it tells about. But it looks like this checkout PR maybe that you're submitting pure and after that checking out preventing other people from modifying it. But this is just assumption I can't explore it yet. Yeah, so and I use hub PR checkout all the time and I love it for what will be GH PR checkout and it works great. But it's the other side of this coin. It's instead of this is me telling a developer, you you're not allowed to modify my my pull request. And I'm, I'm going to go ahead and submit this I, I was expecting to see a checkbox here now Jonathan use you you indicated one and I didn't quite hear you could you say it again. I saw this option one time ago. Okay, well let's we'll just keep looking and learn together. So this is a good at the what's the icon at the end of where you put your title of your PR. Oh, that's my that's that's my last pass trying to help me fill in passwords. Oh, okay. So that's that's definitely not it it's, I was kind of it to offer to complete my passwords for me but yes. I was looking for something somewhere I thought I saw three dots or a hamburger or something. That could be it. It might be an obscure obscure things to send it. Yeah, let's just go ahead and create it and let's see if it will then maybe then allow us a separate checkbox somewhere. No, I don't see it. Well, if, if I find that I will let you know what that trick is because I'm, I'm reasonably confident that I've seen it where I could disallow others from even with their authority on that repository on the target repository for modifying my pull request. And I always reread the whole thing before I actually merge it. Yeah, so. Okay, sorry so that that side trip didn't help anybody for my apologies thanks for your patience, but but you fixed a bad x-raps so that's good. Right. That's good. Okay, so we've talked to that one. The next one on my list was how do I build the Jenkins docs from source. Jonathan and Vlad I think this may already be wasted effort. I believe the two of you are already actually building from source aren't you. I'm building from source using my computer, but I can try using any other platforms or any other environments and I'm using Mac OS. Okay, and Jonathan Jonathan are you building. Have you run a make run. Yeah. Okay, so, so this may not be familiar to you. Yeah, so, so make run is used to build the Jenkins.io site. I use make. Yeah, I use make to do my make run and source of Jenkins. Okay, well so let's, let's show that because at least for me it, it helps me. So I'm going to make text much, much bigger. You're going the wrong direction just in case. Yeah, wildly the wrong direction. Okay, is that text readable. Very readable. So, this is your local clone of your fork of Jenkins.io. Right. Exactly. And first I'm going to sync with sync sync with the copy from the master. Now let's check and I am. Let's get on to the master branch. Okay, so the command to it and this is all described in the contributing file. Right if we look for make run. Think. Yes, here it is. Make targets, and it talks about all clean prepare generate and this one run which runs a live reloading developments. Server. So I can do a make run, leave the make running, it'll just sit there and it will monitor the file system if I alter any file from another window. It detects the altered file and allows me to load it and display it. So in this case, I just type the command make run. And it's going to. Oops, it would help if I've turned off the make that was already running. Obviously I've done this make run. And what this will do is download a Docker image of the site generator tool use awestruck and then build the site. The site is now built and being delivered to this location. I have 42 42 on my local computer. Now, because I'm a windows user, and this is a Linux box. I have to do one more step I have to turn on a tunnel. The tunnels. My port 4042 on my local host to my Linux machine. So that's what this row here is is me running that tunnel. And now if I bring up my web browser. And again this is windows so windows windows is possible to run this, but only does it all the time but I'm not running it there. So here you see the site running on local host 4042 4242. And then I could make changes we could do all sorts of other fun things. Any questions there. Nice. No, thank you. But when I need to Jonathan, your, your sound cut out again. Eclipse you were asking about GitHub issues. I need sites from the kitchen bio. Or an issue. Well, so, so it's, it's up to you if you decide to run make run or not. But it's certainly the, the CI job will do a make run. And if you haven't done make run first, and it gets to the CI job and is broken. The CI job will fail and most reviewers won't even bother to review it if they see the CI job is failing. Thank you. It's usually the hint is, if the CI job fails, there may be something so broken with the pull request that it's not yet worth time for a human being to review it. I got it. Thank you. And that's where you use make site right mark. I saw that go by in your help file. If you're messing with the right you could you could also use make site run. I believe run and site do the same thing where site generates it statically and run will do the automatic reloading thing. Let me check that just to be sure. There was one that did both site and run or something. Yeah, let's let's go there and take a look at it. It's good to good to read. Okay, contributing. Okay. And make targets. So site generates the file statically. And, and that's a little heavier weight than live reloading because by generating the pages statically it has to do a lot of it has to compute every page. Whereas the live reloading only generates that only computes the pages that you actually load. Now, oh, there's a gap here and Vlad you would be the one who would probably point out to me this gap. One of the targets is missing from this list. There's a target that checks for broken links. Isn't that what it's called that is check broken links or some such thing. Yes, I guess we need to go directly to the make file and inside the make file, various. Yeah, that's if we go back here to the top. Make file there. And then there is check broken links here. And it's imperfect. It doesn't find them all, but it's relatively low cost, and the ones it finds are quite accurate. Thanks for pointing this out. Let's put the note there we need to need to document check broken links are good. Any other questions that you have. It's just a question that there is some say. So the, so the instructions on make run are right inside the contributing file. And here they talk about building. And it describes in depth. What what you need you need this at least this version of Docker. Here are the things that you'll need. What we don't have right now is we don't have the precise instructions for using windows subsystem for Linux WSL to run it. This is, this is already assuming that layer is installed, or that you're running Linux or Mac OS. Did that address your question, Jonathan. It did. Okay, sorry, audio is still a challenge there. Sorry about that Jonathan. All right. Yeah, I think, well, I think we've covered the topics that that I wanted to be sure we covered anything else that either of you would like to cover today. So we just go in and randomly choose a task or there's certain themes we're concentrating on for this week. Both, both are the answer is yes to both. Okay. So, so Jen, the, the Jenkins site is now using GitHub for its issues rather than than JIRA. And so we use the issues tab here. And if you choose wiki migration. There are all the things where we have some document existing in the wiki that doesn't yet exist as far as we can tell in www dot Jenkins.io. So they need to migrate. And there are instructions inside these things that will tell you how you can do that migration with some tools that Gavin Morgan has created to follow these wiki migration guidelines that talks about. How do they do these steps to let it help you with the migration. Then in terms of choosing which one at best to choose one that does not have an assignee. So here, for instance, Jonathan's is listed right at the top. And when at anyone you choose, check that there are no comments which say someone is taking that one. So, for instance, this one, KR harsh 17 has taken it. So while I'm here, I'm going to put his name on it. So Kumar's got that one. But find one that others have not taken, and just put a comment in it that says I'm working on this one. And that's your reservation. So we assume that the content is okay and we just need to reformat etc right no actually it's it's much more it's much more thoughtful than that we we assume the content is a good starting point. And ask that you think about it as you're making the transformation. Okay so one should not take a plug in that one has no experience or knowledge of. And in these case these things are most of these are actual pages on the wiki that are not related to a plug in. They're more general information. Okay. And, but, and in that case, what we're relying on is new people come in they can make the transformation they transform as best they can. And then the reviewers add additional things and in the process of reviewing the new contributors learn oh I'm not supposed to use the word slave. I should use the word agent. Those kinds of things and that's that's a great way to do it it's sort of you learn by experience the kinds of things that are generally broken in the wiki pages that we have to transition to. Okay. Mark, just one case, which I experienced today, for instance, somebody put an issue for Jenkins dot IO documentation saying that there are, there is duplication of different different topics in two sections of our documentation and there was an issue on it. So, uh, is there any process. How to discuss resolve should we discuss just in GitHub doing comments on this issue, or we should move to get our application to discuss this to our. There is no process. Good, good question. I'm not aware of a process but I think what you would want to do is, for instance, there is a group called, let's let's take an example let's see that one is a really good example that you had. Where is the duplicate it was something about. Just duplicate. Oh, there is content duplication right in front of me. So, so one of the things that you could mentioned here is at copy editors. If you, if you say, if you at Jenkins actually for slash copy editors, you can now ask a question that will be cause notification to be sent to everyone in the copy editors group, so that they can offer their opinions. I see. Thank you. And this is a great excuse to do it. Then you keep the conversation in GitHub. And we we get the we get the conversation attached to the thing we're working on. Now, one of the tricks that I learned just two days ago actually was that GitHub will also will also do mark bugs as duplicates of each other. If we put the word duplicates, and let's see if I can find. Yes, here we go. I put in here. Just the phrase duplicate of number 3204. And they saw my text and did this link inside of it so that now these two bugs are actually connected to each other. And now if I go to 3204, we will see not only is that one one connected but there are several. If we look down at the bottom here. One, two, three, four, five. Six that are all connected to it, just because I said duplicate of number 3204. Thank you. Yeah, this here this this particular page is an example of one of the hard ones. This one really requires requires specific skill from somebody who knows how to configure reverse proxies in Apache and engine X with IP tables. It's this one, Meg needs Damian. And I invited him to come help with this. Any other questions. All right, then I would propose, we call this one done. Thanks very, very much we'll plant the meat again. Thank you. Thank you. Thank you. Thank you guys. Bye bye.