 Hello everyone, this is the platform SIG meeting we're on October 24th of 2023 and around the table today We have Kevin Martens, Damien DuPaule, Kenneth Stajner and myself Bruno Versche. Thanks a lot for sharing this half an hour with us The agenda is not that big we'll see how far we go in this agenda. We have one open action items It's always the same Every two weeks. We also will discuss about the latest Java releases. Of course, we'll talk a lot about Java 21 in infra in Docker images We'll talk about the latest work if we have time on the Docker images Themselves and that's all that I had. Did any one of you have something to add before we begin? I take that far. No, so let's go. Thanks a lot So the pollution Docker container yet, it's been a long time We still have to announce it properly to the end users. It is Deprecated so it may move still a little bit from time to time. I even not sure about that I think it's almost dead, you know flat on Sephirogram. So I Don't know how we will articulate that. I don't know how we will announce it to the end users But one of the days we have to do it Officially, I don't know if it will be On community Jenkins IU on Jenkins IU website, I don't know, but we'll have to do that Now I think that's Mark who added the next point about the latest Java releases We've seen it was last week. Yes a few bumps into the Java versions It was Oracle patch day And if we follow the link, we'll see what was the reason. Oh, it doesn't work that well Oh, yes, it works. Just took some time Because a few CV is where discovered and it looked at the patching that we discovered were Linked to the correction of those CV is so it goes from JDK a to JDK 21 So that's why we had quite a lot of versions new versions to deal with lately Damian, is it something that you had to upgrade into the intro? I guess so Yes, but partially and same on the official images because Since most of the methods is Build we build on top of Docker image provided by Timurine For instance that the 17 version is not available for Windows yet on Docker images while the binary are there since since the patch day so another good reason of Maybe thinking and switching to stop using the parent the multi-stage parent image And instead download the zip and prepare it ourselves like we did for early versions for instance Yeah, got it Biner is Directly Yeah, thank you inheriting From the Timurine Docker image. That's a recurring subject. Yeah Of course JDK binaries are available sooner than the End images for Timurine at least that's what you So in the previous month or even yours Damian Yes, now it's recurring One year ago when we decided to use the parent Timurine image the only exception were the the let's say the exotic CPU architectures, but Intel IRM on Windows and Linux were almost all the time up to date But since one year it looks like they are lagging behind for providing the docker images We could absolutely start discussion with Timurine project to see if we could help as the Jenkins project because We are now having a high rate of delivering to docker hub a bunch of images And sometimes maybe too much But yeah for us in order to be to gain some autonomy Especially with the rate of Chideka changes we had these times I think we should consider seriously that switch Yeah, definitely and they are using Jenkins to build JDK so Something to be done I guess Thank you, Tim Anything else on that subject Kevin Kenneth Okay, thank you Now to dedicate one in one We had a Jenkins enhancement proposal. It's all started With that draft proposal for mark. It may be a few months ago now And then it has slowly evolved in something else a discussion has taken place into the community on Various places and now mark has created in Jenkins enhancement proposal So that the first one I've ever witnessed And that's funny. I didn't know that that's pretty cool Will it show or not? I hope so Yes And it has changed, okay, let me handle my mouse real it has changed in the Latest days because the initial proposal Was not the best one for everyone So I think we moved something from 12 months to 18. I should have prepared be either I guess Does anyone know better than me about the latest changes to the to mark's proposal Yes, there has been a discussion about when should the warning and Red messages both When should they appear the cursor is trying to find the correct middle ground between Not too early the discussion said because it's fits too early Most of the user would say oh, I will I still have plenty of time So there's been a discussion to have the first warning one year before the LTS instead of 18 months So yeah, that was on on this threshold when should we start the warnings and the red alert Because I guess that some end user said, you know, it's already a struggle to have To upgrade version of Java for us in 12 months. So yes 18 looks more reasonable Yeah, I think the it was yeah, but on the other hand 18 months is really early in the process which Will have the tendency to say hey, I still have plenty of time. I mean look at what happened with Ubuntu Bionic And the Python word Yes, you're right We'll see just a point is that on the infrastructure though We are going to be really conservative once a GDK has been is not updated anymore Such as GDK 11 in October next year We consider one month max before ditching that GDK from the world Jenkins infrastructure We will have to communicate on that in order to avoid problem, but yeah November 2024 if your plugins are or docker images on the Jenkins project are still using GDK 11 that will break your bills Yeah We don't want to run something which is not patched So that's that's that will be really hard to negotiate because once it's ditched It means you cannot have security and we don't want to risk running GDK that could have open wide Issues security issues. That's the the rationale behind Good and I find it somewhat funny That we have such a spectrum of plug-in maintainer that don't think the same about the GDK version for example Lots of people say Why do I have to quit using GDK 8 for example and some other ones are already saying Okay, you say you support a JDK 21, but I can't use JDK 21 compatible source code yet. How come I want to use JDK 21 say oh, whoa, whoa, whoa slowly We'll only be able to use compatible Source code with JDK 21 a few years from now when the minimum version Supported by Jenkins will be Java 21 So slow down and we have those two kind of users and if a gen of them is You know pushing in a direction or another and we have to find the consensus a beauty of open source On the subject of JDK and Java 21 supports Mark and I Created mark created a spreadsheet listing the top 250 top plugins and we wanted to see if some of them were already ready to be run with JDK 21 and I think it was 60 something at the very beginning that were working on mark on my machine directly in a MvN Clean verify with JDK 21 and the latest version of Maven 60 or something or something like that were already working. So that was pretty encouraging and Making a pull request to get them tested on the infra with JDK 21 was not difficult Of course, we were just changing the Jenkins file replacing JDK 11 by 21 and boom Up we go Some of them were more problematic We had to make a few modifications the pump that XML like for example updating the pump parent using the bill of Material plug-in things like that and in the end it would also work with JDK 21 Some other ones are so outdated that it's just not possible for a time being without investing a lot of time To get them to work with JDK 21. So the current status is that 84 of the 250 plugins are known to work with Java 21 31 are now tested with Java 21 on the infra that is our PR Got merged and it's now tested every time somebody commits and something on the main branch master branch It does get tested with JDK 21. That's already pretty cool and 13 of the 250 don't work yet with Java 21 for different reasons But that's progressing and I'm pretty happy with it Now we had a question about Java 21 availability for some platforms and specifically the S3 19 X when Tabarin released the Java 21 official What was it 21 dot 0 dot 0 plus 35? There was no binaries for S3 19 X But before that on the preview binaries in the weeks before we had some S3 19 X Binary so we were kind of disappointed and We were wondering if S3 19 X platform we should not care about or is That's something we can do or Tamarin will do about S3 19 X so The latest news I got is that in the next preview images which are 21 dot 0 dot 1 plus 12 F3 19 X images are back But does it mean that we'll have an official a stamped one, you know Version that is available for F3 19 X. I Don't know yet I Think had something written. Where were that? No, it's not there. Sorry about that The thing is on the adage of slack channel. They say that as soon as the G a test work for F3 19 X They will put back the images officially for F3 19 X But I don't know when or if This will happen. So having the F3 19 X binaries in the preview images is not Definitive sign that we will have an official release is just Something pending and not so sure about that. Would any one of you have any hints inside inputs about that? Okay Demian sorry for info. We are going to try the the latest Non-stable version on the S3 19 X agent that we have on and see a genkin sayo that should be available until end of week based on our Availability, so if you want to run any tests on a plug-in, so whatever we might be able to have it It's already using the 21 plus 35 e a version already today. So yeah, we'll just update it manually one time so I Think it's just a matter of both license and the time and the availability of the machine. They could have for this Yeah, Kenneth. Do you have any agents in F3 19 X? No, but I could build it Sorry, you could build What I don't I don't have any agents, but I could be using the same framework I use for power. Oh Okay, you don't have any agent, but do you have any machines? Oh, no No, I would emulate it like I do with power. Okay. Okay. Got it I don't know why it wouldn't work. In fact, most of the tests already pass within adoption If that's that they can't make it official for them being at the rest of the test I don't know enough about Java and GA but the GA I think it'll work, you know from what I could see in the scripts. It just uses W get to pull down From GitHub, I don't see why it wouldn't work for system 390 if it's there Yeah Damian we have some as 319 X agents within the Jenkins infra, right? Yes. Yes, that's the one I mentioned on CI Jenkins. I you we have one We don't want to provide one on the private networks, but it's on the public and on the public CI Jenkins. I you and it's native one. I Don't remember who is providing it but yeah, and For you No, it's not it's not but the University of Oregon Your US us L we weapon to be a sponsor of the Jenkins platform and many other project They have access to PPC and S3 90 X machine as far as I can tell so if we can we can request if you want You can talk to with them if you want open source project Yeah, okay, but To be sure I understood correctly we have an S3 19 X agent who happens to have the Early access version of JDK 21 available, right? Yes. Absolutely. And if the infrared team has time You will install the EA beta version of 21 dot zero dot one Because it's available. Exactly. That will be done before and of week Okay, and the tools installer as well. Oh, yeah, of course. So as I saw lots of Commits progress and so on. I don't know if it's regarding in for or the Docker image But also every work twice a lot around the JDK 21 this weekend week before So what's new in in for a regarding JDK 21? I guess most of the things are done to you the Latest official version now no more EA beta Yes, so NINFRA we almost finished that transition But most of the work that you mentioned were in fact on the Docker images that are the next item on your list Yeah, and of week infrastructure will won't have any more early available access version except for S3 90 X All the other machine will have final release of JDK 21 That's good news. Thanks a lot. Yes for the images. So that's most of the PRs I saw this week and the week before so I saw lots of things from every Regarding windows or Linux and so on So almost all of the images are now Supplying JDK 21 images or JDK 21 preview depending on the availability on Tamarin and also Yeah, Tamarin, I think that's a thing because at 390 X no Binary available for the Official release but we have something regarding the preview. I think it's the same for PPC 64 le Maybe and I am 32 as well. Yeah So that's why all of our images aren't using JDK 21 official release Yet, we have to wait a few weeks ago, I told you about the Classes in which Tamarin provides some binaries or not and on 32 ppc 64 le s S3 19x aren't part of the first classes. I think the third or even fourth classes So if we have them we're happy, but sometimes you just have to wait No Don't don't be Scared about these classes It's just a matter of them to pipeline their walk because they cannot process or the images at once So that's why they do these waves because they know that it can take more time than Unexpected it can be a rabbit hole for this architecture most of the time Yeah, but we had a good surprise with the official release because I think they kept Alpine R64 and even if it's not in the first three classes It looks like it was working those is supplied it and that's a good thing because we rely on them We have a few images with R64 for alpine. So that's a good thing So if I'm not mistaken we are Supplying Java 21 or Java 21 preview It may be the previous one of the one which is the current preview for all our images, which is a good thing even for Windows Yes Yes And thank you to have it for taking care of most of that especially for Windows That's something I don't feel like working with so thanks a lot to have a Whoo And now that we're almost done with we're done with JDK 21 I saw also few of the things done on the Docker images So I saw a few version bumps for example on a csh agent which led to one new release of the 570 It was just a new version of Chrome Linux Of course, they will also all those changes, but the one I saw the most prominent one what this one For Docker agent I saw 12 releases in two weeks Well, so let me summarize it so we can jump ahead. Yeah. Thank you now since last LTS version JDK 17 is the default if you are not specifying Your own JDK on the tag image So for instance if you download Jenkins slash agent latest that will be JDK 17 instead of 11 that has been a recent change and second thing is that we had a lot of Yeah of releases due to the JDK 21 you mentioned But also you have to know that we had to to release an emergency release on the remoting Emergency is a big word But we discover on the infrastructure that the past two remoting version were breaking some cases When you have an inbound agent using a direct connection to Jenkins controller So that's why we had so much releases of the agent remoting the last version Which is mentioned on your document as the problem fixed So thanks for everyone involved there. We were able to detect it in less than 24 hours after it's the previous release Yeah, so that version is ready to roll so you can use it without any problem Congrats. Good work. Thank you and yes also had to Take care of a boo boo I made a few weeks ago Because we released some version tagged with bullseye and they were Bookworm version. Thank you Bono So you also corrected that because one user was pretty much upset and he was right Because he couldn't use his Bullseye image like he used to do And I'm considering Printing stickers for the next FOSDM with Jenkins holding a sign and where it's written friend Don't let friend use latest and that sticker will be sent to any users who open issue like this user Because they had a solution they could have of course in their vision and track their update And instead that shows to you to live on the age and when you live on the age you have to accept the risks that's Really important to be aware of that Please pin your vision and use depend about updates you know about whatever to update it So you won't have surprise updates when you are releasing something else in production Yes today. I was lucky enough to give a course a training lesson to young students about Docker and of course I used some of the material you Lend me but also I insisted quite a lot that don't let friends use latest use a pin version and frankly I was Refraining myself to kick them in the head when I saw they were still using latest on some of their dockerfies Yes using a pin version even with a digest That's one way to be sure that you won't have that kind of surprises Most of the time I may create a new level of boo boo's one of these days that even with not using latest I could break everything you never know Anyhow I also saw a lot of work on inbound agent of course Because it depends on the docker engine. So 12 new releases and of course like the other images They had a breaking change which is set Java 17 as default But frankly you can't meet that one. It's just about everywhere. We put some Messages just about everywhere. So you should know that Java 17 is now the default in our images I say that but I got beaten Last week because one of my images was not using the pin version and Yeah, my fault And For the controller we had two new releases so a new LTS the two four one four dot three and the New weekly two dot four two eight and of course also has been for the controller breaking chair That is the Java is now 17 by default for The LTS by the way, there is an issue in progress with the LTS image. No way The if you were sticking with dash Chideka 17 Yeah, you are not having the latest LTS We are working on this right now because that has been a side effect of the Java 17 by default It has been merged and it's currently being built for the weekly today right now And if it work, we will take care of creating manually these tags to avoid any rebuild or override of the existing images But in 24 hours, you should be able to have the missing images, but that's an issue in progress So better to mention it now Please check the the issue on the repository if you are interested or if you have the problem Okay, thanks for letting us know Okay, but there won't be any chance that won't be no Two dot four one four dot four because of that that does nothing to just attack problem. Okay. Yep Got it and Thank you Kevin for putting the link to that PR that got merged so that the changelog warns about JDK 17 so people will know about that you just can't escape that message At least if you have a look at the changelogs, not everybody does Anyhow, that's all I had on the agenda. Is there anything else you would like to address? Okay, I take that for now. So let's wrap it up the video should be available from 24 to 48 hours and we should see each other two weeks from now, so We will already be in November Thanks a lot for your time and see you hopefully two weeks from now. Bye. Bye