 Okay, all right. Hello everyone. Welcome. This is the America's kickoff of the Jenkins 10 and above hackathon. I'm Liam Newman. Oleg is also on the call and there are a number of other participants here. Yes, hello. And we will be doing a similar presentation to what we did earlier for the earlier time zones and also talking with Mark Waite about the results of our previous hackathon after Jenkins rolled in 2017. Let's see. You can ask questions on IRC at the hashtag Jenkins-hackhouse. Hackhouse is all one word channel. Or on Gitter at Jenkins CI Jenkins. And I will pass them along. Let's see anything else. Oleg, how's it going so far? Well, it's going fine. And we already have some cute updates. For example, we got pipeline bits working. I mean, some bits. And generally, there are lots of things to present. Okay, so do you see my slides? Yep. Okay, great. Yeah, so, yeah, I'll just do a short introduction and then we will continue with status syncs. So, yeah, I'll talk about hackathon itself, about running guidelines. So everybody who wants to start hacking or to start to want to test Jenkins, we will provide cubic start guidelines for you. And then we will sync up these teams about the current progress and open issues we want to address. So that's the current plan. And yeah, as Lime said, we will also have overview of the original hackathon status from Mark Wait. Okay. So, why do we do it at all? As you may know, Java 11 LTS is coming soon. So in September 2018, we will have the release. And we are really interested to keep Jenkins up-to-date. There will be lots of discussions about the Java 9 support and Java 10 support in my increase in Jenkins JIRA. And finally, Kiki proposed to have an online hackathon and to work on issues together and to address them. And actually, this hackathon is about that. So our main objective is to just have some fun, work together, and we want to explore compatibility of Jenkins with Java 10 and 11. Now, of course, we wanted to fix some issues if we are successful. And last but not least, we want to have to share experiences. So during status updates today and during the next days, we will have some presentations from Moses and some sync ups. So, yeah, hope it will be an interesting week for everybody. If you haven't registered yet, we have a registration form. So if you click this link, actually, you may see Jenkins and Java 10 online hackathon. Please register. We will be using it in order to deliver some swag or goodies as we discussed on the morning. And if you have any comments or questions, please ask them here. So far, the most popular question is, will we get online beers? Yeah, so the answer is no. But on the other hand, we hope to send some other stuff to participants. This is a new startup that we'll be doing right after this online beer. Okay. Disrupt the online beer industry. Okay. Yeah. So, yeah, there was a question from YouTube participants that there is a delay, maybe one minute delay. So most likely if you're watching YouTube, you can scroll with the time and get to the current state. Okay. So regarding other resources, what do we have? So the most of logistics will happen in the Google Doc. We have created it maybe one week ago and already started feeling it by a content. So if you go to the link, I've pasted the slides, you may see that there are all information, including channels, links to meetings, guidelines, how to run Jenkins, Java 10, 11, and also status updates. So the link to that document is also in the description of the YouTube video. So if you get the description, you can get there that way as well. So these are our main sources. What are our plans for this week? The hackathon will last for five days. It means that there will be people who can something during all of this time, but if you're interested to join, you can hop in and hop off at any time. So it means that if you have a few hours to do some testing, for example for your plugins of your system, it's more than welcome to do that. If you want to work on particular bits, you also feel free to join and we are flexible and we will try to provide the required guidance. Yeah, now it's a kind of grant opening, but yeah, then we will have daily sync up calls like that every day. And if you need more information, if you need to sync up with people and ask questions during the day, we also have charts. And actually there are many of them. So one of the main charts is GitterChannel. So it's just Jenkins CI slash Jenkins. It's a kind of unofficial GitterChart for whatever about Jenkins, and you can join it and ask questions you have. Okay, then we also have more official chat in RC, as Lime said, it's Jenkins Hack House. So you can choose whatever channel you prefer. So far, the most of activities happen in Gitter. And yeah, please feel free to participate and to have discussions. Hi, KK. By the way, I've sent you a participant link if you want to join. I think he is. Okay. So yeah, since the Hackathon has been originally proposed by KK, would you like to give a forward and to introduce this Hackathon to others? Sure, sure. I mean, nothing too much to add, but definitely thank Lime and Oleg for really driving this and make it happen. It's easy to suggest something, but I know it takes a lot of work to actually do it. So I'm kind of really excited about this event, because in the Jenkins community, we're always trying to look for ways to collaborate, right? One of the blessings and the cars of this community is that we divide our work very well. So normally we don't need to really talk to each other, but I'm hoping to find more ways to engage more people. And then so I think this is the new thing we are trying. I feel like we have some great success having some important hackathons. So if this works out, then I'd love to do more of these things. So what I ask for the participants is if you guys can keep notes of what had worked well, and then what can be improved for the later improvements, that'd be great. And I think it's also important to let the world know the good thing that's coming out from these things. And again, in turn, I think that those will drive the participants and the willingness to do these kind of things more down the road. So I hope you all have fun and be able to, I'm looking forward to really see a good progress in the end of this week. So with that back to you, Oleg. Okay, thank you for the introduction. So yeah, I'll continue from there. Okay, I just need to find my slides as always. Okay, so in addition to Gitter and RC, we also have a video chat. It's Jenkins.io slash Hangout. It's an official actually just a Google Hangouts channel for all kinds of Jenkins related discussions. So you can join it at any time. It doesn't mean that we always have Java 10 hackathon participants there, but you may meet other people and you may join other meetings if you're interested. So follow Jenkins events and you may discover that actually there are lots of sync up activities now. And yeah, we will also have status calls in Hangouts on there. We will be posting participant links in the chat. There is no way to post participant links in advance, so they will be posted maybe 15 minutes in advance before the meeting. And if you want to see YouTube links, you can go to Jenkins online meetup. And here in the description, you may see all online sessions that are already scheduled. So you can just follow this link and participate there. And those are also in the Google Doc. If you have that from this video, you can get that, get there from there as well. Yeah, right. So from interesting things, on Wednesday, we will have some Java EC elites coming to the meeting to talk with us about Java 10 and 11 adoption aspects and about quality outreach program. So it may be interesting meeting to everybody. And yeah, on Tuesday and Thursday, there are open slots. So if you want to come and talk about something, just let us know and we will try to schedule that. Okay. So that's it. And let me show how to actually start using the Jenkins with Java 10. Actually, before the hackathon, we invested some time. So now it should be more simple. So we had lots of issues submitted by Jenkins users trying to use Jenkins on these platforms for a long time. It wasn't supported. But at some point, we just blocked a startup on Java 9 plus in our settings. But now starting from Jenkins 2.127, you can run Jenkins on Java 10. For that purpose, we have Enable Future Java flag. So you can use that. And yesterday, we have posted a blog post which describes how to actually run Jenkins. You have two options now. Firstly, in Docker, we have created a new repository for experimental releases. And there you can find latest versions for Jenkins master for Java 10 and Java 11. So these versions have continuous delivery. And when we update branches, they get automatically published. And if you want to have standard branches, there are releases for 2.127. I guess today we also need to publish releases for 2.128 because it has been released today. But yeah, for the hackathon purposes, we recommend using these images because they reflect the current state with all the boilerplate patches we added in order to get particular things working. If you want to run without Docker, there are also guidelines. So for Java 10, it's more or less trivial. You just set Enable Future Java flag. You will add Java XML bind model. And then you get Jenkins running. For Java 11, it's a bit more tricky because some models have been excluded from Java 11. And you need to download them explicitly and to pre-configure your instance. But you still can run it. And you can follow these guidelines in order to do that. Later, we'll talk about the current status. But generally, we've got the most critical things running except in Jenkins pipeline, which is in progress now. But freestyle jobs for work, Jenkins agents can connect also plugins like the Docker plugin and yet another Docker plugin can connect agents and execute builds and other infrastructure parts like, for example, folders, plugins, job design, maybe also matrix authorization, role-based strategy, and many other common plugins actually work well on Java 10. And we have already tested them. Then if you want to use configuration as code, good news that configuration as code plugin also works well. It's a new solution for configuration as code in Jenkins. If you use all the solutions based on Groovy hooks or Groovy scripts, apparently they work as well. It was a bit surprising because we haven't updated to Groovy 3.0 yet. But at least some top-level bits work. If you use stuff like Grape, maybe it will break, but for common use cases, it works well. Okay. This is about running Jenkins. If you wonder what you could do on the day first, as I said, pipeline doesn't work well so far. We are getting progress, but likely it's a subject for the second day. But now you can start the exploratory testing on both Linux and Windows. You can also take some new friendly issues. So we have started aggregating these issues using Jenkins Jira filter. You may see that there are not so many issues so far. But yeah, we will add more later. And if you wanted to take something else, there are two big IPX, one for Java 10 support. So it takes a while to scroll it. But yeah, there are many things you could try and contribute to. And the same for Java 11. So if you want, Java 11 epic is here. So far, there are not so many issues except in one defect we discovered. But if you do exploratory testing, you may create new issues here on Java 10. So this is the current scope. And if you do exploratory testing, please report issues in the epics I've just presented. And please use labels like Java 10 or Java 11 and Java 10 hackathon so that we can trace these issues quickly and provide advices how it would be possible to fix them. And if you submit such issues, please remove the default assignment so that everybody from hackathon participants can pick it and implement. And if you test reflective access is one of the most popular issues, please enable illegal access equal debug. So it will run illegal access scanners in the debug mode, and we will get stack traces. So it's pretty important if you want to submit issues for this functionality. And yeah, actually, that's it. Surprisingly, we all really got a really good status for Jenkins. So you can run almost everything except in pipeline. And we will welcome all kinds of contributions and feedback for plugins. Because we anticipate that something may break. But I think that in the current state, the Jenkins is already ready for deep testing and for evaluation. So we will appreciate your contribution. Okay, that's it from for the introductory part. Lyon, do we have any questions so far in the chats? I have not seen anything so far. Most of the people just enthusiastic to get started. Okay, cool. So yeah, status update. Yeah. Originally, we started this thing from Java 9 support. Mark White and Baptiste Martos spent time at the Jenkins world to southern 2017 hackathon. So they were ones who created this epic for Java 9 support, which we renamed to Java 10 later because Java 9 is already the end of life. But yeah, maybe Mark who is online could share some background about the story and what is the status. Yeah. So the Jenkins world 2017 hackathon specifically focused on trying to exploratory test and then Baptiste was able to take some of those exploratory testing results. Oh here, do you want me to, well, was able to take those exploratory testing results and make some significant progress. Key things that I was reminded of as we did that was exploratory testing intentionally goes broad. We look for as many things as we can as quickly as we can and then identifies, is it repeatable? And if so, submit an issue. If it's not especially repeatable, it may still be worth an issue just to note that the thing happened. The Docker images are amazing at allowing us to reconstruct clean and known conditions to provide a reported bug. If you've got more complicated scenarios, you may not be able to construct those directly in the Docker image. What I found was I had a Docker image that did lots of complicated scenarios already and it was easy to switch over to use JDK 10 or in that case at that point a year ago JDK 9 and make it go so that I could see all sorts of failures very, very rapidly. So exploratory testing is a lot of fun. It's really interesting and challenging to discover how many different things you can detect broken in a fast sweep through the product. Oh, like I think that was really all that I wanted to say was submit good bug reports and explore widely, particularly if there are plugins that are of interest to you. That's a great excuse to do an exploratory test of that plugin. Oh, and don't complain about Git Client Plugin 2.7.2. Yes, we know it's broken in Java 11. Oleg very kindly provided the solution for it. The solution is use Git Client Plugin 3.0 beta. Yeah, we'll discuss it a bit later. But yeah, thank you, Mark. So yeah, later during the status update, I will show some examples how to run Jenkins and Docker with the patches. So we will provide more insights about that. And Mark also created some images for that so he can share the links in the charts. Okay, so let's just finish this slide deck. Okay, so what does it work? Actually, I already described that. So pretty much everything works what we tested so far. The things which do not quite work is firstly Jenkins Pipeline. But for Pipeline, we have submitted some patches. So to the core, we updated the bytecode compatibility transformer. Then there is a patch to Pipeline support plugin. And yeah, after that, I've got at least some basic pipelines working. So I'm really optimistic about this part. Then for Git Client, as Mark said, you will need to use a version from experimental update center. But what we did, we switched default packages of Jenkins to experimental update center. So if you use Docker builds we provide, you better them out of the box now. So that I hope that when you build past and the now the default update center is already experimental. So it should be less problem because everything should be starting out of the box with installation wizard. So regarding the rest of the issues, we have a lot of related access reports. It's just a feature which has been originally prohibited in Java 9. Then people discovered that reflective access is everywhere. And then it got enabled by default again. But if you take a look at Java 10 support epic, you may see that this one that actually many issues related to regular reflective access from different Jenkins bits and also from our libraries. So we still want to clean them up because in many cases it's just related to the use of obsolete Java versions or obsolete libraries. So by updating them, we will also move Jenkins ecosystem forward. And the last bit, which is not clear. So I like I missed as long as we're on that one topic. Is it relatively easy to figure how to fix those or those access errors? Or is it pretty involved? It depends. Because in some cases, it's just a small patch in whatever Jenkins library. For example, I created this patch today after Tracy submitted a defect. And here I just removed old reflection by new call. So this code has been created by Java 4. If I recall correctly, I replaced it by Java 6 code. But yeah, this is one of the parts which is actually easy. But on the other hand, you may be more involved. Okay. Yeah, for example, if you take a step that uses several version ID for some digitalization. And yeah, as you may know, it's a kind of standard mechanism in Java, having a private private serial version ID field. So we step that accesses it. But yeah, I guess that is no way to easily fix it. So your mileage may really vary. For those issues which seem to be easy, we use a new befriending label. So when you go through the tickets, you can just use this label in order to discover what we consider to be relatively easy to fix. Right. And for this specific topic, something I'm currently experimenting is to have a very small utility library to do this field set accessible and all this reflection stuff that many legacy framework are running on. And to have this library to be a multi-version jar, which means that an alternative class will be loaded when you are on Java 9 or 10 or 11. And this one will use new mechanism introduced in Java 9. So if we are such a very small library to just replace those low-level field access, it would be easier to just plug in various places and replace all those hackies code. Right. And it also gives another idea for the hackathon. So if you are tired with exploratory testing, you can just try building some plugins with Java 10 or Java 9. And maybe you will discover issues in our tooling, which may be also interesting to at least report. We are fine with building things on Java 8 so far. But it's great to have issues so that we start cleaning them up at some point. Okay. So it was the current status update. If you have any questions, let's discuss them. So far, nope. Okay. Cool. Then we can switch to the less official part of the hackathon. So on the morning, we already had a kind of introductory session between participants. So we had maybe five or six people participating and also some people watching YouTube. And we started doing some introductions. So since we have a lot of time, thanks, KK, by the way. Unfortunately, we haven't even made it out of the first meeting, and we've already got a PR merge from KK. Well done. Well done. I'm rolling out the sleeves here. Yeah, there you go. Yes. Thanks a lot. It really helps the project to keep rolling. So yeah, maybe we could repeat short introductions and then start from other people who haven't participated on the call. Okay. By the way, does it really make sense? Because yeah, I guess everybody in participants knows each other. Oh, we have some viewers. So maybe we can... Yeah, let's at least say hello to everyone. I mean, we have a few more people, a few new faces, a few existing ones, and then we can go from there. Okay. Yeah, so I'll start from myself and then I'll just handle introductions. So yeah, I'm one of the Jenkins Core maintainers now. I've started using Hudson into 7.8 and Jenkins is one of my favorite built automation tools. That's why I started using it and started contributing to that. And I'm still doing that. So for this hackathon, one of my objectives is to just keep things running. So I mean that whatever contributors need, like reviews, extra permissions, extra releases, or just consulting in whatever charts, this is my main objective. And the second objective is to keep improving Jenkins Core and maybe some pipeline integration bits in order to get this story over the fence. So yeah, that's my introduction. Who I am. Hello. My name is Liam Newman. I'm in the matrix. Oh, sorry. It's okay. You might just leave that document up since we'll be talking about things as we go. I am a technical evangelist at CloudBees working on Jenkins. And so I will be here to sort of be Oleg's backup in helping things to move along and also test and see how the community interacts and sort of highlight accomplishments as I catch them if other people don't already see people's praises. Yeah. Nicola, are you on the call? Yeah. So I'm working at CloudBees as well as part of the CTO office. So my main goal in contributing this hackathon is for sure to help Jenkins to embrace Java 9, 10, 11 and further. But also to understand the architecture impacts of new Java design. And so probably we will find some work around to have Jenkins running. But I would like to ensure that we can embrace the future of Java and Jenkins together. And also part of it as a configuration as called developer, I want to ensure that everything is okay with this new plugin on modern Java platform. Okay. Thank you. Jean-Paul is off now. So Vincent, maybe he's off as well. Vincent is off. Yeah, he's not here. Okay. So Sam, since he has started writing something. My name is Sam Van Oort. I work with Pipeline in all kinds of deep and interesting places. My main goal is to kind of help move that effort along since I know that's a pain point right now. I'll trip it in other various random places. I don't know. But I don't know what else to say. I'm going to be kind of doing whatever needs to be done. Okay. That's a good approach. All right. So I guess I'm the creator of Jenkins. So I'm trying to, I don't know how much time I can come in this week, but I'm hoping and I'll be doing and do what I can. Okay. Thank you. Tracy. Hi, everybody. Yeah, I'm Tracy. I'm the community team lead at CloudBees. I'm hoping to break things, but I'm coming in pretty new to the whole Jenkins code base. I haven't really used Java 10. So really hoping to learn a lot and just sort of see how far I can get and ideally have my first Jenkins PR and even more ideally get someone, get another newbie in and have them fix their first Jenkins PR. Okay. Thank you, Tracy. So who else do we have on the call? By the way, if somebody from YouTube participants wants to join, just use the chat links we have in GitHub or in IRC so that you can also participate. So we have Devin. Devin. Hey, everybody. So I'm an engineer at CloudBees. I've been working on Jenkins for a little under a year and so I've done some work on core and some work in various plugins. Here I'll probably try and help out some on the pipeline slide, but also kind of check for any issues in core that I see. And then Jeff. Hi, this is Jeff Thompson. Engineer here at CloudBees. I'm taking over primary maintenance of remoting from Oleg. So I'm going to try and spend a little bit more time digging into that and making sure some of that's going on and then working on the core stuff and helping out in that area. Yeah. And I think that's everyone. Yes. Jeff, I didn't quite note what is your plan, but feel free to just propose a change to this document. I will get to accept it. Okay. Okay. Thank you. Sorry about that. Okay. So since we've done with introductions, yeah, I've drafted some teams during the weekend. So, yeah, the proposal is to just have people focusing on particular areas. And yeah, we already started doing things for the core for pipeline. So if you want to join a particular team or to find your own team, just propose a change here to this document and we will sync up on that. Okay. By the way, that it would be really good to get someone on the maven build and the things here because I'm just noticing that things like in control tests don't work. You mean depth tools, et cetera. Yeah. I suspect there's a lot of room for someone to make some very quick wins there. Yeah. So in the past, we'd intentionally focused on getting the runtime on operational first before we worry about the compilation. When I tried to compile the get client plug in on JDK 10, it showed some very interesting failures in the Java doc already, but all sorts of nasty surprises that I caused me to shift almost immediately to testing interactively rather than attempting to compile with Java, Java 10 or Java 11, but that not to dissuade that it was tricky for me. Others with more experience may be able to solve it quickly. Just like you said, Devin, a quick win would be great. That was actually me. Yeah. So if anybody wants to try develop more tooling, please feel free to do that and report the issues. Even if we cannot fix them immediately or if we don't have a bandwidth, at least we'll keep it in mind when we go towards general availability of Java 10 support. We've already created a few issues for pipeline CPS plugin, I guess. So what did we have? Yeah, plugin. I don't know. There'll be even more for pipeline CPS. It's all the reflection. Okay. Yeah, that's right. Yeah. So, yeah, if you see any issues, just feel free to add them to this Epic. And then, yeah, I guess we will spend some time in order to break down this Epic to several ones because it becomes too much. But yeah, it was the idea of the hackathon, discover as much as we can. Okay. So should we do short updates regarding the current status? Yeah, I think it's you and Nicola that were on the previous call. So, yeah, if you guys want to tell us what's been going on. Yeah, so I can just present my update maybe in a month. Can you make that a little larger, the font there? So you might see that I'm running Jenkins. You might see that I'm having some little reflective access warnings. Actually, I have debug mode enabled. Otherwise, they don't look a bit horrible. But yeah, Jenkins is fully up and running. And yeah, what I wanted to show you may be my main achievement for today. Yeah, you may see that it's already a new weekly release with school login window. Okay. So if I didn't mess up anything, oh, yeah, I did. So I wiped the instance before the presentation. So, yeah. Yeah, I guess this demo isn't going to be so fun now. Well, we can see how you do the first setup here. Okay. Yeah. So firstly, I'm going to install the plugin which I needed to patch. Target. What is it? I mean, I think it's okay that the demo is not working on the first day. Yeah. I just wiped the demo and this is the biggest problem. Okay. That's all right. We can get to that tomorrow too, you know. Okay. If it's going to take a bunch of time. Okay. So we can sync up on the other work actually regarding pipeline or what I want. This is actually a good sign because having the demo fail the first time is the time for it to happen, right? Yeah. You should never remove WorkDeer, I guess. I was testing update to Jenkins 2.128 and meanwhile I just wiped all the plugins. So it will take a while to install that. Yeah. But yeah, actually I can talk about the status so far. So we've got some basic pipeline and bits running. What does it mean that we released the integrated major support bits into the master branch? So if you take a look, there is Jenkins Java 10 support and here we have integrated we have integrated a new version of binary compatibility transformer. So it's a downstream of one fix created to KKS repository, which he has already released a few minutes ago. Thanks a lot for that. But yeah, actually I cheated a bit. I deployed this version snapshot to our local repository. Then I created a new byte code compatibility transformer with this version. And then I integrate this patch. So effectively we've got it in our Java 10 support integration branch earlier than this bit was released. I will integrate everything after that. So this is one of the patches. And another patch for pipeline support is actually on the pipeline support plugin because in addition to byte code compatibility transformer and asm 6 we hit the issue with obsolete version of Jbos Marshlink. It's a library we use to persist the context of pipeline. And we needed a major update with that we experienced other issues. For example, this releases multi-release jar file. So it means that in order to get it running, we had to disable some tooling which doesn't exactly work so far. But yeah, generally this thing at least allowed to execute pipelines. So with these two patches, which will be available soon, you will be also to do testing for pipeline. In addition to that, lots of minor patches to the core. So generally this is an update from me. And once I update my demo, I will show it in life if you want. So there is a question from Tracy in the chat about what is the DevTools team. Actually, this is a virtual team which would be working on Jenkins tool chain. So in order to build Jenkins, we use a lot of Maven-based tools. And we also have our own in-house tools like Maven HPI plugin and other bits. So we would like to ensure that these bits work correctly. So this is what is the idea of DevTools team. So if anybody is interested to join, just sign up in the status update doc. Cool. Nicolas, do you have anything to show, talk about or anything? So nothing concrete on my side, mostly exploring internally so far. So trying to estimate the security status and possible topic I could work on. So as I said earlier, something I've identified is trying to find some global way to have worker run for introspection and field access. So mostly more on Jenkins core and could probably be helpful also for values dependency we had on third party frameworks. Most of them we have custom forks. So we could apply these patches here. So it's mostly a forks template, right? Stopper as well as extreme and maybe those. Okay. So who else? Well, those are the two people that were here on the previous call. So if anyone else has already started working on this, that would be, and you're on the call, just go ahead and speak up. This is Dev, and one thing I was looking at is there were some manifest errors when running the get client plugin. And so it's fixed in the newest version of get client plugin, but we'd like to investigate and make sure that no other plugins would be affected or understand the root cause. So I've been looking at that. Then also I've updated a couple or a dependency to try and fix some of the legal access exceptions. Right on. And Devin, there may be dragons in that particular place where you're looking, just be warned that the get client plugin is bundling a really old version of JGit. And who knows what else, what other surprises? Yeah, JGit to me seems like the most likely culprit here. So that's what I'm looking at. Java, Java seven based, it was the last Java seven version they supported. So ancient, ancient archaeology. Good luck. All right. Thanks for the heads up. Yes. But it's still one of the options to discover. So we have a lot of plugins using obsolete dependencies. So maybe somebody could just try installing all the Jenkins plugins and see what happens. As yeah, as we probably know, if you install all Jenkins plugins, Jenkins doesn't really start up. At least it's what Daniel presented at the last Jenkins hold. But yeah, maybe some experiments around that would allow to discover what's broken. I mean, in terms of other plugins. Okay. Yeah. And we also had Jean Paolo with us on the morning. He's an author of Easy Jenkins. And one of the bees he was working on is to try out latest JDK image. So that yet to see whether his demos works. And if I understand correctly, so far, he's getting good progress there. Didn't Jean Paolo had drop? Yeah. Okay. He was online in the beginning of the meeting. If we could correct that. Yeah. We'll catch up with him later. Okay. So yeah. And he released. Okay. Well, unless anyone has other stuff to add, we should probably wrap this up and go back to the Jenkins IO Hangout or the chat, the Gitter or IRC chat. Or I can just show you pipeline demo. Ah, there we go. Okay. Okay. So let's start from something like that. So actually, when I started bee, even just echo command wasn't working. And now if you use the current version without, yeah. So now you can get basic commands like echo hello working. So just a second. Okay. So I will comment it out. So this thing should work on the current core build. Yeah. It works. Yeah. Yeah. So this is actually the first thing I've ever tried. But yeah, then we need a new release of pipeline support plugin in order to support other use cases. Right. Right. Yeah. It also appears that I also wiped the build. So for support plugin and here. So this time I'm working on building on top of that. I had to deal with some issues with the build setup initially, but I'm working on it. Yeah. And we'll sniff your skip. So something like that should actually work. Or maybe not. Ah, it's got warnings, not necessarily errors. Well, these warnings are rather fine. So it's about extreme. It's just a part of our new tooling for plugin pumps. So it's not exactly related to Java 10 so far. Okay. So I've built the new version of the plugin. And if you want to try out pipeline, you will have to do the same. And then I go to advanced top, choose documents, Jenkins, plugins. Yeah. They clean up it every month, but it's still a long list. Okay. Okay. So I upload new version and we need to restart our Jenkins instance. Okay. And yeah, you may see that the restart page in the recent weekly release is not that cool. So yeah, I've submitted a bug for that. Okay. And I'm ready. But please, when it starts up, you'll get a cool page. Okay. So if I'm lucky with the new version, I will actually get this thing running. Okay. So with the new version, we can execute our nodes. And actually I've tested some more complex builds, like executing cycles, et cetera, from pipeline demos. Everything works. I haven't tried pipeline libraries yet. But yeah, I'm optimistic that we can move it forward. Yeah. So actually, yeah, it may look simple, but it was one of the major concerns, whether we can make pipeline work in a toll. Right. So I'm lucky with this. Yes. Yeah, a big deal. That's great. Yeah, I'm sure the guy built a work hard to go into it. Yeah. So once we get it out of the door, we will be able to proceed with integration testing and use exploratory testing for these tools. Cool. Yeah. That's exceptional. Like, well done. Okay. Thank you. By the way, is anybody interested how to run a Docker image with your custom stuff? I mean, I think there are enough presentations. Let's get the work done. Yeah. Yeah, let's, yeah. Let's, we have a, we've had a good start. Let's, let's move on. Okay. Let's find with me. Cool. Okay. That's it. And yeah, thanks everybody. Yeah. Thank you. Do we have any questions in the chat? Nope. Okay. Then thanks everybody for participation. If you haven't registered yet to the hackathon and if you want to do so, please go and use the links we've shared. So one of the links is just this one, I guess. Yeah, this one. And that'll be in the, the Java doc that is actually linked in the description of this video as well. Yeah, right. This link is pretty much everywhere, but we really want people to register because we need to track contributions and this form will be one of the sources of data. And yeah, if you propose pull requests to various plugins, please use, yeah, this is a better example like this. So you can take a pull request and here, for example, okay, here I have one of the pull requests and here you can just mention Java 10 support team. So I think it's a team of several reviewers who will be monitoring this tech. And if you experience any issues, just CC it in your pull request and yeah, we will try to help you. Unfortunately, this link works only if you're a member of JNTC organization. So if you're not a member, just pincast in the charts and we will add this mention for you. Cool. Okay, so yeah, thanks everybody. Thanks, Oleg. Yeah. See in the chat then hang out. Thank you, so you're hung out. That's right. Exactly. Good. Bye. Okay, so yeah, I'm stopping for the broadcast and thanks everybody. Bye. Thank you.