Automated Build
Forum rules
Warning !
Avoid using binary softwares from untrusted users.
Prefer compiling it yourself and verify sources.
Warning !
Avoid using binary softwares from untrusted users.
Prefer compiling it yourself and verify sources.
-
- Posts: 801
- Joined: Sun Aug 18, 2013 8:26 pm
- os: mac
Automated Build
I would really like to see a better build system for the various Namecoin projects (things are rarely compileed for linux, win32, and OS X at the same time, I've had even the 32-bit Linux binaries fail on me, etc). I'm willing to provide OS X, Linux, and Windows build machines/slaves if someone is willing to setup the build infrastructure...
Does anyone know of any services which can automated distributin to the major package managers (RPM/Fedora/CentOS, dpkg/Debian/Ubuntu, MacPorts/Homebrew/OS X, etc)?
Does anyone know of any services which can automated distributin to the major package managers (RPM/Fedora/CentOS, dpkg/Debian/Ubuntu, MacPorts/Homebrew/OS X, etc)?
DNS is much more than a key->value datastore.
Re: Automated Build
Good initiative.
First we would need autotools implemented and then there are various ways to build the different OS packages ...
First we would need autotools implemented and then there are various ways to build the different OS packages ...
Re: Automated Build
Check the open build service (see my signature). It supports various linux distros. Mac&Windows will probably be more difficult.indolering wrote:Does anyone know of any services which can automated distributin to the major package managers (RPM/Fedora/CentOS, dpkg/Debian/Ubuntu, MacPorts/Homebrew/OS X, etc)?
-
- Posts: 801
- Joined: Sun Aug 18, 2013 8:26 pm
- os: mac
Re: Automated Build
I was just looking into that and this is exactly what we need. Can you get the packages included in the Ubuntu, Fedora, and CentOS distros? It would make setting up Namecoin much, much easier!pmc wrote:Check the open build service (see my signature). It supports various linux distros. Mac&Windows will probably be more difficult.
Mac and Windows aren't as big of a deal. Having something in Macports would be a cherry but users on either platform are primarily going to want GUIs.
DNS is much more than a key->value datastore.
-
- Posts: 2001
- Joined: Tue Jun 05, 2012 6:25 am
- os: linux
Re: Automated Build
Time for a stupid question, can something like Travis CI be used for releasing builds to the public, or are the builds in that system only usable for automated testing?
-
- Posts: 801
- Joined: Sun Aug 18, 2013 8:26 pm
- os: mac
Re: Automated Build
I think the reason we don't have a better build system is because everyone was thinking these questions are stupid. From what I can tell, Travis CI seems to have everything needed to build namcoind including for OS X. We might also want to check out BuildHive which would give us a full-blown Jenkins install as well.biolizard89 wrote:Time for a stupid question, can something like Travis CI be used for releasing builds to the public, or are the builds in that system only usable for automated testing?
DNS is much more than a key->value datastore.
-
- Posts: 2001
- Joined: Tue Jun 05, 2012 6:25 am
- os: linux
Re: Automated Build
This definitely isn't my area of expertise, but yeah, some kind of continuous integration would be really nice to have for the various Namecoin projects. That said, maybe it should become my area of expertise? (I'm sure such skills are a plus to have when job-hunting....)indolering wrote:I think the reason we don't have a better build system is because everyone was thinking these questions are stupid. From what I can tell, Travis CI seems to have everything needed to build namcoind including for OS X. We might also want to check out BuildHive which would give us a full-blown Jenkins install as well.
Anyone have suggestions on which service would be best, and why?
-
- Posts: 801
- Joined: Sun Aug 18, 2013 8:26 pm
- os: mac
Re: Automated Build
Well, I certainly agree with Joel Spolsky's essay on the topic,biolizard89 wrote: This definitely isn't my area of expertise, but yeah, some kind of continuous integration would be really nice to have for the various Namecoin projects. That said, maybe it should become my area of expertise? (I'm sure such skills are a plus to have when job-hunting....)
From a related article.Can you make a build in one step?
By this I mean: how many steps does it take to make a shipping build from the latest source snapshot? On good teams, there's a single script you can run that does a full checkout from scratch, rebuilds every line of code, makes the EXEs, in all their various versions, languages, and #ifdef combinations, creates the installation package, and creates the final media -- CDROM layout, download website, whatever.
If the process takes any more than one step, it is prone to errors. And when you get closer to shipping, you want to have a very fast cycle of fixing the "last" bug, making the final EXEs, etc. If it takes 20 steps to compile the code, run the installation builder, etc., you're going to go crazy and you're going to make silly mistakes.
I seriously think that the build step is the single most crucial component of proper software development. Then again, I'm a terrible programmer and I can't write much code without introducing random bugs : )
DNS is much more than a key->value datastore.
-
- Posts: 2001
- Joined: Tue Jun 05, 2012 6:25 am
- os: linux
Re: Automated Build
Those are good articles indolering, thanks for sharing.
Re: Automated Build
Fedora and Ubuntu have been on my TODO list or a while... :-/indolering wrote:Can you get the packages included in the Ubuntu, Fedora, and CentOS distros? It would make setting up Namecoin much, much easier!pmc wrote:Check the open build service (see my signature). It supports various linux distros. Mac&Windows will probably be more difficult.
The problem with fedora is missing ECC support in openssl, and the ubuntu repo on OBS is missing some required libraries. I'll look into this.
I've never tried CentOS, but I suppose it'll be easily integrated once Fedora is working.