Hi,
I noticed someone else talking about auto code formatting. Is there a house style? If so is there a recommend formatting tool (I'm currently using Vs code and vi to edit)?
Cheers Dave
Hi Dave,
I'm afraid I was the cause of the start of the discussion. I'm also using VS Code now, which has a built-in way to auto format the code (incl C++). Using the shortcut: Ctrl + Shift + I (capital i)
Yet there are otherwise, like clang auto formatter. Instead of using right away. We may need to discuss and agree as a community which tool we will use. And also which settings will be used, ideally be stored into the git repo (root folder), which then get picked up by the relevant tool.
In fact, I'm would like to go to next level, namely automated CI/CD. Which may include auto-formatter, other tools maybe like static code analysis (cppcheck), generation of documentation (from source code) and running testcases within a pipeline. Read my message #62 on bug report: https://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=1469#62
Ps. Where are the testcases? We may need to start creating (integration/unit) testcases to avoid regression issues when changing code.
Kind regards, Melroy van den Berg
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ Op woensdag, mei 20, 2020 1:23 AM, Dave Chamberlin-Kidd <dave@flamangoes.co.uk> schreef:
Hi,
I noticed someone else talking about auto code formatting. Is there a house style? If so is there a recommend formatting tool (I'm currently using Vs code and vi to edit)?
Cheers Dave
On Wed, May 20, 2020 at 5:20 PM Melroy van den Berg <melroy89@protonmail.com> wrote:
I'm afraid I was the cause of the start of the discussion. I'm also using VS Code now, which has a built-in way to auto format the code (incl C++). Using the shortcut: Ctrl + Shift + I (capital i)
Yet there are otherwise, like clang auto formatter. Instead of using right away. We may need to discuss and agree as a community which tool we will use. And also which settings will be used, ideally be stored into the git repo (root folder), which then get picked up by the relevant tool.
For Xorg they simply used a shell script that took care of a clean formatting, see e.g. here: https://github.com/XQuartz/xorg-server/commit/9838b7032ea9792bec21af424c53c0...
In fact, I'm would like to go to next level, namely automated CI/CD. Which may include auto-formatter, other tools maybe like static code analysis (cppcheck), generation of documentation (from source code) and running testcases within a pipeline.
Maybe Mihai and Mike#1 can explain what we already have here. IIRC there's jenkins server and there are nightly builds ("heuler" repos). For nx-libs we have some stuff on travis (including cppcheck) and on LGTM (non-working because it does not find the C sources for unknown reasons).
Read my message #62 on bug report: https://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=1469#62
Ps. Where are the testcases? We may need to start creating (integration/unit) testcases to avoid regression issues when changing code.
As always this is quite difficult to achieve for a client/server setup with interactive tools....
Uli
Hi Uli,
Thanks for the links to Xorg.
As always this is quite difficult to achieve for a client/server setup with interactive tools....
I don't agree. Unit testing is a test technique were you isolate the code from the rest of the context and create a stub/mock in place of that. This allows you you test pieces of your code (like a function) in isolation.
Moreover, when something is hard to test means that you may want to invest time in refactoring for test ability. Only for integration testcases between client & server you need to create a test approach, like you may want to mock the whole server side (if you want to test the client side).
But the important take away from this mail is that there are different levels of testing. Where unit testing in the first level and can easily be done.
Regards, Melroy van den Berg
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ Op woensdag, mei 20, 2020 5:44 PM, Ulrich Sibiller <ulrich.sibiller@gmail.com> schreef:
On Wed, May 20, 2020 at 5:20 PM Melroy van den Berg melroy89@protonmail.com wrote:
I'm afraid I was the cause of the start of the discussion. I'm also using VS Code now, which has a built-in way to auto format the code (incl C++). Using the shortcut: Ctrl + Shift + I (capital i) Yet there are otherwise, like clang auto formatter. Instead of using right away. We may need to discuss and agree as a community which tool we will use. And also which settings will be used, ideally be stored into the git repo (root folder), which then get picked up by the relevant tool.
For Xorg they simply used a shell script that took care of a clean formatting, see e.g. here: https://github.com/XQuartz/xorg-server/commit/9838b7032ea9792bec21af424c53c0...
In fact, I'm would like to go to next level, namely automated CI/CD. Which may include auto-formatter, other tools maybe like static code analysis (cppcheck), generation of documentation (from source code) and running testcases within a pipeline.
Maybe Mihai and Mike#1 can explain what we already have here. IIRC there's jenkins server and there are nightly builds ("heuler" repos). For nx-libs we have some stuff on travis (including cppcheck) and on LGTM (non-working because it does not find the C sources for unknown reasons).
Read my message #62 on bug report: https://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=1469#62 Ps. Where are the testcases? We may need to start creating (integration/unit) testcases to avoid regression issues when changing code.
As always this is quite difficult to achieve for a client/server setup with interactive tools....
Uli
Yeah, that's right. But I was referring to session start, ssh stuff and interactive user input.
Uli
Melroy van den Berg <melroy89@protonmail.com> schrieb am Mi., 20. Mai 2020, 18:32:
Hi Uli,
Thanks for the links to Xorg.
As always this is quite difficult to achieve for a client/server setup with interactive tools....
I don't agree. Unit testing is a test technique were you isolate the code from the rest of the context and create a stub/mock in place of that. This allows you you test pieces of your code (like a function) in isolation.
Moreover, when something is hard to test means that you may want to invest time in refactoring for test ability. Only for integration testcases between client & server you need to create a test approach, like you may want to mock the whole server side (if you want to test the client side).
But the important take away from this mail is that there are different levels of testing. Where unit testing in the first level and can easily be done.
Regards, Melroy van den Berg
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ Op woensdag, mei 20, 2020 5:44 PM, Ulrich Sibiller < ulrich.sibiller@gmail.com> schreef:
On Wed, May 20, 2020 at 5:20 PM Melroy van den Berg melroy89@protonmail.com wrote:
I'm afraid I was the cause of the start of the discussion. I'm also using VS Code now, which has a built-in way to auto format the code (incl C++). Using the shortcut: Ctrl + Shift + I (capital i) Yet there are otherwise, like clang auto formatter. Instead of using right away. We may need to discuss and agree as a community which tool we will use. And also which settings will be used, ideally be stored into the git repo (root folder), which then get picked up by the relevant tool.
For Xorg they simply used a shell script that took care of a clean formatting, see e.g. here:
https://github.com/XQuartz/xorg-server/commit/9838b7032ea9792bec21af424c53c0...
In fact, I'm would like to go to next level, namely automated CI/CD.
Which may include auto-formatter, other tools maybe like static code analysis (cppcheck), generation of documentation (from source code) and running testcases within a pipeline.
Maybe Mihai and Mike#1 can explain what we already have here. IIRC there's jenkins server and there are nightly builds ("heuler" repos). For nx-libs we have some stuff on travis (including cppcheck) and on LGTM (non-working because it does not find the C sources for unknown reasons).
Read my message #62 on bug report:
https://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=1469#62
Ps. Where are the testcases? We may need to start creating (integration/unit) testcases to avoid regression issues when changing code.
As always this is quite difficult to achieve for a client/server setup with interactive tools....
Uli
Am 20.05.20 um 22:09 schrieb Ulrich Sibiller:
Yeah, that's right. But I was referring to session start, ssh stuff and interactive user input.
Actually, I could imagine setting up something that starts X2GoClient, starts a session, fakes some user input and then takes a screenshot of the remote screen and compares it to a reference image.
This would need some demo application that always looks the same, so we don't get false alerts from e.g. LibreOffice changing the default button design. But some text fields would be nice, so we could also test copy-pasting.
No idea how to do that on a Mac, but for Linux (xdotool) and Windows (AutoIt), I think it's doable, given we find (or code) a suitable reference GUI application for the test.
-Stefan
-- BAUR-ITCS UG (haftungsbeschränkt) Geschäftsführer: Stefan Baur Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364 Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243
Indeed Stefan! XFCE has even a docker image for their testing, check it out: https://hub.docker.com/r/schuellerf/xfce-test They capture actually a whole video and automatically post that on a YT channel: https://www.youtube.com/user/schuellerf/videos
I found that fascinating.
But maybe X2Go should first start creating unit testcases :P? Which should be the bare minimum in my opinion. As well as some automated pipeline triggering these kind of tests and other checks. Which should be part of the development cycle.
Regards, Melroy van den Berg
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ Op woensdag, mei 20, 2020 10:33 PM, Stefan Baur <X2Go-ML-1@baur-itcs.de> schreef:
Am 20.05.20 um 22:09 schrieb Ulrich Sibiller:
Yeah, that's right. But I was referring to session start, ssh stuff and interactive user input.
Actually, I could imagine setting up something that starts X2GoClient, starts a session, fakes some user input and then takes a screenshot of the remote screen and compares it to a reference image.
This would need some demo application that always looks the same, so we don't get false alerts from e.g. LibreOffice changing the default button design. But some text fields would be nice, so we could also test copy-pasting.
No idea how to do that on a Mac, but for Linux (xdotool) and Windows (AutoIt), I think it's doable, given we find (or code) a suitable reference GUI application for the test.
-Stefan
BAUR-ITCS UG (haftungsbeschränkt) Geschäftsführer: Stefan Baur Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364 Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243
x2go-dev mailing list x2go-dev@lists.x2go.org https://lists.x2go.org/listinfo/x2go-dev
On Do 21 Mai 2020 01:59:24 CEST, Melroy van den Berg wrote:
But maybe X2Go should first start creating unit testcases :P? Which
should be the bare minimum in my opinion. As well as some automated pipeline triggering these kind of tests
and other checks. Which should be part of the development cycle.
I agree on this. Unit tests should come first. They will provide a lot
of coverage, already.
With the video recorded session start tests, we will get a lot of
noise from changes in desktop environments and other third party
components that X2Go sits on top of. We may not even want to test this
automatically. Dunno...
DAS-NETZWERKTEAM c\o Technik- und Ökologiezentrum Eckernförde Mike Gabriel, Marienthaler Str. 17, 24340 Eckernförde mobile: +49 (1520) 1976 148 landline: +49 (4351) 850 8940
GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22 0782 9AF4 6B30 2577 1B31 mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
Am 21.05.20 um 08:28 schrieb Mike Gabriel:
With the video recorded session start tests, we will get a lot of noise from changes in desktop environments and other third party components that X2Go sits on top of. We may not even want to test this automatically. Dunno...
That's why I said we need a reference GUI app that doesn't randomly change. So either something simplistic that already exists, or someting specially crafted for this purpose.
Run OpenBox or another "simple" window manager, no task bar (else the clock or some status popups will trigger a "this doesn't match"), run the test robot, take a screenshot, compare to template.
-Stefan
-- BAUR-ITCS UG (haftungsbeschränkt) Geschäftsführer: Stefan Baur Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364 Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243
Whatever test facilities are good and are very important. The problem is, to create them we need resources. No one of my customers wants to pay for it. Anyway, I'm concentrated on the features development. So whoever is willing to create such tests is very welcome.
Alex
Am 21.05.20 um 03:14 schrieb Stefan Baur:
Am 21.05.20 um 08:28 schrieb Mike Gabriel:
With the video recorded session start tests, we will get a lot of noise from changes in desktop environments and other third party components that X2Go sits on top of. We may not even want to test this automatically. Dunno...
That's why I said we need a reference GUI app that doesn't randomly change. So either something simplistic that already exists, or someting specially crafted for this purpose.
Run OpenBox or another "simple" window manager, no task bar (else the clock or some status popups will trigger a "this doesn't match"), run the test robot, take a screenshot, compare to template.
-Stefan
x2go-dev mailing list x2go-dev@lists.x2go.org https://lists.x2go.org/listinfo/x2go-dev
Oleksandr Shneyder | Email: o.shneyder@phoca-gmbh.de phoca GmbH | Tel. : 0911 - 14870374 0 Schleiermacherstr. 2 | Fax. : 0911 - 14870374 9 D-90491 Nürnberg | Mobil: 0163 - 49 64 461
Geschäftsführung: Dipl.-Inf. Oleksandr Shneyder
Hi Alex,
Ah, you have paying customers?
Testing is part of the development cycle. Meaning you code production code with your left hand. And write test cases with your right hand. From the customer perspective there is no such choice to implement a feature without tests. It's either a new feature with test cases, proper review, and static code analysis, etc. Or they have nothing.
I don't want to be rude, but it's a mindset change. Hopefully you get my point. The same is done in all my projects and the company I work for.
Best regards, Melroy van den Berg
-------- Original Message -------- On May 21, 2020, 16:22, Oleksandr Shneyder wrote:
Whatever test facilities are good and are very important. The problem is, to create them we need resources. No one of my customers wants to pay for it. Anyway, I'm concentrated on the features development. So whoever is willing to create such tests is very welcome.
Alex
Am 21.05.20 um 03:14 schrieb Stefan Baur:
Am 21.05.20 um 08:28 schrieb Mike Gabriel:
With the video recorded session start tests, we will get a lot of noise from changes in desktop environments and other third party components that X2Go sits on top of. We may not even want to test this automatically. Dunno...
That's why I said we need a reference GUI app that doesn't randomly change. So either something simplistic that already exists, or someting specially crafted for this purpose.
Run OpenBox or another "simple" window manager, no task bar (else the clock or some status popups will trigger a "this doesn't match"), run the test robot, take a screenshot, compare to template.
-Stefan
x2go-dev mailing list x2go-dev@lists.x2go.org https://lists.x2go.org/listinfo/x2go-dev
--
Oleksandr Shneyder | Email: o.shneyder@phoca-gmbh.de phoca GmbH | Tel. : 0911 - 14870374 0 Schleiermacherstr. 2 | Fax. : 0911 - 14870374 9 D-90491 Nürnberg | Mobil: 0163 - 49 64 461
Geschäftsführung: Dipl.-Inf. Oleksandr Shneyder
Amtsgericht München | http://www.phoca-gmbh.de HRB 196 658 | http://www.x2go.org USt-IdNr.: DE281977973
x2go-dev mailing list x2go-dev@lists.x2go.org https://lists.x2go.org/listinfo/x2go-dev
Well, there are a lot of different ways to do everything in this life. The way I'm doing, works at the moment well for me and for X2Go as well since about 10 years. I didn't tell, that there is nothing which could be improved. Every one knows, that we need a test facility, but no one is doing this. So, if you want to use the project for your purposes and you want to give something back, everyone here will appreciate your commitment. Just think before you are starting to do something here if you'll want to bring it to the end. We had so many people here, who were talking a lot, but didn't do anything at the end, just wasted everyone's time. The things you are saying are right, but believe me, you didn't say anything that we didn't know before. So, to the point, if you'll create a test facility for X2Go, I think everyone will be thankful to you for that. We also appreciate your thoughts, but the actions we are appreciating even more.
regards Alex
Am 21.05.20 um 09:57 schrieb Melroy van den Berg:
Hi Alex,
Ah, you have paying customers?
Testing is part of the development cycle. Meaning you code production code with your left hand. And write test cases with your right hand. From the customer perspective there is no such choice to implement a feature without tests. It's either a new feature with test cases, proper review, and static code analysis, etc. Or they have nothing.
I don't want to be rude, but it's a mindset change. Hopefully you get my point. The same is done in all my projects and the company I work for.
Best regards, Melroy van den Berg
-------- Original Message -------- On May 21, 2020, 16:22, Oleksandr Shneyder < o.shneyder@phoca-gmbh.de> wrote:
Whatever test facilities are good and are very important. The problem is, to create them we need resources. No one of my customers wants to pay for it. Anyway, I'm concentrated on the features development. So whoever is willing to create such tests is very welcome. Alex Am 21.05.20 um 03:14 schrieb Stefan Baur: > Am 21.05.20 um 08:28 schrieb Mike Gabriel: >> >> With the video recorded session start tests, we will get a lot of noise >> from changes in desktop environments and other third party components >> that X2Go sits on top of. We may not even want to test this >> automatically. Dunno... > > That's why I said we need a reference GUI app that doesn't randomly > change. So either something simplistic that already exists, or someting > specially crafted for this purpose. > > Run OpenBox or another "simple" window manager, no task bar (else the > clock or some status popups will trigger a "this doesn't match"), run > the test robot, take a screenshot, compare to template. > > -Stefan > > > _______________________________________________ > x2go-dev mailing list > x2go-dev@lists.x2go.org > https://lists.x2go.org/listinfo/x2go-dev > -- ----------------------------------------------------------- Oleksandr Shneyder | Email: o.shneyder@phoca-gmbh.de phoca GmbH | Tel. : 0911 - 14870374 0 Schleiermacherstr. 2 | Fax. : 0911 - 14870374 9 D-90491 Nürnberg | Mobil: 0163 - 49 64 461 Geschäftsführung: Dipl.-Inf. Oleksandr Shneyder Amtsgericht München | http://www.phoca-gmbh.de HRB 196 658 | http://www.x2go.org USt-IdNr.: DE281977973 ----------------------------------------------------------- _______________________________________________ x2go-dev mailing list x2go-dev@lists.x2go.org https://lists.x2go.org/listinfo/x2go-dev
Oleksandr Shneyder | Email: o.shneyder@phoca-gmbh.de phoca GmbH | Tel. : 0911 - 14870374 0 Schleiermacherstr. 2 | Fax. : 0911 - 14870374 9 D-90491 Nürnberg | Mobil: 0163 - 49 64 461
Geschäftsführung: Dipl.-Inf. Oleksandr Shneyder
OK in that case. Let's go actions. Since I think everybody agrees.
Mike also discussed other platforms like Gitlab. Which I think is a good enabler. I'm able to help you with setting up your own gitlab server for example (like I did for myself: https://gitlab.melroy.org). Somebody said there was a Jenkins server.
My question would be: which kind of server can I use to setup such kind of infrastructure? Is there something arranged within X2Go? I love to help, but you need some machines to execute it. Or has somebody some vm in the cloud?
If I have root access to such a machine, I can start. Also dns records etc.
Kind regards, Melroy van den Berg
-------- Original Message -------- On May 21, 2020, 17:38, Oleksandr Shneyder wrote:
Well, there are a lot of different ways to do everything in this life. The way I'm doing, works at the moment well for me and for X2Go as well since about 10 years. I didn't tell, that there is nothing which could be improved. Every one knows, that we need a test facility, but no one is doing this. So, if you want to use the project for your purposes and you want to give something back, everyone here will appreciate your commitment. Just think before you are starting to do something here if you'll want to bring it to the end. We had so many people here, who were talking a lot, but didn't do anything at the end, just wasted everyone's time. The things you are saying are right, but believe me, you didn't say anything that we didn't know before. So, to the point, if you'll create a test facility for X2Go, I think everyone will be thankful to you for that. We also appreciate your thoughts, but the actions we are appreciating even more.
regards Alex
Am 21.05.20 um 09:57 schrieb Melroy van den Berg:
Hi Alex,
Ah, you have paying customers?
Testing is part of the development cycle. Meaning you code production code with your left hand. And write test cases with your right hand. From the customer perspective there is no such choice to implement a feature without tests. It's either a new feature with test cases, proper review, and static code analysis, etc. Or they have nothing.
I don't want to be rude, but it's a mindset change. Hopefully you get my point. The same is done in all my projects and the company I work for.
Best regards, Melroy van den Berg
-------- Original Message -------- On May 21, 2020, 16:22, Oleksandr Shneyder < o.shneyder@phoca-gmbh.de> wrote:
Whatever test facilities are good and are very important. The problem is, to create them we need resources. No one of my customers wants to pay for it. Anyway, I'm concentrated on the features development. So whoever is willing to create such tests is very welcome.
Alex
Am 21.05.20 um 03:14 schrieb Stefan Baur:
Am 21.05.20 um 08:28 schrieb Mike Gabriel:
With the video recorded session start tests, we will get a lot of
noise
from changes in desktop environments and other third party components that X2Go sits on top of. We may not even want to test this automatically. Dunno...
That's why I said we need a reference GUI app that doesn't randomly change. So either something simplistic that already exists, or someting specially crafted for this purpose.
Run OpenBox or another "simple" window manager, no task bar (else the clock or some status popups will trigger a "this doesn't match"), run the test robot, take a screenshot, compare to template.
-Stefan
x2go-dev mailing list x2go-dev@lists.x2go.org https://lists.x2go.org/listinfo/x2go-dev
--
Oleksandr Shneyder | Email: o.shneyder@phoca-gmbh.de phoca GmbH | Tel. : 0911 - 14870374 0 Schleiermacherstr. 2 | Fax. : 0911 - 14870374 9 D-90491 Nürnberg | Mobil: 0163 - 49 64 461
Geschäftsführung: Dipl.-Inf. Oleksandr Shneyder
Amtsgericht München | http://www.phoca-gmbh.de HRB 196 658 | http://www.x2go.org USt-IdNr.: DE281977973
x2go-dev mailing list x2go-dev@lists.x2go.org https://lists.x2go.org/listinfo/x2go-dev
--
Oleksandr Shneyder | Email: o.shneyder@phoca-gmbh.de phoca GmbH | Tel. : 0911 - 14870374 0 Schleiermacherstr. 2 | Fax. : 0911 - 14870374 9 D-90491 Nürnberg | Mobil: 0163 - 49 64 461
Geschäftsführung: Dipl.-Inf. Oleksandr Shneyder
Amtsgericht München | http://www.phoca-gmbh.de HRB 196 658 | http://www.x2go.org USt-IdNr.: DE281977973
x2go-dev mailing list x2go-dev@lists.x2go.org https://lists.x2go.org/listinfo/x2go-dev
Hi Melroy,
Am 21.05.20 um 17:57 schrieb Melroy van den Berg:
OK in that case. Let's go actions. Since I think everybody agrees.
Mike also discussed other platforms like Gitlab. Which I think is a good enabler. I'm able to help you with setting up your own gitlab server for example (like I did for myself: https://gitlab.melroy.org). Somebody said there was a Jenkins server.
My question would be: which kind of server can I use to setup such kind of infrastructure? Is there something arranged within X2Go? I love to help, but you need some machines to execute it. Or has somebody some vm in the cloud?
If I have root access to such a machine, I can start. Also dns records etc.
First of all: Thanks for volunteering! I'm horribly behind on replying to E-Mails here lately ... :-/
We are looking at setting up an LXC instance with Debian 10 for you. During the install phase, you will only be able to reach the container via NAT+Portforwarding; once everything is up and running, we'll switch over to a public IP. (At least that's our plan for now.)
The reason behind this is that we should have enough free resources on the LXC host to provide you with such a container at no extra cost, but the additional public IP will cost us money, so we need to discuss who will be paying for it first.
Mike#1, Juri and Mihai will be working "behind the scenes" to get this prepared for you.
One caveat is that we will have to live with the current bug tracker for a while (because of $REASONS), so the first step is gitlab + tie-in with debbugs, rather than the gitlab issue tracker. Once everything is running smoothly, we can look at which option works best for us (using the gitlab issue tracker vs. using a third-party issue tracker that is fully supported by gitlab; migrating bugs from debbugs or not, ...).
-Stefan X2Go Project/Community Manager
-- BAUR-ITCS UG (haftungsbeschränkt) Geschäftsführer: Stefan Baur Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364 Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243
Hi Melroy,
On Do 21 Mai 2020 17:57:02 CEST, Melroy van den Berg wrote:
OK in that case. Let's go actions. Since I think everybody agrees.
Mike also discussed other platforms like Gitlab. Which I think is a
good enabler. I'm able to help you with setting up your own gitlab
server for example (like I did for myself:
https://gitlab.melroy.org). Somebody said there was a Jenkins server.My question would be: which kind of server can I use to setup such
kind of infrastructure? Is there something arranged within X2Go? I
love to help, but you need some machines to execute it. Or has
somebody some vm in the cloud?If I have root access to such a machine, I can start. Also dns records etc.
just a short HEADs up. An available VM Host is being prepared tonight
(at least, Juri promised that). A VM (LXC) will be deployed on that
host after that, providing a Debian 10 system.
I'd suggest doing an Omnibus-DEB installation of GitLab on that
machine then. Public IPv4 and IPv6 will be available for you to deploy
GitLab directly to the internet.
I'll ping you with more info, when available. Please send your SSH
pubkey to me privately, so that I already have that.
DAS-NETZWERKTEAM c\o Technik- und Ökologiezentrum Eckernförde Mike Gabriel, Marienthaler Str. 17, 24340 Eckernförde mobile: +49 (1520) 1976 148 landline: +49 (4351) 850 8940
GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22 0782 9AF4 6B30 2577 1B31 mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
Hi Juri/Mike,
Please let me know where you have any update regarding the VM host with Debian Buster.
I'm also running a omnibus installation myself, which is indeed the most logical choice.
I also found the option to use docker container of omnibus, instead of using the deb installation in the Debian VM. See docker hub: https://hub.docker.com/r/gitlab/gitlab-ce/ And readme: https://gitlab.com/gitlab-org/omnibus-gitlab/-/blob/master/doc/docker/README...
Disclaimer: I don't know the performance impact of using docker image as the GitLab instance vs directly running it on the VM.
But I can imagine an upgrade will be easier by pulling a new docker image from a new tag vs APT, etc.
Kind regards, Melroy van den Berg
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ Op dinsdag, mei 26, 2020 12:02 AM, Mike Gabriel <mike.gabriel@das-netzwerkteam.de> schreef:
Hi Melroy,
On Do 21 Mai 2020 17:57:02 CEST, Melroy van den Berg wrote:
OK in that case. Let's go actions. Since I think everybody agrees. Mike also discussed other platforms like Gitlab. Which I think is a > good enabler. I'm able to help you with setting up your own gitlab > server for example (like I did for myself: > https://gitlab.melroy.org). Somebody said there was a Jenkins server. My question would be: which kind of server can I use to setup such > kind of infrastructure? Is there something arranged within X2Go? I > love to help, but you need some machines to execute it. Or has > somebody some vm in the cloud? If I have root access to such a machine, I can start. Also dns records etc.
just a short HEADs up. An available VM Host is being prepared tonight (at least, Juri promised that). A VM (LXC) will be deployed on that host after that, providing a Debian 10 system.
I'd suggest doing an Omnibus-DEB installation of GitLab on that machine then. Public IPv4 and IPv6 will be available for you to deploy GitLab directly to the internet.
I'll ping you with more info, when available. Please send your SSH pubkey to me privately, so that I already have that.
Greets, Mike
DAS-NETZWERKTEAM c\o Technik- und Ökologiezentrum Eckernförde Mike Gabriel, Marienthaler Str. 17, 24340 Eckernförde mobile: +49 (1520) 1976 148 landline: +49 (4351) 850 8940
GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22 0782 9AF4 6B30 2577 1B31 mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
Hi Melroy,
On Sa 30 Mai 2020 01:16:46 CEST, Melroy van den Berg wrote:
Hi Juri/Mike,
Please let me know where you have any update regarding the VM host
with Debian Buster.I'm also running a omnibus installation myself, which is indeed the
most logical choice.I also found the option to use docker container of omnibus, instead
of using the deb installation in the Debian VM. See docker hub: https://hub.docker.com/r/gitlab/gitlab-ce/ And readme:
https://gitlab.com/gitlab-org/omnibus-gitlab/-/blob/master/doc/docker/README...Disclaimer: I don't know the performance impact of using docker
image as the GitLab instance vs directly running it on the VM.But I can imagine an upgrade will be easier by pulling a new docker
image from a new tag vs APT, etc.Kind regards, Melroy van den Berg
I'll grant you access to that VM tomorrow. Juri has created it. I want
to double check its state before letting you in.
Please don't wrap an extra docker around the Omnibus DEB. That's what
the LXC container is for already.
DAS-NETZWERKTEAM c\o Technik- und Ökologiezentrum Eckernförde Mike Gabriel, Marienthaler Str. 17, 24340 Eckernförde mobile: +49 (1520) 1976 148 landline: +49 (4351) 850 8940
GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22 0782 9AF4 6B30 2577 1B31 mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
Hi Melroy,
On Do 21 Mai 2020 16:57:06 CEST, Melroy van den Berg wrote:
Ah, you have paying customers?
Yes, there are paying customers for X2Go, but booking is done for
specific tasks, new features, etc. For X2Go Broker, I provide unit
tests along patchwork, but X2Go Broker has unit tests from day one.
Testing is part of the development cycle. Meaning you code
production code with your left hand. And write test cases with your
right hand. From the customer perspective there is no such choice to
implement a feature without tests. It's either a new feature with
test cases, proper review, and static code analysis, etc. Or they
have nothing.
This is all very easy, if you started with such a development design
from day one. That's why I recommended to introduce unit tests to
libx2goclient (we are at day 1.5 regarding this shared lib).
Introducing unit tests is painful on existing code, esp. if as
comprehensive as X2Go Client.
In X2Go, like in many other upstream projects, we have to prioritize.
And priority goes in providing continuous compatibility with all those
changes that occur out their (DBus user session concept of systemd,
desktop environment changes, window manager changes, etc.).
I don't want to be rude, but it's a mindset change. Hopefully you
get my point. The same is done in all my projects and the company I
work for.
You, in fact, sounded a little rude to me, indeed. However, I get your
point and ideas behind it. If you mean what you write, please follow
Alex position and start join the work. I am looking forward to your
upcoming contributions.
DAS-NETZWERKTEAM c\o Technik- und Ökologiezentrum Eckernförde Mike Gabriel, Marienthaler Str. 17, 24340 Eckernförde mobile: +49 (1520) 1976 148 landline: +49 (4351) 850 8940
GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22 0782 9AF4 6B30 2577 1B31 mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
Hi Melroy,
On Mi 20 Mai 2020 17:19:50 CEST, Melroy van den Berg wrote:
Ps. Where are the testcases? We may need to start creating
(integration/unit) testcases to avoid regression issues when
changing code.
Most of the X2Go code components have been developed without unit
tests. I can only speak for Python X2Go and X2Go Broker (as they are
"my" projects).
When I started Python X2Go, I was a Python newby and did not know what
unit tests were. Several times in the past I though, how cool it would
have been to do atomic unit tests on code changes. It would have saved
my a lot of trouble.
For X2Go Broker, I set up unit tests and several features (not full
coverage, I guess) get tested and when I added new code, I offered 1-2
unit tests with the code. However, checking full test coverage via a
CI might be the next step here, too.
The problem is: where to start. I would _not_ start a CI test scenario
where an X2Go client starts a session on some X2Go server and
everything gets video recorded and analysed. This is skipping a step.
One starting point could be:
libx2goclient (gtest based unit tests or similar) x2gothinclient (chroot setup of TCE) x2go-live (chroot setup of X2Go Live Image) x2goserver (start adding unit tests from scratch, in retrospective)
For libx2goclient, the unit tests can run at package build time. This
can happen on the Jenkins server, we already have anyway.
The chroot setup tests must run in containers or VMs, I guess. For
this we need a CI worker and a Git interaction that triggers those.
This is awkward with the current state of the Git server (git push via
SSH login on a plain file system).
Thus, one other first step would be e.g. a GitLab (or whatever Git
web-based platform) setup. One that supports integrations of CI workers.
As you sound pretty enthusiastic about helping out with X2Go, be
prepared to put time in any of the above tasks (or any other related
task) without much man power coming along to assist you (because we
are all lacking time, due to family life, work life, etc.).
However, I can offer expertise and background knowledge on X2Go
development and the underlying communication between client and
server, etc. If you want a quicker reply from me, put me in Cc: of
your mails to the list (but don't drop the list from Cc:!!!).
Thanks + Greets, Mike
--
DAS-NETZWERKTEAM c\o Technik- und Ökologiezentrum Eckernförde Mike Gabriel, Marienthaler Str. 17, 24340 Eckernförde mobile: +49 (1520) 1976 148 landline: +49 (4351) 850 8940
GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22 0782 9AF4 6B30 2577 1B31 mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de