 Hello, everyone. This is GSOC, Jenkins Docker base, quick start, weekly meeting. We are on the 3rd of July 2023, and today we have Ashutosh, of course, and Jean-Marc with us. There were a few action items we were able to tackle. Jean-Marc, last week we talked about the way you envision the organization of the repo. So you did not create an issue directly about that, but we talked enough so that Ashutosh has created issues that describe more or less what you were expecting. So I checked this one. Then Ashutosh was supposed to create a document to share with us your ideas for the presentation, but you went right away and created the presentation. So I also checked this one. I mean, we still have to do some changes about you mentioned that we have to reduce the content to more present verbally more than it's because it's written in the slides right now, and then we're supposed to start the discussion with DocSig, which I have done, and you have done also on your site Ashutosh. So things are slowly moving, but that's okay. We have to find out how we could interact with DocSig, but that will come maybe later on. So the main subject, of course. Yes, go ahead, Jean-Marc. I have a question to Ashutosh. Were you able to do a demo last Friday to the DocSig? My internet connection was shut off. I had a problem, so I was not able to do that. Okay, good. So that would have been interesting to hear their point of view, but this happens. And I didn't follow the YouTube videos with Chris, Marc, and Meg attended that office hours, and they did talk about it, our project, and Marc said that we have proposed nicely to them. So positive feedback. We're without seeing the demo. Okay, last question. Can we consider that the Maven demo is complete? So you are able to show it? I didn't try it, so what? Yes, if we don't include the script, the clone and for script, then it's complete, I think, because the job, I think, the user will be creating the job in the UI, so that I'll show in the demo too. Okay, good. So milestone number two, we call it one, is reach two, and you have something to show next Thursday. Well done. There are some little, little, little issues in milestone one, the Maven one right now. It's not, they're not major issues. It's simple de-factoring. Simple. I have, I don't know if you can see my screen, but I may have listed them all unless you have created some more in the last minutes. I will not go in depth in them. I'm just going to do, to give the general advice that I always give and Ashutosh can nearly say it himself is, so stay focused. The important thing is to have a good efficient presentation, and then you can fix the last glitches in your, your demo. So, but I think this, you start to understand. Good. So I'm now up to date. I'm in sync with you too. So back to you Bruno for your meeting. Sorry to have interrupted, but I wanted to have No, no, that's perfect. Yeah, you're right. So of course, what we should focus on this week is the presentation that will happen on the sixth, which is Thursday, of course, at the same time and the GSOC office hours, 10 minutes presentation and demo. So Ashutosh, I think it's kind of finished on the writing of the slides. But of course you should rehearse, rehearse, and then maybe rehearse. Whenever you feel like it, if you should ask for a, how should we call it in English, blank? I don't know, try to do the presentation to somebody. It could be me, driver, driver. Of course it is. Thanks a lot. So you could get some feedback before the real presentation. I'll record myself and share to you. Yeah. Oh, you don't want to do it live. Okay. But no, so you can do it at a time that works for him. So this is good asynchronous. Don't forget that when you're doing it live, there's more stress. Yeah. So you may speak faster when you're doing it live. So better time it correctly, but you'll see whatever. The point I wanted to focus on was the quantity of text in the slide. I haven't had a look at them last weekend. So I don't know if you progress on that. I do hope that you squeezed everything into something more compact. So people listen to you instead of reading. If that's okay. Yes, I haven't done it right now, but I will do it today. Yes, please. Okay. Thank you. So don't hesitate to record yourself. Send us a video if you want to have some feedback. Don't be shy. That should be okay. Anyhow. So regarding the docs office hours now, you told us that you had an ISP problem. So you were not able to join the docs office hours. That's not a major problem. We'll try to join next Friday for you and next Thursday for me, because we will have to talk about the way we will integrate the new documentation into the existing one. In the last docs office hours, we took maybe five to 10 minutes in order to talk about that with Mark. And as a project progresses, we will have a more precise idea on how to modify the existing documentation. Now, Ripo, something that you wanted to address last week, Jean-Marc. So you wanted everything to know? No. No. No. At this stage, let's put that in the fridge. Okay. And so I prefer that this week we really focus on the presentation clean demo and that. For me, it's not a priority. I have other ideas, things that I at first would like to test with Bruno and see. So I prefer that we focus in what you just explained. So finishing the demo, integrating the demo and tutorial into the existing documentation site. Now we focus on that, because there are several strategies that we can work on. You already know that I like focus and that we need to clearly identify what is the target we're going to work on and put the main effort on. I have a little chat with Bruno to give my ideas and then this is something we can discuss when next week will be a short week, maybe a week where a shoot-off can breathe a little bit and clean up things because Bruno will be on holiday. I'll be at the weekly meeting on Monday, but it will be a slow week, the week after the presentation. But we can already start discussing and brainstorming on the next steps. Just my two cents. So directories and reorganization of that. Let's put that in the fridge. We know it. It's a path we can follow, but we need to keep it for strength together. Okay. Now, yeah, go ahead, Jean-Marc. You weren't finished. No, no, no. Go ahead. No, no, I'm. Thank you. So for the main tutorial, which is something that you will demo on next Thursday. So we used to have a script that bothered Jean-Marc and for very good reasons because we were asking for the GitHub handle and then password to talk. So that is a problem. So that's why you removed it. But the thing is, it asked for the GitHub handle and password, but also made some modifications in the existing jobs that are part of the Maven Docker Compose, whatever. So the thing is, if we get rid of the script, we will then have a job which is not fully configured because there is the variable called GitHub username. Yeah, that won't be dynamized. So that's a problem for me. I see two solutions. We get rid of the existing job so that we follow the existing tutorial, which asks for the user to fork, clone, and then create a job all by himself or second solution. We keep the script, but simplify it without asking for the GitHub password. So we only, we don't fork, we don't clone. People would still have to fork and clone locally within the GitHub UI. And then we keep the job updated, changing the value of the variable. I don't know. What's your thought about that, Ashutosh and Sharma? Should we keep and simplify the script or just get rid of the script and get back to the old documentation? I was thinking users should create his own job in the UI for this tutorial. So if we go that way, we won't need a script. What do you think, Sharma? I don't know the tutorial enough. And I don't know what is, what are the prerequisites for the tutorial to work correctly. So I follow Ashutosh's direction that are a few things that are so general that we can move out. Normally people should have some experience on how to fork a GitHub repository, how to clone it. But I don't know how the two are interweaved in the demo. Or I always keep it demo. It's the tutorial. I forget that word. So I have doubts. Ashutosh studied the tutorial. And normally he demonstrates part of the tutorial, I guess. Or once the presentation is done, we should run, oh, this works, this works, this doesn't work. So we need to find a solution and decide how much we automate. So conclusion is I vote blank. I have not enough opinions or not enough data to have a useful opinion on that. Okay, I think that... I like both. Both ideas make sense. Oh, so I will muddy the water some more. I need to read the tutorial. Yeah. I have been investigating and creating another Poc. Maybe we won't need to ask the user a password or a token. We could get the user to interact within his browser, thanks to the script, without having to paste any sensible data. So we'll see. Maybe next week we could rediscuss it. We'll see that. There may be a solution, but it's prudent maybe to just get rid of the script this week for the demonstration, for the presentation, and then we'll see what we should do in the coming weeks. Okay, I should also get rid of it. Morify the documentation so that the user knows he has to fork on the GitHub UI, then clone locally, and then create the job all by hand within the Jenkins UI. Fine with you? Yes, fine. Yeah, I should have made a study of the... I need to read that here, but I'm running low on time. Of course. So I cannot put as much time as I wish on that. I sincerely apologize for that, but here I need to keep a good balance here. Of course. Looks good. So continue like that. At least here that you're asking yourself the right question. So there are some existing pull requests that could or should be addressed this week. The first one is call the script directly. I don't know why I spotted that you were calling Ashutosh. One of the scripts, I can't remember which one, was bash, and the script is bash itself. So I was wondering why? And that's why I created an issue that you try to solve with the pull request. Yes, I created a pull request solving this issue. I previously used SH before the bash, and it was giving an error, so I shifted to bash without thinking much. So I created a PR solving this issue. Yep. Should be resolved today. Ashutosh and Bruno, don't wait for me to prove any PR. It takes me here quarter of an hour to set my workstation here up in the cables and so on. So I really need to get that organized. So don't count on me. Yeah, we'll see that together. And I don't want to get into a fight with my wife. Ouch. No, no, please don't. Then there is this other one which is moving examples to route. But John Mark, you say that we could put this one more or less to the fridge until next week. If we have time, we can start. But I fear that we're going to break things. So for me, this is not a priority for that, as said. I have created a PR for this one today. Okay, so that's, so well, here, it's both your decision, but remember, you will have a voice in the back of your head. Yep. Is this contributing to the success of the next milestone? And are we putting the project in danger or not? But here, you can work on it. So the next one is refactor numbers to keyword. I haven't read it yet, but I guess it's not Jenkins in it for to get Maven, but Jenkins in it Maven to get Maven. So use different keywords for one, one, two, three examples to So all of them are keywords instead of numbers now. Okay, I'll try this out. If you think it's ready for review, I'll review it just afterward and see if we can merge it fast or not. That's cool. That's a good improvement. Yeah, yes, it is because I always get it wrong. Say Maven, two, it did three, did four, I just can't remember. And there is no menu. I'm not asking you to write a menu, by the way, for the typing. Not at all. Forget it. But yes, typing Maven instead of four will help. That's for sure. Thank you. Then we have all the pull requests, which are draft pull requests. So don't even look at them now, maybe next week. The first one is how to say that in English. In French, it would be Monsieur and Jean Dubois. It's a band aid or on something, you know, because A band aid on a wooden leg. Yeah, something like that. That won't help that much because our goal is to have just one docker compass command to start everything. And for the time being, we are restricted to have Linux, Gitpod, macOS, and WSL, but it doesn't work for Windows. So I say to myself, eh, why not provide PowerShell script to get it to work? So it works for me on my machine, but frankly, we shouldn't lose some time with that. We'd better invest some time in finding how to get rid of the shared scripts instead of replacing them with PowerShell script on Windows. But whatever, if ever you want to have a look at them next week, feel free to do so. I'm not an explorer in PowerShell in any way, so I did the best I could, but it's maybe tons of nonsense. I don't know. It works for me, but maybe just by accident. You never know. Don't say that. It's exploration ideas. It works. So let's look at it. Be so cautious. Then I made two other drive PRs for the weeks to come. One is about the Python tutorial, nothing major. Frankly, it's mostly a copy and paste of the existing Maven tutorial. I just changed a few things here and there in the docker file, because we installed Maven, we installed Python instead of Maven, but nothing difficult. But then we have the Node tutorial, and then you'll see there are a few tricks in this one, because it's Node. Node is not that easy to install. Whatever. For next week also, nothing major for the second term of GSOC. And then there is another one that I haven't created even yet, which is my exploratory work about how to work only with Docker Compose. And I have something that works, but I'm not proud of it, because it's the return of the infamous Docker in Docker. I'm sorry about that. So I will try to talk to an expert this week to see if we can get rid of Docker. I believe so. So this is one of the points I wanted to discuss with you after the meeting, Bruno, is what are the strategies we can put the energy of Ashutosh on and decide where we have what would be the most useful thing to do. I have several subjects, functional subjects that we can explore, but we need to sequence them and not attack them. And one is what you're discussing there. So we can brainstorm on the subject, but there are other things we can do before. I can discuss also after with you how we can do that. No, okay. Thank you. So for the time being, I tried lots of different things and then came back to basics. The thing is, I have a simple container in Docker Compose which had your script, Jenkins init script init, and when you run it interactively, it will issue a Docker Compose command in the end, as you are doing today with the Shell script. The Shell script is running inside the container. So the container launches by itself the Docker Compose command. That's why I was telling it's a Docker in Docker command. So I'm not proud of it, even if it's funny. Here, part that I have tips for you or I don't understand. We'll discuss that later. There are other ways to do that. So I believe so. Thank you. Now about the plugins, nothing new, nothing major. I think we have installed the pipeline GraphView in some of the samples, maybe not all of the samples, so we should have a look at it. I had a discussion with Mark and then with Damian about this plugin because the existing tutorial makes a big use of Blue Ocean, which is deprecated. And getting rid of Blue Ocean is cool, but getting something that looks more or less like Blue Ocean could be a big plus for users to understand what is going on. And I think that for the first tutorials we are addressing, the pipeline GraphView plugin does exactly what we need to show. It looks like the Blue Ocean plugin for this part only. Of course, it's not as good as Blue Ocean, but the part we're addressing, it's more or less the same. So maybe we should add it in just every sample so that we could have a documentation that looks more or less like what we used to have. One of the things, because I made conferences, not conferences, but workshops based on that tutorial, there were two things that we did with the Blue Ocean part. One was the visualization so that people see the principles. And the other thing was the editor. The editor was guided. It had some syntax checking in there, and that was a good help. But there's another topic I wanted to discuss with you. Another rabbit we can get Ashutosh hunting, but I want him to hunt only one rabbit at a time. So this reflection that you're mentioning there is is it will not be simple and this will be big. So big, important. So there is the GraphView and the editor. Is it needed? I know the editor, the people liked it and helped them very, very much. Okay, I never tried it. Should have a look at that. Okay, so of course it's not part of this milestone, but if you could just add the plugin so that we know it there and then we see what we can do with it in the next course. And we can experiment with it. Super idea. Yeah, very good. And something we haven't yet figured out and we won't figure it out today, I guess. It's still a question. Should we keep the list of plugins updated by hand, thanks to a script? Should we have a definitive list of plugins or only the ones we are interested in? Because sometimes even if we have our list of plugins, our short list of plugins updated when we start Jenkins, the first thing it asks us is to update other plugins we did not reference to in that. So I don't know if that's a good thing or not. It may be a good thing because then people have to know that updating the plugins is a regular thing to do within the UI. Or should we get rid of that so they only focus on creating a good job? I don't know. I have a strategy for that. So this is where it's not supposed to be discussed now. I first want to sync with you on that one. So updating plugins will be required when we don't know. Because otherwise, as you mentioned, when you start the Jenkins cluster, you'll start having warnings. And the warnings are distracting and will make that the people don't have confidence in the environment. So having a clean environment is important. And the Jenkins version and the plugin versions have different life cycles. So pinning is a very good strategy, but it requires that we update them. So at this stage, I think we should maintain it by hand. Because at this stage, it's not a priority. So we need to add it to the features that we will need. We need to solve that. I have an idea for an intermediate step that Ashutosh could add this more strategy. Because I want Ashutosh to have go from stone to stone, stepping stone to stepping stone, and that he makes progress. Because this is very rewarding instead of going. But the goal is, and I know how we can reach that. I'm sorry to come always back with saying a focus and what is important. But it's important. You need to, I'm afraid. Yeah. Okay. And I think that's all that I had. Jean-Marc Ashutosh, would you like to add something if there are any questions you would have or feedback? I wanted to ask how will the presentation happen? You mentioned that it will not be normal Zoom meeting in the office hours. So that's a good question. What happens is that it see it as a regular Zoom meeting. It has only the feature that normal attendants, the regular attendants, cannot turn the camera on and cannot speak. So only the people that will present, and they have a special invitation URL for that. So they call panelists. So from your perspective, it will work exactly the same way as the Zoom meetings we have. Only they will not be interruptions between. And I will lead the presentations. So I need to see, Alissa will play also a very important role as she has the controls. So Alissa and myself will give the word to each one after the other and say, now it's your turn. And we show the slides. Then you start talking. Don't forget to give the cue to Alissa. You can now show the next slide. So this is just for organizational reasons. And then you need to, there is a little trick that you need to be aware when you want to show something. Alissa will have to stop sharing. You share your screen and immediately as you're done, you stop sharing. And then Alissa shows the slides to continue. So it's a little different than usual. Did that answer your question or did I confuse you? Yes, it answered your question. And I was also wondering, should I create answers for the possible questions that the audience might ask? This is a very wise step, a great idea. So at least have them ready and that you thought about them. And this is something that we could reuse afterwards. So and this is a super idea you have. So with the recording I share with you guys for feedback. I'll also share the questions and answer that I commented. This is very good. Are you making my life a misery? I should touch. I need to take time to listen to it. I need to see how it can get organized. For the questions, I will post it in the text. I'll post it as text. So it's easier for you guys. For the dry run, your recording, right? Yes, that will not include the questions. I will post the questions and possible answers. So what happens during the presentation is that people ask questions in the chat, the special channel for that. And I'm not sure that people see other people's question. So you pick the question you're going to ask. And so Alissa and myself will probably rephrase the question, not in writing, but invite you, Ashutosh, we got this question. Then you have the time to answer it verbally. It's more tricky. You can write it, but this doesn't work. Jean-Marc, so it's 10 minutes with questions or without questions? No, it's 10 minutes presentations, five minutes for the Q&A. So do all the presentations, questions come together? Like first will be Jakruti's harsh, then one bit, then mine. Then all the questions are one by one. No, no. It will be really cut in four. So you have good questions, Ashutosh. So immediately you thought about it very well. So Jakruti will start with her 10-minute presentation and then we'll pause and say, are there any questions for Jakruti? And then we'll start answering that. I'll look at my watch and at a certain time I will stop the question flow and invite people. Other questions, you can go to community.jankins or to the Gitter channel. Stop. Next one, because I want to give everybody equal time. Then the next one does a 10-minute presentation, five minutes questions. And if we have a little bit time at the end, but I notice the three others will have to drop the call because they have exams to prepare. I will say, is there any other question? And we'll try to answer those. So no, it will be really separate to an A. Does that answer your question? Yes. Very good. Thank you. Ashutosh, are you not scared or are you, can I say that? I am a bit nervous. A bit nervous, which is good. It's normal, but preparing well. And it's a very good exercise. I'm going to see. And don't worry, nobody's going to kill you. No, not today. Not on Thursday either. Don't tease him about that. Okay. Yes. Good. Looks really good. And the project is moving. Moving correctly now. That's cool. Thanks a lot for your work, Ashutosh. So I will review today the PRs you have opened and can't wait to see your recorded presentation. I will really try to look at it, but I can't promise it. Of course. Okay. So I apologize very dearly for that, Ashutosh, but because I know it's important, but I need to balance things. Okay. Anything else before we close the meeting? Ashutosh, go, Ashutosh, go. You're going to smash it. Thanks a lot, Pauls. Great work the last two weeks. So continue like that. Yes, please. Thanks a lot. Have a good week until we see each other on Thursday. Don't hesitate to get in touch via Matrix, GitHub, if you ever have a question or doubt or whatever, or even via GitHub issues. Yes, go ahead, Jomar. No, I just would like to have a chat with you afterwards and have somebody sending me an SMS. Let me say how, oh, via this. Okay. Let me just stop the recording and we'll chat afterwards. Bye.