 Hey, hi everybody. Welcome to the Jenkins and the Java 10 plus online hackathon Today we will have a short sync up and presentation of From different teams and just second. I'm going to share my slides slides Hey, so Do we see my slides? We see your infinite screen. Okay, so there is no way to get rid of that Yeah, so Jenkins and Java 10 hackathon. Today is a day five. We were hacking all the week on Different topics of Java 10 11 supporting Jenkins. So we are going to present some results We achieved during this week. So I will have a brief hackathon introduction Then we will have a status updates for different teams and then we will perform demos. So we have Three scheduled demos like running the Jenkins with Java 10 easy Jenkins from Jean-Paul and also building can testing the Jenkins from Sam and Devin if somebody else wants to present his results, please Feel free to pink me after the demos and we will conduct Additional demo sessions. If you're interested to ask any questions. We have a channel again get her So it's a Jenkins say slash Jenkins. You can log in there and ask any questions. So Colleagues on the call will be monitoring for these sessions and yeah, then they will pass questions to me Okay, so Why do we do this hackathon at all? So if you feel these are you I've presented this Slide maybe two times before but I will still do a brief introduction Java 11 LCS is coming soon approximately in September 2018 and we're interested to keep Jenkins up-to-date in order to Make it available for users as soon as possible So previously we did some exploration for example as a part of Jenkins world hackathons and in offline and Then we decided that we want to have a kind of online hackathon in order to push these efforts to get something working and to make relation packages available. So it was our Interest for this hackathon and that's what we are going to present. But yeah, one of another Objectives was to just work together. She experiences and of course have fun so that Everybody of participants would have an opportunity to chat to study something about Jenkins or maybe to contribute something interesting And we have had several contributors who did their first contributions to Jenkins during this hackathon So, yeah, that's it. I'm going to present some results later Generally, we had 25 contributors and it's an approximate number. I still need to calculate how many contributors we had because There were people doing some exploratory testing reporting issues or doing previous for us So I would expect this number to grow a bit and we had several teams One of the teams was working on core and packaging the beats and we were working on pipeline Sam Jeff David Nicola also spent a lot of time on development tools in order to have tests and build flows running and we also had people doing exploratory testing in different areas So we will have statistics like number for commits Releases etc. And now I don't have these statistics But I hope to calculate it and post it next week in a summary blog post or stay tuned for that So I will just summarize status updates before This meeting teams provide updates in the Google document So I just copy paste to these updates and pollution them a bit So for Jenkins core and packaging in order to support Java 10 and 11 mostly for pipeline We needed to apply fixes like awesome groovy bytecode transformer Also GNR packaging etc In order to do that we created Separate feature branches for Java 10 and 11 and we set up continuous delivery for work and docker packages And now everybody is able to just try them And there are links here. So if you're interested to try packages, you can just go to this blog post and here you may see how to run Jenkins in a docker. We have several images like Java weekly releases also latest from our feature branches Sublotion this pipeline bundled which runs out of the box and you if you want to run locally It's also possible. So there are run examples for Java 10 and Java 11 for Java 11. You also need to do some pre configuration work KK who is on the call is working on a client patches in order to simply simplify that so there are Plans to make it as easy as Java 8 for users. But so now but for now we have such a kind of guidelines Okay, this is all to be the core Regarding pipeline our major update that we've got pipeline working when you start the hackathon pipeline was crashing community nothing worked But after several hits us in the core in packaging in pipeline support plug-in We were able to get all major features of pipeline working including declarative pipeline scripted pipeline shared libraries Etc. Etc. And lotion as you may see on the screen also works and if you want to try it You just need one comment The command is on the screen and if you run it you will just have Running the lotion demo with everything we've developed so far Regarding development tools We had an objective to firstly Ensure that we can test core and plug-in patches on Java 10. So we are sure that we ship Working bits for them. And then there was an interest to fix Built and built tools in order to support Java 9 plus but without breaking the Java 8 compatibility So there was lots of work around that as I said Sam, Nikola, Jeff, Devin, and Also Oliver Lamy and probably I'm using other contributors They did a lot of patches in different libraries in order to get it working. So on this list They just have few examples. There are more Then there were some generic exploratory attempts for example Nikola created a mini library required to Clean up a legal reflective access warnings in Jenkins core So it's under development, but it's also available for evaluation and Nikola also explored how to Build Java 8 and Java 10 plugins So our main problem is that moving compiler plugin is still not compatible with such mode with Multi-release jars and we needed a workaround So Nikola did some exploratory testing and you can find his blog post about how to do it with Jenkins examples So yeah, if you're interested, you can adjust follow this link and see how it can be done with maybe now The releases are there We will share all these slides after the presentation and the link is already shared in the chat So if you're interested, you can just join and follow the links and regarding exploratory testing Yep There were many contributors joining us and the exploratory testing was one of the new befriended tasks And we've got lots of evaluation for different bits including pipeline, bloatian, many popular plugins In our instances we tested maybe 200 of plugins in total. It means mostly smoke tests, but they work also major Features like configuration as code work well with Java 10 and 11 and Yeah, we tested Windows support. It works well. So we feel that it's a very good progress with support Then we updated the documentation. So there is a new Java support page pending review There were some plug-in pull requests and releases made by our contributors and those demo project updates. So for example Jean-Paul updated his easy Jenkins project, which is going to Demo today and I updated another demo project is configuration as code So yeah, and that's how we tested a lot of things So what's next? We have a lot of patches some of patches still need a integration So some library patches and a review and we want to integrate them at some point We also want to upstream patches to the core to weekly releases We also already started this problem process, but it will take a while We need to decide how we approach pipeline support plug-in in order to get it Available to users. So yeah, there are lots of things Head and we need to decide how we approach them So it's just from the top of my head what we need to do and today we will have a discussion What else we are missing? actually The next agenda item was demos, but yeah, since we have many contributors on the call We could briefly discuss the status and what we want to do next So if anybody wants to make any comments about the status and about the next steps, please just Tell us about it Yeah, so one of my question is You know prior to this week. I got the impression that there's gonna be a number of Changes to the libraries that we depend on which needs to be upstream Is that a case or was that was a wrong impression? So for development tools, there are many libraries which may need updates So I've just listed several external ones here Some of them are external External like animal sneaker. It's a part of the Apache. Yeah, I Made more. I guess I was thinking things like a extreme or Yeah, so for extreme Etc we have issues with illegally reflective access So it's one of the major issues in Java 9 and beyond and we had a lot of a long discussion with Project jigsaw contributors on Wednesday about that So we want to clean them up and there are ongoing activities. So for example this Mini library from Nikola is one of potential approaches to clean up for this illegal reflective access and There are many other patches So Nikola was started from stepler warnings and from extreme warnings and that's how he got there So there is a hope that such generic approach will allow to Prevent the most of illegal reflective access warnings I think to like for most of the You know third-party Dependencies we have most of the issues were like like a saying just the illegal reflective access Which is not currently, you know a serious blocker So most of the stuff we were focusing on at first was the we cannot compile at all We cannot test at all we cannot run pipelines at all But it turns out that you know like that extremes illegal reflective access certainly should be cleaned up But for now there's not like any you know immediate Work to be done basically Yeah, we're not going to ship Java 10 support tomorrow for sure Yeah, we did have a great progress many things work Libraries will likely need more updates. We also reported a lot of issues about potential patches needed in various niche libraries But yeah, there are still things to do Okay, any other questions, okay nothing In the chat, so maybe I'll just show the first demo Working pipeline. I hope it still works. Let's see. Do you see my screen? Yeah, and I don't see my Jenkins Key I like you just The demo, okay, so I have a Package which is based on a JDK blow ocean demo. So just It's my configuration as code patch. So it's based on the stock evaluation demo Wiship I've started that and here you may see that Jenkins is actually starting You may see a new login screen introduced in the latest weekly release So we are up to date it may take a while for Jenkins to start up because it has configuration as code including configuration as code plugin and some groovy screens but here we are And here we see the demo so in this demo you may see that there is a blow ocean that There is a development environment with some pipelines And for example, I have pipeline library. It's a fork of not a fork It's just a local development instance for CI Jenkins IO It's a Jenkins on Jenkins instance to be used in the Jenkins project to run continuous integration And I'm going to run one of the demos So this demo just executes Pipeline you may see that it's starting well. So Um, yeah, it will just execute the build and while we are waiting I can show you what is the current configuration So it's the new release And if you go to system Yeah, you may see that there are some updates pending but generally What we can see here that in system information you may see that we are running on java 10 It's a docker image. So you can just get a similar environment running out of the box And yeah, the most cool thing that currently it's more or less transparent to all the users. So you just run your Jenkins instance on java 10 like you would Run it on java 8 in docker. So it's fully compatible with all standard packages And this John Paul will present it more So let's take a look at our pipeline. You may see that it's building something um, and here we can go that and see that Blowshine is also works with all incremental things in place Once it completes the build it will publish tests artifacts and other things I will probably not spend time on that because we have the next demo where John Paul Will also show some pipelines, but if you want later I can present that this demo actually completes so Actually, that's all from me. Uh, this demo may look boring because everything works, but Yeah, actually, it's one of the main achievements with all of the patches with all of the custom tweaks We've got it working and we haven't discovered any broken features so far Um, but we tried Well, what's the most challenging thing you have to do? So for me, the most challenging thing Honestly was to build Blowshine Because even without tests it took something like 40 minutes on my machine To package that Regarding the core I would say that the challenging thing was to just integrate all our patches to pass through upstream releases Because there were lots of things and actually this work hasn't been done only by me Sam did a lot of patches to pipeline support plug-in than ukk helped us with asthma wrapper bundles Contributed patches to jr support. So even if I demo that it's not just my effort is a team effort to be During this hackathon And Yeah, you see this demo is still boring. It just runs Okay, uh, so I guess That's it for now. Um, I will let uh, john paul present. Uh, he's um, he's jenkins demo I I would Guess that he will show much more about pipelines than me in this demo John paul, are you ready? Yes, I am Hopefully I am sharing my screen now And good evening from the from evening I am Unfortunately, I'm out of the office attending a conference. So I hope that my metro connection will not be training Can someone confirm that I am displaying something? Yes, we see you screen. Okay, great So, uh, first of all, uh, I really appreciate having taken part of this hackathon I am not a jenkins developer or at least I wasn't until this week and I really thank the The the the other colleagues supporting me to be able to achieve such What I did the I am more a user So I'm being using jenkins for embedded software development on the automotive and the embedded stuff And over the last couple of years I have developed this easy jenki project that I'm showing on gtab And this week I took the chance of updating it to java 10 and this is what I've been I was able to to achieve and I have prepared a small script and but for the purpose of the That connection I will just try to run it again and so easy jenkins is Exactly like that. So just flown the repo easy jenkins and then run me and that's it So that forks a number of containers and As the end result you will get an url and an initial password to populate the The jenks so that there is a forward so far, but I said It was not easy for me at the beginning and I try to make it easy The the result you have Is the usual Jenkins based on java 10. So this is the experimental Snapshot that oleg made available earlier this week With a number of plugins including blue ocean and many other stuff that is able to support the embedded software development and so one one thing I will show you is For instance the the pipeline I've been running and the There are some demo pipeline. I used to validate the the installation So there is a small Android app They are running build on a container on a given Pdk that they used on these embedded targets. I've been using it's a kind of Raspberry Pi There is a subset of the jenny vdp platform Unfortunately, I have not enough volume on my local machine. So this build is breaking broken for the purpose But I will show on a more powerful machine. I have in the office that that actually works quite well So some html publisher some simple docker file and whatever. So I basically tried we try to test the the most important relevant plugins we have been using in our Real development we are doing in my work So not particularly. Thanks. Except that this is working and worked quite well after the initial fixes were made earlier this week And I was able to catch up. Thanks to the support of the of the people organizing this hackathon And I'm just verifying as you did earlier that I am really running the head of a tent Since Fast here Probably needs the right menu Okay, let's move to This machine. So I'm tallying link to ssh to the office. So this is the my jenny vdp plan So if someone has ever been familiar with the um jenny vdp, so this is an open source project for making linux and open source of data in vehicle infotainment. So this is the Let's take the gdp master. So the master branch of the Of the jenny demo image. It's built completely on sources the bootloader linux kernel a user land and many application Up to one of the four gigabytes binary It's about the 60 million line of code that are compiled around eight hours if I remember How long did it took? Let's just check Much it took during the the build so part of the challenge for me was to Wait until the the build was completed and it it brought us a couple of times during the week, but after the last iteration everything was Was good. So at the moment I have no broken builds except for One on the hosts that have not enough capacity So take this example. So the this was the complete stretch build that took about nine hours on a 8-core machine with 16 gigabytes of RAM So it's not for the faint of heart, but this is how we are building the real embedded software development in vehicle infotainment And for me, this is a non-trivial use case we put into Into test during this week. So I was really happy to see that There are no non regression at the moment by switching to java 10 to java 8 And Basically the end of it. So this is the my Say benchmark. So this machine is still running the lps on 2 1 2 1 1. So this is java 8 and I repeated the of course the same At my attempt was to run the same pipeline on java 10 as well and In a nutshell all the pipeline I succeeded to complete Work success And I plan to at the moment in the easy Jenkins to be um The java 10 branch is still in the in the branch. So I I have not yet decided to to move to master. I will keep working progress because probably I will do when the The The docker file will be stable. So at the moment I'm using the experimental branch on both the Day's docker image and a call of all of plugins. Namely the workflow support and Probably this is the only one Now this morning. I also try to work with the configuration as thought because For the use cases we are playing. It's really really helpful And this is the other things I will try to progress after the And if there are no questions, that's the end of my demo Okay, thank you. Yeah, it's really exciting to see that The demo not only runs, but it runs for so long. So the build which takes more than eight hours and everything flies Yeah, no previously this week. Some reported that there are some memory leaks in groovy Um Yeah, honestly the this machine was booted up just before running the stretch build and So I When we will put in production, we will double check there are no leaks But at least I was happy to be able to complete the the build from scratch in the pipeline with success Okay, that's great So does anybody has questions I said all the documentation and how to will be published here or I will probably publish a blog post on On what I did that the easy genesis is there and if there are any any good things to We very just Thank you and blog posts will be really appreciated. Okay, so I guess that's it. We saw this demo Let's continue I'm happy to throw in the last minute. I see them Sorry I'm happy to throw in a last minute jacks b demo. Okay, cool. So we'll do jacks b Um, I just got it working like a five minutes ago. So let's hope this is So I propose to let uh, davin and sam and jeff to talk about uh tooling and dev tools And that may be we can demo jacks b Okay Yeah, so there's a variety of problems we faced around tooling and dev tooling When we first started it was impossible to compile Jenkins Under java 10 And if I can I can grab my screen Oh, yeah I was just about showing slides, but yeah, you can do it as well. Actually, I didn't like that. I need to I need to drop five students. So I I promise I'll be very very rich. Do you think I could Okay, and then we will let uh present you first while sam prepares his environment Yeah, I'm It's very easy. So I can share the I'm sure the window Is that easy going off? I'm not sure what I There you go. Yeah So, you know, so the one of the pains what I saw as one of the pains of this java 9 10 support is we have to add This some extra common lines switch to do something. It's the jacks b stuff, right? That's on the kind of knowing for the users and I'm also knowing for the packaging So the little project that I think gone was to get you know, you moved on We have to We have to make like a one whole fix only to discover it didn't fly and then so then we have to do the fix all over again But the end result is if you run java 10 Like no special sit is necessary and then it's enter It's going to be up to Jenkins like no it does No, no class define errors. No nothingness And then it comes up and then the plugin that uses Jack speed um It works. I found some random plugins that's that does something to do is the rp and package people and then you verify that it works so That's kind of uh, yeah, that's kind of what this is about And just do the whole thing Um, if you look at so this is my thinking Oh I guess it's still starting Sometimes you need to refresh the page All right It's a new release and okay, you know what I think I want all I was going to do is just to just to show that the um, the Uh Yeah, but then Hey, I think I'm know what the the computer the whole is helping me to travel Um, so I guess you have to trust my word that the at least head in the middle screen You didn't see any plugin travel up to start which is kind of over the sign. So that's uh, let's see the Let's call it that and then I think I'm gonna like a hundred back to you before this table fails Mm-hmm Okay, uh, thanks for the presentation and once we have jacks be bundled we will be able to remove many custom guidelines and just Run a war file like it was again and it will be super cool for the adopters Yeah, okay. Thank you So sam All right, if you want to go ahead and jump to the slides, I guess we can kind of be overview Okay, um, do you want me to present to this slide? Yeah, go ahead and we'll show it. Okay Okay Yes, we see the the infinite recursion I think you may be in fact trying to divide by zero here. I hope not it happens too often dangerous Okay All right, so Uh, one of the key challenges we've faced, uh, we we're very lucky to get pipeline going initially Uh, without too much extra work beyond what was put in up front But we found that a lot of very basic things didn't work. So for example, it's It's impossible to build Jenkins directly with java 10 as the compiler A lot of the core plugins and Dev tooling as well will fail things like annotation processing um Things like code analysis static analysis Animal for the access modifier stuff all of these have kind of quarks in the way they behave um There's also things like differences in the way the module structure works that mean Uh, we need to start looking at the multi-release jars. Uh, so I won't go into too much detail in each of these, but Uh, Nicholas did some investigation on multi-release jars and put together a very useful blog post on that um A variety of different people have submitted fixes upstream for different tooling Ah, thank you Oleg and You'll permit me to present for a second. I will show you sort of the before and after building Jenkins and then what that means for plugins Okay, just a second Yeah matrix again Okay, so some just a second. Yeah Yep, your screen is visible to everyone Okay, so this is this is what happens when you initially attempt to build with um Build with java 10. I'm going to go to my demo branch now and And I'm going to start a build Uh, start a build Second We do not have support for I'm bugs this point due to due to the versions of source supported um Scripps at that Um, I'm trying to show the console because yep, um your screen of hanks in uh, intelligence ID Is it not showing it? Uh, yeah, it's showing only ID We see the CLI problem Very unfortunate. Okay, and let me uh, see if I can't sort that out Okay, excursion. Okay, so you should sorry I'll go back to master. It's all here. I'll show you the outcome So this is after applying a series of fixes to the palms and building on top of um, some of the initial Jenkins runtime fixes Uh, primarily fixing some broken annotation processing You can see it it builds and compiles successfully I'm not running tests right now. We do still have a few test failures And find bugs of course doesn't work with this version of the The system if I go back to our master branch though you can see that Oh, sorry. Wait. This is the wrong ID session. Let me go back to Jenkins core Here we go there we go that's that's what should look like You can see that this is building the original master branch before the changes you can see it it fails very quickly It doesn't even make it for the core plugin In fact, if I try to compile core Jenkins core You'll have to bear with me for just a second because I am still compiling a large project like Jenkins Even with a fast developer laptop, this will take a moment Yeah, you can see it bombs out very quickly and kind of uh Kind of brutally here trying to load At these annotation processing services So if I go to our demo branch which includes several upstreams, uh fixes to the tooling and dependency fixes And all of the secret sauce that's been going on in that branch Most of this is already merged to our upstream branch for java 10 Changes, uh, there's one pr still pending that I'm waiting to get merged You should be able to see the final result here in just a moment And I'll mention that this is also important for downstream plugins that we want to test for java 10 support because those Need to include a Jenkins core that has some of the fixes here Um, which is one of the things we needed to do for workflow support I'm gonna tab over here And show a little bit of that See we're using a snapshot builder Jenkins core that reflects more or less the changes what I've just done We've got most of our dev tooling already working here So there are still there are still some plates along the way one of one component of the build is not happy with something But overall Nothing builds This was the first few minutes and if you go to downstream plugins that are using that are picking up these changes we can now Um compile them they had an analogous error And run some of our tests. We still have a few few remaining test framework issues to sort out there you go No, I see we've got tests running We have some tests completing successfully already We have we do have some issues running tests with the ide one of the previous hacks to Resolve an issue with intelligence was was uh broken by some of the java 10 changes Um So that's there's a little bit of standing work still left to do there get fully fully up and running but Even the fact that we can get all of these tests running I think is further than we were expecting at the beginning of hack best Looks like what's what's left will be Manageable and you can see some of the tests still don't quite work. There's some issues with any unit. There's some issues with Looks like injected jelly tests. Um Some of the basic tests work so any other tests We're gonna go ahead and import it here We've come quite a ways there What's missing is all of the yelling and swearing that was that was required to get to this process Yeah, so we've had a lot of people working on this area. So it was a team working and yeah Nice to see these results All of us all of us ticked in in different areas Uh, everyone had something to offer and I think we we've made a lot more progress as a result of that Mm-hmm. Cool. Thank you So does anybody else want to present? Tracy if you do not mind I would like To ask you to talk about your first contributor experience so for Tracy it was An introduction to Jenkins development and yeah, it would be great to know her experience and experience of other contributors Yes, uh, yeah, and I can give a quick summary of um, just what we tried and what we learned this week So I was mostly testing out The docker container at first and that was nice because Oleg had set that up It was pretty straightforward to to run it and especially once pipelines Was running then to just go through and test it Um, and then on Wednesday was a main session We're invited uh, Jonah Graham to join in and we did some sort of pair programming round development Uh, so I guess the first thing was that yeah, it was just really straightforward to get set up with the dev environment Uh, Oleg did a good job on just giving us what to expect And we sort of took that and with the instructions on the web. It was very straightforward both to set up for individual plugins and also just get set up on core development See it. So that was the easy part um, then we started looking at issues that were sort of marked newbies And most of these were illegal reflective error bugs at first But I've come to the conclusion. There's no such thing as a newbie illegal reflective error issue We start looking at things and just realized that Well, it looked like it was likely we could just get rid of the use Of fine class or something. Um, it seemed like you really needed to have a deep understanding of the architecture or the intent when someone put it there so It wasn't necessarily going to be straightforward to just say oh, well This is what we think it should be and we can change it and and that will be that Um, yeah, so we ended up Um, starting to look at and I guess another example was something like dom4j where you could see there was a newer version Which avoids that warnings, but again Just going about trying to update the entire dom4j library in Jenkins just seemed like something we didn't want to A bit too ambitious for for this time maybe next time Um, so with that we went on looking at Things with is accessible and I found a couple of cases there. So jono was able to Delete some code from a plug-in which used which just looked like it wasn't really using that so make that warning free for java 10 and found another case where he could replace some more code with um, the process handle java 9 api that was introduced in java 9 And that was really nice because uh, I could see it worked on windows where the old code Wasn't um, it wouldn't have worked on windows. So the new api was much better Uh, having said that then it led to this whole issue of well, we can't just update to java 9 or java 10 apis Because we've got to have this multi jar issue solved Yeah, it's interesting just to sort of see how how that involved um, yeah, and then loads at the uh with the java a c folks and jigsaw folks I think it was interesting to hear um about the signal Because we looked at signal fixes as well and uh, yeah, I think it just makes sense that Java we have to provide a new library to replace that and it doesn't make sense to duplicate those Um, but yeah, overall it was a lot of fun Like the fact that everybody was doing things and it was progressing And certainly from my perspective, I hope it does become a regular thing Which does seem to be necessary just to keep up with the quick changes in java So yeah, looking forward to to the next one away. We won't be newbies as much Yeah, with regards to the next steps. Yeah, we have Jenkins vault events in autumn So likely we will be organizing something like hackathon there So if you come to these events reach out to us, maybe we'll set up some time to work On java 11 support maybe that time or maybe something else And yeah, it was a first Online hackathon experience for our project. I would say so yeah, we have a lot of things To consider for the next events and if you want to provide any feedback just Send it to us and we will be sending out a survey form to participants So if you have any feedback, please let us know we will try to take it into account Okay, so I guess That's it For today Unless somebody yeah one last thing. Um, I think I'd like to say yeah a big thank you to yourself oleg Just for pulling everything together And making us feel welcome And I think you've just been there for every day every session on hand to deal with people's issues So I think it just couldn't have gone as well as it did without the work and effort you put in So I'm going to ask everybody unmute your mics and let's give oleg a big round of applause if we can virtually So ready Thank you, uh, but uh, just to be honest, I wouldn't be able to do it alone So there was lots of prep work and tracy liam of who is unfortunately not on the call today They also helped us a lot to get it running. Then there were jankins contributors helping us with doing releases Uh, so yeah, it was a major community effort. We will do some population metrics, but it wasn't Just about like it was a huge community work. So I'm happy that there was a part of it First you hadn't said it. I know you're humble and spreading credit around oleg You you and liam did a really great job setting this up And I think having so much of the tooling and the environment ready to go and the instructions ready to go Made it possible to just focus on getting down to fixing things right off the bat and that made a huge difference for us And then made for a very effective hackathon, I thought And I mean even a large majority of the issues oleg had fixed by the time many of us got started. So Big thanks for that Yeah, it's an advantage of being in europe Okay, so thanks everybody for the feedback and yeah, thanks to everybody who contributed to this event Yep, it was a nice effort And yeah, I hope to see you again at such event or maybe In a few months, let's see Yeah, let's hope to meet soon It was really really good also for me, which was my first time as Joining the community in a more active role Okay, thank you john paul. It was really interesting to see This easy Jenkins project as well Actually, yeah, I've seen genievi project before sometimes several times, but yeah, it's great to see that there are some efforts on automation there Tracy is also from a hardware and embedded space. So Okay, uh, yeah, so yeah I guess Let's see. So let's try all projects we created and if you want to try Jenkins on java 10 Everything is available now. Everything is on opens is an open source, of course, and we will Try to integrate it and post new running guidelines And yeah, of course easy Jenkins and other demos will be also part of it So, yeah, thanks again And I am finally stopping the broadcast and enjoy your weekend all again to have some sleep Okay, thank you Thank you