 All right, and we're live Don't say anything that you'll regret because it's on the internet forever So where should we start I'm gonna try to pull the jurors So I hope everyone can can see that um Most of a batista you weren't here so much last week, but it looks like we've got a good A good bit of progress on Some of the incrementals build stuff That jesse and I hadn't had worked on mostly jesse. So that's jepp Let's see here Yeah, so jepp 305 is in um in draft state and We looked through it a lot last week. Um That looks really good. So thank you. Thank you for doing that jesse. Uh, I just merged Jepp 306 um Which was the instance health checking that you had worked on batiste Um, and so that at least as far as a draft goes, um, that looks correct But the one thing that I wanted to call everybody's attention to if they haven't had a chance to look at it was this bill of materials jepp that um carlos has been working on in a draft and the way I understand it this there's going to be a lot of um interesting overlap between this um, what jesse had written for 305 And then some of the the update work that I am doing right now So batiste it might be useful for you to spend some time to look at that Yeah, um, definitely. I saw it, but I forgot to have it. Okay. Well back this morning whenever I just read through it as well and it definitely I need to mentally carve out the time because there's references or there should be references between what you had worked on jesse and this and I need to make sure I understand how these things relate Um, roe from a test, oh good jesse sir. Yeah, I mean as far as My I wouldn't exactly call it a review but more a list of questions. I mean basically I just wanted wanted to see More more details about how this would interact with development workflow and so on because for jepp 305. I mean, I'm really focusing on Exactly what would change for development workflow for developers to publish stuff um I didn't pay much attention to the particular interactions with essentials Or with um test infrastructure so much. I just figured that would sort of fall out of it in some way They sort of want to see what the Long-term goal here is Um, roe from uh, the testing perspective. Have you had any chance to take a look at the work that jesse has been doing? Not yet. I have to make you but not yet Um, let me go to 305 as well. So, uh With The reason that I think this or curlo said he couldn't join right now. So We might might want to revisit next week or Okay Well, I think um, I didn't think we would resolve any of the the overlap But I wanted to call this to your attention Roe because these two I think will have a strong impact on how we do the test automation workflow For jinkins essentials This the the theory being at least as far as I am understanding How this is all going to interact these interlocking pieces As we're going to have our bill of materials and we're going to you know That will be in the master branch and then A pull request will get automatically fired that says hey, there's new plugin changes that have been built in this incremental's repository Or someone files it manually. They want to promote one of you know, a new incremental build of a plugin um Now would be a pull request like the production branch in jinkins essentials Um And that are in the evergreen repository really and then we would need to run some of the test automation To make sure that that is a legitimate uh, you know valid installation of jinkins essentials um So whatever if we're if we're needing more information to run the acceptance test for any stuff or pct um From the bill of materials then that would be a good thing to bring in now um Or if we need to store more information to make testing easier From the incremental stuff Um, then you know as soon as we know that the better as well Okay, okay. Yeah, I will read this Today or tomorrow morning as Yeah, no worries Yeah, I mean from so I guess my my summary of the interaction of 305 would be that Um If there's anything that you could do today that works fine with Regular maven releases, you know such and such plugin 2.38 and you're able to publish, you know test that and publish it um, then with 305 deployed This exact same workflow ought to Work exactly the same way with any You know with any individual commit without having to run maven release plugin At least for things on the master branch. I mean, but currently it it allows you to Deploy commits that come from any branch or pull request probably for purposes of the essentials manifest we would want to have a Enforced rule in place that says, you know, if you're deploying to the production Then it has to be a commit that's actually in master itself Right Okay Indicating that's gone through review and has been merged by an authorized person and all of that Right, but otherwise it should just be the same as picking up any other release version I think the the the stuff that you've been working on here Jesse is going to be really interesting for testing as as we start to adopt it more and more Is what this basically means for all is we will have the machinery to drop Builds from pull requests and from branches into this maven repository directly from Somewhat directly there's a little bit of sleight of hand, but somewhat directly from ci.jenkins.io So if you take the oleg's, you know warpackager thing And you should also be able to just pull in arbitrary Things from pull requests and all this other stuff to do a really strong our good You know full integration test with a full environment, which is cool So in other words it's always needing to have a special syntax for saying By the way pull in, you know check out this pull request and build it and stuff You should just be able to say, you know Use the following version and you already have the binary available somewhere Yeah, I think it's gonna be really cool. Yeah quite quite interesting more mostly for the pct when when you need to run the pct One plugin and you are going to test other plugin that depends on your changes You you need something like this to be able to create the Wi-Fi to be used later. So this is quite interesting Yeah I think that's that's part of the motivation here. Um Just to make this a lot easier where did that motivation go? Merp issues. Yeah Yeah, it's a it's a thorough document Raul. So I'm sure you'll have Yeah I'm going to do that just after this All right, um and so outside of that Last week the other thing that was going on is I started to work on this client server lifecycle for updates which I think You know patiss tonight. I've spent quite a bit of time last week talking about it. I've been working on the On actually rationalizing how we're going to manage these update levels that um, I had posted to the mailing list um, so on jenkinsi dev There's a thread where I continued some of the Outline some of the in-person discussions that patiss tonight had last week um, and as you know You you all saw this morning is really trying to Rationalize how these things are all going to fit together with the channels. So I'm expecting this to get Wrapped up from an implementation standpoint probably later today. Well, you know when everybody else here is it, you know Goes to sleep basically um But I think from the um from the testing perspective for you role the um The thing that really changes or the thing that um The update levels really allow us to do is test every single Potential upgrade from from one level to the next um, so we'll have a pretty strong audit trail to where if if patissed um Starts with uh version zero That and then he disconnects for two weeks and we don't see him and the current update level is 14 and then When the teased instance comes back online it will update to update level one then two then three and four etc So that we're not actually delivering an untested update to uh to an end user Which it's going to take a little bit um Little bit of time for betis instance to update If he disappears for two weeks, but um, we decided to go the safe route rather than trying something different Yeah More creative maybe later, but I guess for now it's better to try and you know go follow the same path for everybody Yeah, uh Though though i'm pretty worried about the same path for everybody when actually everybody can install different plugins And could make you know situations very different But well, that's kind of the puzzle Yeah, I mean I think this is going to be the uh The longest standing debate that we'll ever have for chenkins essentials is do we allow additional plugins or not um Right now I'm not going to complicate the design thinking about it Yeah for people watching this afterwards or not Not deep into that we just kind of debate that Should be a low other plugin than essentials one Or should we allow that temporarily or not for now during a beta period period and so on and taylor is basically All for allowing everything right now And lens let's all buy the attempt I never said that So so later when I regret it, you'll pull this video back out of it exactly I told you Uh, so yeah, that's that's kind of what was happening last week. Um The stuff that's Batiste you're here most of the week this week, right? Um, not really, but I will be absent from tomorrow afternoon and To included um thursday morning just two days out Okay special setup setup this week. Okay. Um I was looking at the you know planned milestone And how these how these things always always typically work out you you learn more once you go into it. Um I think towards the end of the week Um and early into next week I really hoped at the beginning of of this project that we would have the full update cycle working um I don't know how realistic this is right now. Um, it sounds like the The things that stand between us and milestone one, um That a client help stuff. Have you implemented that batiste? Client what stuff health? um No, no Definitely notes because I think Uh, I think we discussed that some time ago. I think it was mostly on the error telemetry thing I think it's another story and I always not started yet Um, the client self checking. I had put that from some time ago, but it's kind of uh table down for now um Because right now we are setting up the error telemetry and basically we need to find a way to test things locally and finish the registering registration and uh Logging in like in local mode to be able to then test things and iterate which we don't have right now. I think And then we should be able to start Playing with that I tend to think um We could have a pretty simple version. Anyway, the health checking is Unproposed right now pretty simple. So it could be feasible pretty soon, but it's not started yet bottom line So the the reason that I ask is I'm thinking with what we have in In design right now and in various stages of implementation These are definitely must haves. So three 301 302 303 304 305 Must haves to do that milestone one But I don't think that this is needed to do the basic Um, I tend to disagree depends on well, because it's uh, if you look into the jep 306 You will see the relationship between that and the 30 And i'm not sure two. I think uh scroll In the very bottom, I think the relationship between uh No, no really bottom bottom bottom a reference. Okay, here's the algebra So basically we need that I think to be able to um coordinate updates Which is the thing you're working right now on And we definitely need Uh some form. I mean, yeah, we could for instance, they choose to implement only the Slash uh instance ID identity check for now For the house checking part of the update and rollback or not system For now and not, you know, consider the matrix you are all if possibly it can save us some time to just hit right then but If we don't consider the half of a given instance when we update then I think we are Really going to To take a big risk, isn't it fair or No, that's that's good reasoning to me Right, um So let me jump over to to the giras. Do we have that here? the Please I think I should possibly split or create other giras because yeah design jepp on the right Maybe there should be something either Then do that was that one or yeah implement something around that when and try to put relationships between giras and so on. Yeah Okay, I could do that Um Okay And I think there's uh, so if we need the Where did that go if we need this guy? Um, I think that's that's reasonable It sounds like the things that we We have uh to do to get to milestone one is error telemetry has to actually be delivered Um, the instance health checking has to work Um, we need a essentials yaml manifest with actual incremental commits Um that are in the the our incremental builds Um, the updates has to work And then I need to work on the infrastructure side to actually deliver You know deliver the back end to evergreen.jnkxio Am I missing anything that we need to have? in order to Um depends because 306 is actually kind of split There's is really only the client has checking and right now Even if it's in flight, there is no api right now yet defined to push the error logging to the server side Okay, and I suppose we need that to be able to push it somewhere That was something that you were going to take on wasn't it? Yeah, I think I will do that soon too. That's why I was going to say The 30 30 of 30 of april is still slightly ambitious, but well, yeah um So if if it's a question of just implementing the service site um Maybe at the end of the week if you still feel like you want to take that then that's fine Or you could just ask me to and I think I could probably do it in half a day Yeah, um, maybe I don't think actually that part is likely to be the most complicated Well, I'm I'm I'm I'm going to this is reported. So Yeah, I you will be able to tell me the contrary and I told you Yeah, I need to learn a bit more about feather feather gs But yeah once that it's kind of done once I should be able to move faster in that regard Okay, yeah So yeah Okay, are there from uh I see that oh like jumped on the call from from any of you other folks. Are there things that that We need to be considering for milestone one or things that you need unblocked I just asked a question chat about whether about, uh Tell me about subset of real five you consider mandatory for milestone one and whether you want that to be formally tracked on the sprint port a subset of Milestone one subset of three You're saying that you that you expected some of this to be up and running for milestone one I I'm really I really Feel like it's important for us to demonstrate that we can pull in some plug-in builds Um, even if it's just one like I know that that robo's been working on some of the quality stuff for the get plug-in um By the way, is there actually a list of plugins included yet? Uh Kind of I mean shouldn't some sort of initial okay The yeah, this is the list of record for now For now, I mean we're not delivering any plugins uh through updates right now So this list is going to get longer once I actually have an instance that's downloading this and actually getting started um What's missing from this and I I was starting to think about this over the weekend is These are sort of root-level dependencies and that's all fine and good But the thing that I need to actually deliver to an instance has to be the full list of dependencies as well um And so what good Yeah, I mean you can if you want to you can select the Um What the upper bounds of the transitive dependencies of things in this list But sooner or later you'll want to deploy some Little bug fix to one of those You know deep deep upstream plugins anyway, so I figure you might as well just list them all now anyway Yeah, by the way, how do you resolve dependencies now using? Uh docker scripts or using jenkin scripts? Uh right now neither Yeah, because uh You all set risk of forgetting into upper bound dependencies issues Right, especially when you have workflow aggregator in the bottom the The first sketch that I had in my mind was that on um When we that this file should be somewhat generated and when we generate this file That we're actually let's say, you know workflow aggregator for example When we generate this file we're going to the incrementals repository And considering the palm of that And then filling in whatever we need here um I don't know if that's a bad idea or not yet because they're They don't know about But I think it makes sense to have tools that You know propose bulk updates to that. Yeah Yeah In order to do that. Uh, so if you open current, uh, jenkin's docker image There is a pendant pull request which shows you a list of pending updates I have created it for a pretty similar case Yeah, another once we Sorry go ahead This guy once we have Generation of docker image you can uh, yeah, we can just get these scripts to do some reporting Actually, you can copy paste the implementation to essentials as well Where is this looking for updates? It downloads update center json for the lcs and then It checks the versions Yeah, that's not great That's not going to be very useful for Once we start using jeps 3 of 5 because those things For staging a repository. It's definitely something The gist of the problem here, um, and this this looks, um, actually quite useful for the docker plugin But the gist of the problem here is that We need to perform the duties of the update center effectively Um with the incrementals repository being considered um and so I I don't know I don't know how I'm going to solve this if anybody wants to take that problem off my plate I'd be happy to give it to them But I'll just I'll just mention and you can consider it or reject it but um, when when I've worked on Docker images they include a long list of plugins like this blue ocean and all of that other stuff Um, one thing that I found works is you can just have a dummy maven palm that basically declares I'll declare score and all of those plugins and whatnot as test dependencies and you mark it as a Plugin palm even though it's not a plugin. You're actually producing That automatically takes care of all of the upper bound dependency checking And you can also use the maven goal to forum versions display dependency updates And it will show you all outstanding updates based on Maven metadata, which would work transparently with incrementals repository also Interesting. Do you think after the call in in the chat or privately you could bounce me Point me to some of that. Yeah that could Yeah, I mean there's more stuff we need to do because There's some technical issues core depth being provided that maven doesn't rock very well and you'd also want to do like it like I was talking about the verification that a proposed release is actually in master branch and so on so that doesn't solve all of it, but some It's at least one approach. Okay you know um I'm making a note to make sure that there's a ticket for the um Dependencies in the yaml Um, okay I think there's certainly an ambitious weak role. Are there things that um That are coming up this week that you wanted to make sure we discussed and we see it one thing Which I don't think you're actually working on No, not really. I'm just finishing the quality audit for For git plugin, but I think that is not very critical And I even though I expect that to be finished before the milestone one. I mean Yes, let's take it to you Sorry Yeah, who has That is I think that is duplicated. I'm going to To take a look and remove the neighbor So basically what I need to finish for git plugin is to add calls to run pct and running ph The yanking files or any changes already tested and we can have a Complete example of developing flow for a kit plugin in essence. Yes. Sorry for a plugin in essence right Okay, cool And yeah to to the suggestion that batiste made in in the getter chat After this I think go through and aggressively prune out things that aren't necessary And make sure that some of the tickets that we discussed are filed appropriately And and to my question if you want some of the jep 305 stuff on the board, then we should have a Conversation about which things are Yeah, I'll let's talk about that afterward. I need to think about that more All right Anything else folks? Are we we wrapped for the week? I think that's fine I'm asking for me all right Thanks everybody all um So this is our first experiment using hangouts on air for this meeting. Um I think it works. The only problem is the url. Um, I I had updated the The meeting events in the jenkins calendar with the new hangout url and I'm guessing for for you Oh, like that didn't Uh show up properly. So I'm gonna try to find a better way to make this under Make it known what the uh, what the hangout on air url is before we start Yeah, I think because it takes like 24 hours. I had that issue long ago I think the issue is so that uh new url for you know propagations take like 24 hours And it's absolutely not configurable. So if we don't update really really, you know before the event Then it will be seen by anyone Right. Well my task after this meeting from now on is to set up the next week's meeting. Yeah, exactly I have six days at least Oh Bye. Bye everyone. See you later. Bye. Bye