 Welcome. This is the 14th of April. It's documentation office hours. Thanks for joining. Topics that I've got on the list include Google summer of code. Awesome. It's already already here. Right. So let's just move it up. Yeah. Alternate ways to handle stale pull request that was discussed in docs office hours Europe about 12 hours ago that I'd like to review as possible ideas and not nothing we're wanting to take action on but I think we're discussing. End of life notifications in Jenkins core that Chris I would like to review it with you reviewed it earlier with with Alex brand us in office hours Europe and wanted to see if what you thought of this idea. And early end of life of sent for Centos seven gets a new topic because there was just recently an article. Anything else you want to add to the list Chris. No, it looks good. Okay, great. So let's take Google summer of code first. Okay. Any specific things you want there Chris other than mark continue reviews. Actually, I'm continuing to. Oh, good. Okay, Chris. Continuing to review proposals. Good. All right. And we just have one more mentor joined, which is a returning because is the main. Oh, good. Yes. Okay, spell it correctly. X. I am. Oh, why you mean. Thank you. Okay. And it was human gong right. I think so. Yeah. Okay, joined as a mentor as a returning. Returning. After being a contributor last year. Right. He was on the project last year with it was last year's Jenkins file runner project. That's great. Excellent. All right. So anything else that you wanted to highlight there Chris. Um, I think we are doing okay. Congress wise. I may need to chase some of the mentors for the violations. Okay. Yeah. And that's I think that's reasonable. Yeah. Now I did receive a, an email from. So mark. Mark. And I forget who the other one was and one other received reminders. From John Mark today. I assume you were copied as well. So we'll meet. In my case, it will probably be likely. Early next week. Okay. To, to discuss our observer observations as a smaller group. And then we'll share with, with the, the org admins of course. Okay. Great. Anything else. I think maybe not. Okay. More sensitive. All right. Good. Thank you. Okay. On next topic then alternate ways to handle stale documentation for pull requests. So last week there was a, a question from, I think it was from. Oh, who was it? I forget. But one of our attendees. Oh, Mikul, Mikul Kumar Kumar asked last week. Hey, why don't we do what? Why don't we just run stale bot? Yeah, we can. And well, the, there are those of us who, like me, who have pretty strong opinions. No, I'm not willing to do stale bot. Okay. We discussed, okay. What's the, what's the, what's what are the concerns? What are the reasons for that? And why would we care? And that for me was a useful discussion. So. Yeah. The point was. There are several different reasons a pull request can go stale. Right. If it's stale because it's not valuable, we just close it. And there we had an example just today where Kevin. Kevin Martins had asked three or four times over the course of several weeks for a submitter to correct. Some mistakes in the, in the content they were trying to submit. No response. They had just stopped being involved. And Kevin finally said, look, you're submitting is not valuable enough for me to complete the work myself. We're going to close it. So that, that was, that's a very reasonable thing. However, we've got some that are migrating useful information from old. Old locations like the old Jenkins wiki. But it's not good enough to be placed onto Jenkins. I don't know. I don't know. I don't know. I don't know yet because it's got a number of inaccuracies because of how old the information is. Oh, okay. And, and we talked about. Okay. We could. Take that old pull request. And close it and create an issue. To track the content. After talking with Alex Brandy, he said, well, but that's not how Jenkins core does it. I don't know. I don't know. I don't know. I don't know. I don't know. I don't know if it's stable at stalled. And except that it's okay that it's open. It's just not progressing. Yeah. Good. Yeah. I like the Jenkins core. Like workflow for hunting. Good. Well, and that was what Kevin felt as well was that, okay, let's let's just admit it's okay that we have open pull requests. But we're going to mark them as stalled. Because stalled is a way of at least telling us. We could then. We can then invite. New contributors. To help with some of the stalled pull requests. Now. Some of them require expert level skills and telling a new contributor go work on this. Is a recipe for a failure. But if it is relatively straightforward, what needs to be done, then we could. We could consider, hey, look at a stalled pull request that we've marked as good for a new contributor. Okay. And let's see what is that it's called good first issue. First issue. So does that sound reasonable to you, Chris? I think so. Yeah. That will work well. Okay. Good. So, so we, we already have that label. And we, we will use it. We already have the stalled label. Kevin checked earlier today and we'll use it. And then we have the option to mark them as good first issue. That way, at least we flagged, hey, these things are not making progress. Okay. Great. All right. So next topic, and this one was one, I think. I want, I want some, this is a chance for some design feedback or some concept feedback. Okay. So Jenkins has. Runs on platforms that where we officially declare that we only support the platform. If the upstream provider also sorts supports the platform. And therefore. Ubuntu 18 as an example. We'll reach end of life, May 31st 2023. That's when the, the upstream vendor says we will no longer support it to the open source community. You have to purchase an extended support contract. You have to pay them money in order to get support for Ubuntu 18. After May 31. And at that point the Jenkins project says it is unsupported for Jenkins. But we have no way of notifying people that it is unsupported and they're running on an unsupported platform. Yeah. So in the past, when we said, Hey, Java eight is going to be unsupported, we used a thing called an administrative monitor. And that administrative monitor pops up. To the Jenkins administrator and says you are. In this case, it says you are running Java eight Java eight will be end of life as of this date. You'll have to use Java 11. Okay. And we want to use a similar my proposal is let's use a similar technique here, but make it a little more general purpose. Okay. So the idea is that we create define a and I started with a directory and now I think it could be as simple as we define a. A collection of. Let's see how do we say it a collection of conditions and messages related to those conditions. Okay. For instance, if the file. slash etc slash O s dash release matches. Or has content that matches. Dot star Ubuntu dot star 1804. Okay. Then display then okay then. If it is before May 31 2023. Display. You are about to end of you are you are. End of life. What's the date end of life 31 May. Blah blah blah blah blah. Okay. If it is after May 31 display, you know, let's okay I'm going to say this really harsh that's not how we would phrase it, but life will end. Okay. Right. And now it's life has ended. As of 31 May. And it's it's certainly there's better phrasing than that, but, but the notion is give two different messages and. This way we do this admin monitor and it says. This Jenkins release knows to check this thing. And we can now add additional if the file. slash etc red hat dash release. And this content that matches. Dot star seven, you know, and et cetera, then we. So the idea being we create these data file, one or more data files that define these conditions and the messages that the condition. So let's see, let's talk about the attributes attributes. Inside this data file are. The file name. Okay. Whose content is being matched. Okay. The match pattern. Check. The date, the effective date of the end of life. Okay. The message before the effective date. And the message. After. After the effective date. Okay. Make sense. Yeah. So the idea then is, okay, each Jenkins release can say, here are the things that. That are the admin monitors that will be checking with this Jenkins release to announce to people that they are on some obsolete platform. And this would let us do things like. These Linux releases, those are pretty easy because they identify by files. It also lets us do. Whoops. It allows us to end of life. Container images. Yeah. We would place a, an end of life marker. In the container image. And release the release the image. Okay. With that end of life marker file. And release the image. With a matching Jenkins release. Okay. That refers. That uses that marker file. For a notice. Okay. So for instance, we have a container called the blue ocean container. Yeah. We have another one. That is the windows controller container. Where the platform SIG has been watching the usage and seeing that there just aren't many people running the windows, the control, the Jenkins controller on windows in Docker. And let's end of life. And we just tell people by doing this, that this thing is now end of life. Okay. Does that seem reasonable? I think so. Yeah. Yeah. I think it would be better if we did it this way or that way. No, not really. No. Okay. Good. All right. Well, go ahead. I think it's sufficient. Excellent. Thank you. So I'll. I have my next steps then here is. Mark propose. I think this may be worth doing a pull request. Either a Jenkins enhancement, enhancement proposal. Or a pull request to Jenkins core. With the idea. I'm, and now that we've been through these. Iterations enough times. I think this may even be worth just doing a pull request rather than bothering with the Jenkins enhancement proposal process because the idea seems sensible enough. Let's just, let's just do it. Yeah. All right. Any other things suggestions you want to offer on that one? No. Okay. All right. Next topic then. Early end of life for Cento seven in the Jenkins project. So this is another proposal or idea that's been on my mind. That just got a new. A new additional input for it or a new additional note. I think it's going to be a rather famous writer in the open source community. Stephen Vaughn Nichols noted that. There are other vendors. Who are doing an early end of life. For Cento seven support as well. The vendor. C panel. Where is it? Here we go. C panel will block new installations. In their upcoming release. So, Oh, Has already blocked it. So in March, they blocked it. Oh, yeah. Because it's April. Okay. So, so for me, this is. Tempts me to say, you know what, we should do the same. We should do something similar where we. Declare that. We're ending life for Cento seven. In particular, because. This is the one that's that's. For me is the most valuable thing, which is that. Docker. The, the Cento seven. Container images. Are already unsupported. By their upstream maintainers. Okay. So what that means is that Jenkins. Container images based on them. Already are orphans. Okay. Okay. Because the upstream maintainers aren't taking care any longer. Yeah. The Cento seven. Seven system D. Based RPM installer. From Jenkins does not work. Whoops. Okay. It's and, and Basil Crow who did the implementation of it says not supported. So. Not supported. And let's see, there was one other non. Oh, yeah, I remember what it was Cento seven. Open SSH seven dot four is missing key features. Needed by the get plugin. And Cento seven. Get one dot eight is missing. 40 plus revisions of J. Get features. That the get plugin needs. And doesn't support things like sparse checkout. Doesn't, if I remember it reliably support shallow checkout. There are all sorts of flaws and failures in Cento seven. But the current version is so old because the current version is. Current is two dot 40 dot zero. If you can imagine there have been over 40 releases. Since that thing. And here the current version current version is. Like nine dot zero or nine dot two. So this thing is really ancient. And that. Any objection from you or any insights you want to offer there, Chris. No objection. Okay. Those were the topics I had for today. Anything else I need to discuss today. Not really. Okay, let's call an end and I'm going to go back to reviewing. Google summer of code. Okay. Cool. Yeah. See you next week. Bye bye.