OSDev.org
https://forum.osdev.org/

New page on automated builds
https://forum.osdev.org/viewtopic.php?f=8&t=31178
Page 1 of 1

Author:  xenos [ Sat Jan 07, 2017 3:11 pm ]
Post subject:  New page on automated builds

I have created a new wiki page: Automated Build Using CircleCI

This is a tutorial how to set up GitHub and CircleCI to automatically build your osdev project on every push to the repository, perform tests and publish the results. Please feel free to improve on it, and of course try it out if you like :D It turned out to be easier than I expected. Here is a working example:

https://github.com/xenos1984/NOS
https://github.com/xenos1984/NOS/blob/master/circle.yml
https://github.com/xenos1984/NOS/blob/m ... olchain.sh

Author:  matt11235 [ Sat Jan 07, 2017 4:30 pm ]
Post subject:  Re: New page on automated builds

This looks cool, how long does it take to build your cross compiler on CircleCI's servers?

Author:  jeaye [ Sat Jan 07, 2017 5:42 pm ]
Post subject:  Re: New page on automated builds

About 25 minutes, based on https://circleci.com/gh/xenos1984/NOS ; it ends up being cached though, so it's only built once, assuming it succeeds, and it's re-used after that.

Thanks for the new page, XenOS. The more quality docs we have on continuous integration, the better.

Author:  dozniak [ Sun Jan 08, 2017 12:16 pm ]
Post subject:  Re: New page on automated builds

Good job!

Author:  Boris [ Mon Jan 09, 2017 12:55 am ]
Post subject:  Re: New page on automated builds

Hi, why is CircleCI any better than Travis/Gitlab ?
Why should I use it ?
I'd generalise your article for " how to do CI with is Dev" and put a tiny part of it specialised in CircleCI.

Author:  xenos [ Mon Jan 09, 2017 4:42 am ]
Post subject:  Re: New page on automated builds

I don't think it's better than Travis/Gitlab. The only reason why I used CircleCI is that I participate also in a larger open source project, and that one uses CircleCI, so that I'm more or less familiar with the setup. But I guess using any other CI would be just as easy.

In fact, I already thought about trying other CI providers as well, making them work with my project and then writing wiki pages also for those, nicely bundled in a category.

Author:  jeaye [ Mon Jan 09, 2017 3:51 pm ]
Post subject:  Re: New page on automated builds

I use TravisCI, since I know it and it works. The benefit of CircleCI, over TravisCI, which I've seen, is that CircleCI allows you to SSH into the box which runs your tests so you can troubleshoot. Toying with Travis' yaml, committing, pushing, and waiting, is no fun when trying to debug your setup.

With that said, it hasn't been enough to bring me from TravisCI.

Author:  Ycep [ Wed Jan 11, 2017 8:08 am ]
Post subject:  Re: New page on automated builds

Sadly you have to use that Unix makecrap.sh and similar.

Author:  matt11235 [ Mon Jan 16, 2017 1:58 pm ]
Post subject:  Re: New page on automated builds

There's a wiki entry for Unit_Testing but it seems quite barebones.
Has anyone here set up unit tests for their OS that runs through a CI service and reports on Git commits? I don't really know the best way to go about it.

Author:  dchapiesky [ Mon Jan 16, 2017 11:36 pm ]
Post subject:  Re: New page on automated builds

matt11235 wrote:
There's a wiki entry for Unit_Testing but it seems quite barebones.
Has anyone here set up unit tests for their OS that runs through a CI service and reports on Git commits? I don't really know the best way to go about it.



While the actual unit tests would be OS specific....

I can recommend CMake/CTest & CDash

see www.cmake.org

Example live site: Visualization Toolkit (VTK) CI Dashboard -- https://open.cdash.org/index.php?project=VTK


CMake to build your code/unit tests

CTest to run the tests (including downloading latest git repos, patching, etc...)

CDash to act as a CI dashboard of said tests...

If you take the time to work with it - it can be extremely powerful... for example

I have added clang/llvm static analysis of code and post metrics to CDash

Probably the trickiest part is setting QEMU for example - to save serial output to a file and to actually auto shutdown after N seconds or system reset (there is a thread in the forum about this...)

Altogether these are pretty damn good

cheers

Page 1 of 1 All times are UTC - 6 hours
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/