OpenMarine
Openplotter CI like CircleCI or other - Printable Version

+- OpenMarine (https://forum.openmarine.net)
+-- Forum: OpenPlotter (https://forum.openmarine.net/forumdisplay.php?fid=1)
+--- Forum: General discussion (https://forum.openmarine.net/forumdisplay.php?fid=2)
+--- Thread: Openplotter CI like CircleCI or other (/showthread.php?tid=3039)



Openplotter CI like CircleCI or other - mgrouch - 2020-10-26

Why doesn’t openplotter uses CI like CircleCI or some other
for continuous builds? It’s easy to set up and
especially now that Openplotter is going to target multiple 
platforms like arm32, arm64 and Ubuntu on
the same architectures, and possibly Intel based
distributions it’s very important to have CI 
system in place. 

Thanks


RE: Openplotter CI like CircleCI or other - CapnKernel - 2020-10-26

(2020-10-26, 05:22 AM)mgrouch Wrote: Why doesn’t openplotter uses CI like CircleCI or some other
for continuous builds? It’s easy to set up

That's a great idea!  Please let us know when you have set it up, and that you'll continue to maintain it.


RE: Openplotter CI like CircleCI or other - Sailoog - 2020-10-27

I may not have understood you but I do not see any advantage of using a CI here. Are you talking about openplotter code or openplotter images? any example?


RE: Openplotter CI like CircleCI or other - mgrouch - 2020-10-28

(2020-10-27, 07:59 PM)Sailoog Wrote: I may not have understood you but I do not see any advantage of using a CI here. Are you talking about openplotter code or openplotter images? any example?

Both. Here is example for building 
the distribution 
https://github.com/bareboat-necessities/lysmarine_gen


https://github.com/bareboat-necessities/lysmarine_gen/tree/master/.circleci

And here is an example of building
https://github.com/bareboat-necessities/OpenCPN/tree/master/.circleci


RE: Openplotter CI like CircleCI or other - Sailoog - 2020-10-28

OK you mean openplotter images. I see some problems on that way...

After some years of openplotter development we have learned some lessons. The most important thing to avoid is having too much food on your plate to be able to crate a stable system. If I am not wrong what lysmarine has done is completely rewritten the pi-gen script from raspberry. That is the script used to generate Raspberry OS images (current 32 bit and future 64 bit). Re-written this script is only justified if you want to support multiple boards or multiple Debian derivatives and that is really great but maintaining multiple distributions is a huge task. Raspberry team is set by 62 contributors, some of them full time, just to maintain Raspberry OS.

We decided to focus only on distributing a complete openplotter system on Raspberry OS based on the current openmarine dev team resources. That will allow us to focus on openplotter features and we have just to make sure openplotter apps work on Raspberry OS and on most used Debian derivatives like Ubuntu. Raspberry and Ubuntu dev teams will do the hard work for us.

In other words, we already have a CI and its name is pi-gen. Where we just have to add openplotter packages. The plan is having a dedicated server to build openplotter images for raspberry nightly but we will wait for the Raspbian OS 64 bits version to set it because there are still some issues to fix.

Do not get me wrong, your work looks amazing but it is also scary.


RE: Openplotter CI like CircleCI or other - mgrouch - 2020-10-28

(2020-10-28, 11:54 AM)Sailoog Wrote: OK you mean openplotter images. I see some problems on that way...

After some years of openplotter development we have learned some lessons. The most important thing to avoid is having too much food on your plate to be able to crate a stable system. If I am not wrong what lysmarine has  done is completely rewritten the pi-gen script from raspberry. That is the script used to generate Raspberry OS images (current 32 bit and future 64 bit). Re-written this script is only justified if you want to support multiple boards or multiple Debian derivatives and that is really great but maintaining multiple distributions is a huge task. Raspberry team is set by 62 contributors, some of them full time, just to maintain Raspberry OS.

We decided to focus only on distributing a complete openplotter system on Raspberry OS based on the current openmarine dev team resources. That will allow us to focus on openplotter features and we have just to make sure openplotter apps work on Raspberry OS and on most used Debian derivatives like Ubuntu. Raspberry and Ubuntu dev teams will do the hard work for us.

In other words, we already have a CI and its name is pi-gen. Where we just have to add openplotter packages. The plan is having a dedicated server to build openplotter images for raspberry nightly but we will wait for the Raspbian OS 64 bits version to set it because there are still some issues to fix.

Do not get me wrong, your work looks amazing but it is also scary.

I was trying to show you that you do not need dedicated
server and hardware. You can set up nightly build for free already 
and deploy packages and image to cloudsmith for free. 
Those were examples of how to create it for arm32 and arm64. 
You can run pi-gen this way.