Opened 12 years ago

Closed 8 years ago

Last modified 8 years ago

#428 closed defect (worksforme)

Continuous integration

Reported by: Jiri Svoboda Owned by:
Priority: major Milestone:
Component: helenos/unspecified Version: mainline
Keywords: Cc:
Blocker for: Depends on:
See also:

Description

Placeholder for the master thesis HelenOS Continuous Integration.

Links:

Change History (7)

comment:1 by Jakub Jermář, 12 years ago

Milestone: 0.5.0

comment:3 by Vojtech Horky, 9 years ago

Following the last meeting, this is current configuration of Jenkins that is used to push information to http://helenos.alisma.cz/jenkins/. Both projects are bound to the master Bazaar repositories that they poll periodically.

Mainline

A multi configuration project with a user defined axis (AXIS_PROFILE) with list of all profiles:

amd64
arm32/beagleboardxm
arm32/beaglebone
arm32/gta02
arm32/integratorcp
...

The build is then executed as a shell command (the localization is probably not necessary but I encountered some inconsistencies some time ago):

LC_ALL=en_US.utf8 make HANDS_OFF=y PROFILE=$AXIS_PROFILE

Coastline

Standard Jenkins project, only the build command is a bit longer:

export LC_ALL=en_US.utf8
mkdir wd
cd wd
bzr branch bzr://helenos.org/mainline
mkdir matrix-build
cd matrix-build
../../matrix.sh $WORKSPACE/wd/mainline all all

comment:4 by Vojtech Horky, 8 years ago

See also http://helenos.alisma.cz/ci (description is here).

By the way, the thesis seems to be abandoned.

comment:5 by Jakub Jermář, 8 years ago

So what is the criterion for closing this ticket?

comment:6 by Jakub Jermář, 8 years ago

Resolution: worksforme
Status: newclosed

Ok, I am going to close the ticket now as there is now http://ci.helenos.org. Here are two suggestions that would be nice to see some day:

  • keep the most recent successful build around so that we can provide a link for users to try the latest build
  • it would be nice to also run the clang analyzer on each build and make the reports accessible

comment:7 by Vojtech Horky, 8 years ago

For the record: I am rewriting the master build script to Python. That should make the code more readable and should also simplify extensions.

keep the most recent successful build around so that we can provide a link for users to try the latest build

That is the first thing I want to add after the conversion to Python is completed.

it would be nice to also run the clang analyzer on each build and make the reports accessible

That should be easy to add once the reworked version is ready. I was also planning to add some http://coccinelle.lip6.fr/ Coccinelle scripts for checking of common errors.

Note: See TracTickets for help on using tickets.