 Okay, we're live. So yeah, this is just another GSOC status meeting. Just a quick update. Yeah, last week we have been accepted to GSOC and we also started co-inate sessions for students. That's why we don't have so many people on the call today because here we had one session yesterday and there we had a good space. So here we started from the full room and overflow. I would say that we had from 12 to 15 students in total plus the mentors. So yeah, it's pretty nice. And yeah, these sessions are fixed now. So it's 8AM UTCU on Tuesdays. And another session is, it's 3AM UTCU on Wednesdays. 4PM UTCU on Wednesdays, just in two hours. And yeah, we will have these sessions till April 9th. Oh, do I turn my screen? I guess not. No, I don't know. So yeah, it explains. So I was struggling typing on my new Swiss German keyboard. Okay. Do you see my screen now? Yes. Yeah, so yeah, we started two co-assessions for students. You can see these sessions in James' calendar. Everything is updated. I hope they will go well. Then regarding the rest, yeah, we have a blog post. It has been shipped yesterday. Now on Monday, we have announced once in the mailing list, we started the announcement with the SIG meetings. It was announced at governance, so it's done. And here we have one big exception item about mentors reaching out to the audience. And yeah, it's something we ask all mentors to focus on because as we discussed before, we need a lot of communications to attract students to get discussions going and just to finally get more applications. And as Orca means we help where we can, but we still rely on mentors to promote their own projects and also to promote the Jenkins JSOC. So any help here will be much appreciated. If you know, if you are interested, for example, to go to the local university, promote JSOC. There are some slide decks offered by Google Summer of Code and Google Director for slide decks. We also have some sample slide decks on the Jenkins side. So it will be much appreciated. Needed. What else has changed over last week? You may have seen that there was some activities in projects, we started more Gitter channels. So if you open the list, we have channels for some JSOC projects now. For example, Github branch source, it has moved to separate Gitter channels and for Docker, it's for Docker Hub Poland, but then there is a separate channel for machine learning. And most likely we'll be getting more such channels. So if you as a mentor want to have a dedicated channel, it's something which you can totally do. And the plan B is to actually have directs to special interest group channels. So if you take a look at project ideas, you may see that there are some channels just redirected to special interest groups directly. So for example, Pipeline's documentation generator, it leads directly to Pipeline authoring special interest group. And yeah, that's how we try to approach in general because you will get a bigger audience there. Gitter is a bit slow today. Okay, so I believe that's it from me. So yeah, some changes are happening and there is a lot of open action items, mostly on me to prepare things done. I don't have much of this from my side. So yeah, always these sites, creating internal Google doc for mentors, creating internal meetings based on progress and we will be creating the best things. But yeah, generally we are thinking of this queue. Do we have any action items on others, especially on you, Martin? Okay, just a minute, action items. Yeah, I don't see anything in the list. I'm double checking the list of mentors who are on the Google group and on the calendar invite just to make sure we're not missing anyone. I know we are missing Christopher Dancy on the mentor, Jason, quickly meet up invitation. So I'll add him, but I'm also checking all the names to make sure. You mean mentor mailing list, right? Yes, mentor mailing list. Yeah, it would be nice if you add him here. And yeah, I believe that all mentors have already received invitation to the Jenkins JSOX site. So we had spent some time on Sunday in order to process the mentor mailing list. I invited maybe six missing mentors there, mostly from people who joined recently and I invited everybody to the application site. Probably I can just screenshot it. Oh, I cannot screenshot it because we have people emails there, thanks, GDDR. Okay, but yeah. Yeah, I'm double checking all the lists. The Google group, the calendar invitation and the registration in the site. The summer of code program. Yeah, so if anybody is missing, just let us know, we'll get you at it. Because yeah, this year we had a bit more mentors than it used to be before. So yeah, we might be missing something. Okay. So what do we have with regards to our topics? So yeah, last time we had a discussion about the VGChoc calendar. What has happened to them? I actually just added two of these meetings and also the lines of the main calendar. So you may see it doesn't look well here, but you can actually add it to your JSOC calendar. No, I don't want to do that. And then everything looks fine. And all JSOC meetings are there as well as special interesting book meetings which also act as a JSOC venues for some project ideas. So yeah, I believe this part is resolved. So I will just, so this part is resolved. But the open question is, do we want to have a specific JSOC calendar? So last time we had a discussion with Martin, but I believe that, well, we agree that we want for that. And I believe this is an action item on me to actually just implement it. Oh yeah, I guess that's it from me regarding the update. We don't have students on the call, I guess. We have one student now. So we could just spend some time on Q and A and then if anything's in the meeting, we can just talk about pending project applications and project ideas and think what we can do with it. We see that. So does anybody have any questions? Hello, sir. Yeah. So if I'm not wrong, if can students speak in this conference or is it just only limited to the mentors? No, it's the open office hours. Okay, sir. So hello, sir. I am fairly a new contributor to Jenkins and I'm known by the username Denden 161 in the Gitter Chat. Hello. Yes, sir. So I have a couple of questions regarding the GSOC projects. So first of all, sir, I'm more or less interested in the Architects Promotion GSOC project and that project does not happen to have a Gitter channel. So I'm having a really hard time in talking about the projects, about talking about the projects and how to go about promoting it. So how do I do that, sir? Because... And... Yeah, I believe you came to the right place because our approach would be to just create a new channel. Okay. Yeah, it's a yellow screen again. So the trick, I think here that we already have Jenkins SCI from open vehicles. Yeah, so what we already have, we have maybe four plugins which address promoted builds functionality somehow. And we create a new plugin. So one of my approaches would be to just create a channel for promoted builds plugin. And another one would be to create a specific channel for GSOC. And to be honest, I lean towards creating a specific channel for GSOC right now. Some of the code in Jenkins. I do artifact promotion for pipeline. Okay. So what we can do, I can just create the channel right now. Okay. If everybody agrees, so we can follow the same template as below. So it would be... GSOC, artifact promotion for... Something like that. It's a bit too long. Okay. Yes, sir. So let's just move forward with this chart and then we can add more people there. Okay. Okay, sir. Thank you, sir. And one more question would be like in that project, the scope of the project is really broad, I think, because it just ranges from rest APIs to core Java to front end development. So is it necessary that all of these factors should be included in my project proposal? Or like I should just concentrate on a certain facet of the project? Like the scope is really... It's the spectrum is really broad, I guess. So how should I go about that? Yeah, so it's actually written in the project idea. Rick, it's a welcome to select only some of the items proposed above or to propose their own project ideas. Okay, yes, sir. And in this thing, should I be more focused to like front end development or should I just go with the core Java thing because I can select anything, right? So according to the document, it says that. So which area should I be focusing more? Well, the answer is that utilize. So the idea here, if you explore the area, I see what would be more interesting to you and then come up with this project idea. So we can help you with answering specific questions, but we cannot say what you need to take. If you're interested in web UIs, it would be one scope of the project. If you're interested in core Java, it would be another scope of the project. Well, theoretically you can do both, but it would be pretty big then, you're right. Okay, so it's up to me to select the thing. Exactly. So if you have any questions, any details, just reach out in Gitter channel. We will do our best to help, but yeah, that's how the project idea is written. We want to offer opportunities to students with different backgrounds. So and one last question would be like for just rendering those pull requests before giving those pull requests, like test, we need to test it in our local machine, right? So what is the contributing guideline of Jenkins? Like should I be testing all of those PRs or just have a tentative guess that it will work? So is it necessary that I should be testing all of those? Because... Okay, yeah, briefly show you the answer. So it's written some way in guidelines, but okay. So let's go, let's take promote the builds plugin again. I used to maintain this plugin. So yeah, that's why I use it as an example sometimes. So all, almost all of our plugins have Jenkins file. So it's a file we define, which defines the build process. In Jenkins, no wonder we have some continuous integration because yeah, well, it's a project about the mission. And they would, oh, I know what, now there is a maintenance of the Jenkins instance. So probably I won't be able to open it right now. We have a upgrade happening right now. But what you can see here that actually we have continuous integration for each commit. And the same, we have continuous integration for pull requests. And this pull requests are tested, for example, both Linux and Windows on particular configurations if needed. Again, I won't be able to show it here now, maybe a bit later. But yeah, you can just really rely on this continuous integration. So this is the exact PR that I just gave couple of hours ago. So in this, so this one, so my last question would be like while submitting my PR, the CI integration of Jenkins, it failed because like there was some sort of dilemma between Windows and Linux and it did not pass for a while. So that is one last hitch that I'm facing that the build did not pass just because I was working on a Linux environment. And I don't know because I don't know for some reason it did not work. Yeah, right. So there may be infrastructure issues sometimes because well, infrastructure issues happen or they may be a real defect. So unfortunately now we cannot investigate that because well, CI instance is down. But yeah, once it comes back, if you want, we can take a look and they can show how to analyze a built results. Finally, what is supposed to happen? You can, when your PR build fails, you can navigate to this link and you will see a blue ocean interface which shows you the execution graph and shows where it failed. Sometimes it works, sometimes it's not, but well, that's how it usually happens. So here I just updated the pull request a bit. I request myself as a reviewer. I will probably request the current plugin maintainer here as well and yeah, I just need the ticket so we can review that. And on the ticket side, yeah, what we usually do. So if you started working on that, since it's market's newbie friendly, it's important that you actually assign it here so you don't confuse other students who may actually want to work on the same mission. Okay, but if you self assign the task, it's perfectly fine and if you update the status, for example, to that. Okay, thank you, sir. Yeah, so it's just a quick update here so that you see how it works and yeah, once we get there, I'll try to review this pull request. Okay, thank you, sir. Thank you, thank you. Yeah, you're welcome. Any other questions? Yeah, I did ask on the end from an English regarding that failed pull request and it was just a transient problem with the gen tools. Yeah, I can agree to summarize what we experienced recently because we had some instability in our science and so we lost a few days. So we had some windows machines running out of disk space. Windows Docker instances, if I recall correctly. We also had issues with agent provision, I believe, but I believe that the main issues was with out of space on other machines. It should have been kicked by now, but well, that happens sometimes. You have infrastructure channel where you can always ask whether the instance is good and yeah, there are some discussions about having publicly available monitoring for the instance, but it's not very implemented right now. There is a monitoring, but well, it has limited access. Okay. Yes, sir. Yeah, welcome. Any other questions? No, sir, no, sir. Anyone else? I do have a question regarding the work of the work of one of the potential students on the pull request or leg. It's on the configuration as code pull request. I need to pull it up. Okay. Yeah, if you provide the link, I will screen share or if you want, you can just screen share on your own. Okay. I'm just going to go right now. Put the link in the Gitter Chat. Okay. Let's go back to the screen share. Okay. So let's go there. Okay. So what is the question here? So if you scroll down and there's a question about the use of the app symbol annotation and I missed that one, it's pretty good. Yes, you just scroll by it. Okay. Move up a little bit. You will see the discussion. I should have shared my screen, but. Oh, this one. Page this one. Oh, so we're getting conflicting messages here. We don't know what to do. Okay. And your story about that, I really missed the notification. So yeah, let's take a look. So the problem here is, actually it's a result change, right? So problem here that if you do a symbol and configuration of code, your configuration of code has its own way to automatically resolve symbols. But if you want to have a specific symbol like this XWS, the class name, just a second. Do we have a test automation in this boot request? Yeah, it was, oh, actually we don't, that's cool. Okay. Here you may see that the current name is XWS allocate step. So this what Jcast plugin medically resolved based on the class names. And yeah, what was my command that maybe instead of it, would actually want to have just XWS. So that's why I commented like that. But yeah, then there was a comment from Alex, do we necessarily need them? Of course not. So configuration of code plugin is able to resolve the code results in the role if you talk about configuration as code, sometimes it has issues with symbol conflicts because if you think about named XWS, it may be unable to resolve the configuration for example. Okay. So let's go further. Documentation of struts again, why symbol comes? Okay. Okay. So I said that we don't really need that and we don't really need it. Why I proposed it here? I should have been more explicit that it may be nice to change a default name. And when you change the default name, does it remain under the unclassified section of the YAML? Yes. So unclassified is a problem with global configurations because if you don't define a category by default, it will go to unclassified. Good news that currently you can update it so that it can go to another category and it would be still comfortable with JCask. But yeah, I'm not sure that it's needed because it's the part of this pool request. It wouldn't be nice, but it could be done later. If you want, I can show how to do that, but probably it's rather for a project specific meeting so that we spend some time on this. XWS, okay, it's step green. So something like that. Does it answer your question, Martin? Yes. So what about the interaction between get function name and add symbol? Which one would take priority? So get function name, it is about my friend's step. There may be some confusion. Let's take a look at the code. It might be interesting for others actually. So this is a describable step. So you may see that there are two entities. One entity is a step, it's here. Another entity is a descriptor. And in descriptor you have get function name. But effectively what it does, it defines the name of the step or XWS step here. So when you say XWS in pipeline, get function name would be used to resolve the step there. But it doesn't apply to global configuration. So the fields here are the global configuration. And it means that this global configuration actually is shared between steps. It's being managed in the Jenkins global configuration. And it has nothing to do with pipeline step name. So although it's mentioned here, it doesn't apply to this class, it applies to this class, XWS step. Is it more clear now? Yes. And that's why I was a bit concerned about the name because it's called XWS step in Gcast. But effectively it will be using this template. And again, it's not really linked to the step itself. It's rather a global configuration for the step. That's why I said that it might be reasonable to introduce a symbol, but I failed to explain it in details. Okay. So the good thing, the preferred way of doing it here would be to introduce the name and the symbol. Clarify. Yeah. So it may be something XWS SmartTank or XWS templates. Which I'll just comment on the poll request. Yeah, this one. Probably the XWS config because templates is a separate thing in the EXWS. Okay, close this one. All right. Wrong poll request. Yeah, it will be great to find that it's landed because it's a pretty big chunk of work. It's not so long in terms of code, but it's not a trivial patch. I think we'll be able to resolve, to conclude this poll request with this additional information. Okay. Yeah. It would be really great. Yes. It's really big. Okay. Yeah, I'm just missing the right line, but yeah. Okay, so, okay, we can close it in such way then. Okay, thank you. Anything else that can help with that? That's it for that poll request. Okay, so I would like to imagine that. Yeah, so if others on the call, if you feel it's not comfortable for you to have a discussion in such way, I mean, at Hocquany, it just let us know and we can update the agenda so that we would take it offline or maybe give it to the end of the call. Okay, so, yeah, hi everyone, I am Nisir. And I just want to discuss one thing about the BuildDiscorder project. Yeah, so actually in the current stage of the BuildDiscorder, it's that it is not able to delete the external workspaces or the builds of the external workspaces created by the external workspace manager, right? All right. Yeah, so actually I was just looking over the code base and I have also shared this doubt on in the GSOC BuildDiscorder, that guitar room that the log rotator is calling the delete method, right? Only, you know, the run.delete method and it's just deleting that build of that run. But when I, yeah, so now when I look into the internals of that delete method, it's actually calling the root directly of that file. You mean the Jenkins code base or what? So, so, I think can I share my... For screen share and... Yeah, yeah, yeah, yeah, yeah, screen share. Okay, so is my screen visible, I think? Yes. Okay, yeah. So in the log rotator, it's just calling r.delete. So it's, you know, just deleting the build of that run. Okay, so now when I looked into this delete function, it's actually calling the root directory. Okay, so, you know, the root directory from which it can just delete that, you know, build all the file. Yeah, right. But just second, I'll present you to everyone because your screen jumping. Yeah, so get root directory. You retrieve a, yeah, could you just return back? Okay, so get root directory. You retrieve root directory of the run, which contains the data. Yeah, what happens next? You may see that, for example, it checks with artifact manager. Artifact manager is one of the pluggable storage implementations. Yeah. It deletes artifacts using artifact manager API. Yeah, yeah, yeah. Similar patches, for example, for external login, this is a pull request to Jenkins Core and the pending winner. So for particular storage implementations, there will be additional calls. And if you need to do anything specific, the results run listener file deleted, which actually invokes run listener endpoints, which we will discuss in a few meetings ago. So if you want to do something specific, you can use the run listener and you can invoke it as a part of this deletion logic before the root directory gets actually deleted. Okay, okay, yeah, I got it. So actually, what my concern was that like while, you know, it's calling the same bit method in the external works with manager, like won't be visible like, we have to define a new delete method, which will get the root directory of that external workspace. And by the data of that root directory, we can just delete the data of that build. So, yeah, so what, you know, yeah, so I have actually written the, you know, the project proposal like somewhat of them. So, yeah, so what I want to, you know, just say that like first of all, that delete method will be implemented in which the root directory of that build, which build is running that will be fetched and after that, the logic of deleting will be given. And then the user will just, you know, give the filter values like for how many days and for how many bills they want to give their bills and the artifacts. And then the methods of the advanced build discover, which were made there will be just called and after that, after that, the new delete method will be called and this will just delete the bills in the external workspace manager. Yes. And for this, I am proposing that the data structures used to can be least or vector any of that because both are likely to be same for fetching data and storing data. Mm-hmm. So what's the question then? Yeah, so like I just want to share my implementation so like if there is any improvement can be done in this or like or any more specific thing, which I should include in this proposal in the second point or something like that. Well, I believe that the main question to you here is well, if you integrate with external workspace manager, how would it actually work? For example, if there is a storage in AWS, let's say so. Okay. What would you invoke on the external workspace manager side, which additional EPS you need from, let's say external workspace manager, plugin or whatever in order to invoke it properly. Because if you, so if you plan to directly integrate your ability to discard the external workspace manager, this is the questions you need to answer. If standard Jenkins APIs are enough for you, then for you, external workspace manager is just one of the implementations. So my question you need to ask yourself is what actually you want to do? If you want to have a specific implementation for external workspace manager, then it's one approach. If you just want to use generic Jenkins APIs, then it would look like quite different there. Okay. So like that last sentence wasn't clear to me. So you, so can you just repeat that? What were you saying that, what were the two approaches you just mentioned right now? Can you just repeat that please? One approach that you create a new plugin, advanced build discover plugin, it has independence on external workspace manager plugin. And then it does specific interactions with external workspace manager plugin APIs in order to correctly release workspaces. In such case, you will need additional APIs on the external workspace manager plugin. And you will also need to invoke logic from your plugin. This one of the approach. Okay. Another approach is you just rely on external workspace manager plugin, which would then run this year, and which would be able to deprivision workspaces on its own when it's involved. But in such case, you need to somehow ensure that actually it happens on external workspace manager. If you create this, this card builds created by external workspace manager as part of your project proposal. So the implications will be different. And well, it would be your task to explore opportunities and choose what you want. And yeah, you can just do such research and put it as an appendix of your project proposal. So that mentors who review your project can see why you chose this way. And yeah, it will be a good addition. Okay, sure. Yeah, so I'll just, you know, just compare the approaches possibly and I'll just choose the implementation which can be more feasible and can be more fast. Yes. Yeah, okay. So like, and like I just want to add that, add like, you know, the point which I mentioned in this proposal. So like, I think like I just only need to add that how would the advance will discover, get integrated with the external workspace manager. All the other things are like, all the other points have been mentioned here, right? Yeah, I might be confused because it's what we discussed before. Oh, okay. Yeah. Did you get the question? I'm not sure I understand the question. I think two things were said. One was a question, one was a statement. So I'm not sure. Okay, sorry. Yeah, so like, I just want to confirm that the, like the points which I mentioned here are a part of the implementation. So like only one point which I need to add here is that how the external workspace manager will be integrated with the advance will discover, all the rest of the implementation points written here are correct or not? Yeah, I think that it's something we should take offline because in order to answer this question, maybe mentors need to review the proposal. I still didn't get to that. Okay, yeah, sure. And like I have also prepared an implementation part of the feature of the production feature and the original, you know, which the build discarder will be having logic and the flow and the UI design. So like I'll just want to, you know, discuss these all points whenever, you know, it's visible. Yeah, so let's approach that. So there are multiple mentors in this project. Let's review this project idea this week and maybe next week or in two weeks when people have time, let's get a listen up specifically about this project. Because it's hard to comment now because the proposal needs to be reviewed first. Yeah, okay, sure, no problem. Yeah, so yeah, sometimes it takes time because mentors have to review the proposal they have played and it may be delayed. Yeah, I understand. And like I just want to confirm that. So now we are having three meetings in a week, right? One on Tuesday and two on Wednesdays or only one on Tuesday and one on Wednesday. Like I thought that the regular meeting time of like this meeting was now not, you know, only one meeting on Tuesday and one meeting on Wednesday or one meeting on Tuesdays and two meetings on Wednesday. Yeah, so we still keep this office hours, but it's mostly just a couple about project with mentors, with Orchard means and with other people who are interested. For Kone by students, yeah, we've created two new time slots and the advice is to use this time slots when it's possible and when it's feasible. So yeah, students are still welcome to this meeting, but yeah, my suggestion would be to use specifically created Kone slots. Yeah, okay. Yeah, so it's not a problem that you come here and ask questions, we will try to answer them. But yeah, once we have this both established I will try to prioritize project status here and the Kone at other meetings. Yeah, okay. Yeah, sure. And I'll just, you know, add as much as possible in the, like my, that proposal document and like the mentors can review it by this weekend so that we can discuss that points in the further meetings in a more specific way. Yeah, exactly. Okay. So if there is no other questions, I want to speak about the project statuses. We have a few minutes left. So yeah, I'll switch to this topic if you don't mind. Okay, do you see my screen again? Yeah. Okay, so let's take a look at our project ideas which we have left. So we have many project ideas posted here but we still have two draft ideas which need to be finalized. And since we have Marky on the call, maybe we could briefly talk about this project idea. Just understand what are the plans because the team had a meeting on Monday at this. So Marky, if you could briefly summarize what is the current plan regarding this project idea, it would be much appreciated. Yes. Hello, everybody. We met on Monday, excuse me. We met on Monday in regards to this project. We went over sort of the high level, what was the proposal, kind of how we could start putting it all together. We've now set up a weekly meeting which will take place every Monday. The next steps for this will be, we decided to do two things. One was to understand the high level portion of the project, how can we put this together so a student could take it on? And then would there be any sub-project for this such as maybe there would be TensorFlow aspect to this? We are spending the rest of this week going over some sort of, we're spending the rest of this week trying to understand who's done this in the field and then we are going to meet next week to start assigning sort of task to get this sort of moving. That's currently where we are. Okay, that would be great. Yeah, from the organization standpoint, what we are interested in is to actually transition this project to the published state. But yeah, it's not the time pressure. So if it takes one or two weeks more, it's okay, especially since there is an active discussion. So yeah, the ask here would be to also get students involved in this discussion. We had a few students reaching out to us about this project in chat and the mailing list. So if you could get them added to the new Gitter channel and if you also could start discussing things there where possible, it would be great. Oh, yeah. Yeah, I will go ahead and get that taken care of today. I'm also going to do some cleanup to the proposal document this morning. Yep. And then I will have the required permissions. I believe everybody has the permissions, they should. Well, no, according to this. So you have permissions to comment. You didn't have permissions to wait it. Ah, let me go ahead and change that real quick. Well, you cannot change that because you don't have permissions. Oh, I'm sorry, I thought you were, I apologize, I thought you were showing the document that I created. We have a separate document, a meeting document. Yeah, so we're getting this one. Yeah, I believe we agreed that your honest will be also the second champion, right? Correct. Can you add me to the edit permissions for this? I apologize. Yeah, so we also need to add your honest but I'm not sure what is his email. I mean, Gmail one. Yeah, once you give me the, once you give me rights, I'll add them on the hand. Okay, so you can do the rest. Okay, done. Thank you. Okay, so yeah. And that's all from me. Okay, that's fine and thanks a lot. So it's great to see that this project is moving forward. Let's try to get students for that. Yeah, the second project idea which we still have in the draft state is about configuration and core coverage API improvements. But I believe that we could actually publish that because the reason why it was in the draft state is because there were open comments here. And now these comments should be addressed. Assuming that my network works at all nowadays. Yeah, I think that actually it's, yeah, everything is clear. So we could probably just integrate it. So I think we could just publish this project that is, if nobody's against. Yeah, that makes sense. Okay, so I'll just add an action item. I'll fight upon anything else we need to discuss right now. I don't have anything else. Yeah, so we have another meeting in one hour. I'm not sure how many people we do have on this call, but yeah, let's see. Yes, I plan to join. Okay. Yeah, I'll also join. Me too. Yeah, me too. Okay, so see you there. And if you, Martin, have a chance, Nisar's proposal before the next meeting, maybe we could facilitate the things a bit. Yeah, that's my plan was to review it today. Okay, thank you. Yeah, okay. Thank you, sir. Thank you very much. Thank you all. Thank you, everybody. Have a good evening. Okay. Thanks. Thank you, bye-bye. Thanks, bye. Bye.