Opened 9 years ago

Last modified 9 years ago

#3578 new enhancement

Build OMC from branches in Hudson

Reported by: Francesco Casella Owned by: sjolund.se
Priority: high Milestone: Future
Component: Build Environment Version:
Keywords: Cc:

Description (last modified by Francesco Casella)

During the last OSMC board meeting, it was decided to make it possible for people to build OMC on Hudson from specific development branches, in order to make early testing of new features possible for end users.

Ideally, this should be possible for Linux, Windows, and Mac to enlarge as much as possible the user base.

From what I understand, it is just necessary to copy the existing Hudson jobs that make the nightly builds, add an input for the branch, and use it instead of master. Piece of cake?

Change History (6)

comment:1 by Adam Dershowitz, 9 years ago

I suggest that you also include Mac builds as well.

comment:2 by Francesco Casella, 9 years ago

Description: modified (diff)

Absoutely :)

comment:3 by Martin Sjölund, 9 years ago

Description: modified (diff)

Note that there are no branches of OpenModelica (check OpenModelica.git!).

To build and package such things? The debian package build system is not that simple to just copy around. And simply creating a tarball with the built OMC would not work either (because the system libraries are different on different Ubuntu versions; you would need to run the same OS as the Hudson system). You would anyway need a location to put these packages, and I don't think we have such a location... Never mind giving them version names that sort correctly.

And when it comes to things like having OMEdit in a branch, it is harder. Because it is developed in a different location (Adeel would need to setup and maintain forks of all OpenModelica repositories in his base URL).

If it is just about building an experimental version of OMEdit or OMC (not the entire installer), something simpler could be done.

in reply to:  3 comment:4 by Francesco Casella, 9 years ago

Replying to sjoelund.se:

Note that there are no branches of OpenModelica (check OpenModelica.git!).

Right, sorry.

To build and package such things? The debian package build system is not that simple to just copy around. And simply creating a tarball with the built OMC would not work either (because the system libraries are different on different Ubuntu versions; you would need to run the same OS as the Hudson system). You would anyway need a location to put these packages, and I don't think we have such a location... Never mind giving them version names that sort correctly.

And when it comes to things like having OMEdit in a branch, it is harder. Because it is developed in a different location (Adeel would need to setup and maintain forks of all OpenModelica repositories in his base URL).

Sure.

One option is to have Hudson jobs that only compile the omc and OMEdit executables. Or that compile some kind of patch that one can apply to his own installation. BTW, this would reduce the amount of stuff to download dramatically, if one just needs small fixes.

Would that be possible?

comment:5 by Martin Sjölund, 9 years ago

OMC is split into the following deb-packages:
omc
libomc
libomc-dev
libomcsimulation
omc-common
libomccpp

OMEdit on the other hand is just a single package, ~6MB in size.

comment:6 by Francesco Casella, 9 years ago

Description: modified (diff)

OK, let me try to present some concrete use cases (some are real, some are hypothetical at the moment):

  1. Adrian has implemented a new front-end, which is still incomplete but may be able to handle some of my models in a much more efficient (or correct) way, and I'd like to check this out
  1. Adeel has implemented new features in OMEdit, they are still unstable and not working 100% but I'd like to try them out and give feedback
  1. Volker has a new fancy index reduction algorithm on his developmente branch of omc which can handle my satellite models with fancy state variable changes, and I'd like to play around with them and see how far they get
  1. Willi is introducing a new solver based on IDA/kinsol, which can handle DAEs without turning them into ODEs, so it affects back-end, code generation and runtime. It is still too crude to be merged into master, but I'd like to try it on some proprietary models
  1. Lennart is introducing a new homotopy solver which can handle difficult initialization problems, but it breaks the MSL regression, so it's not yet on master. It affects back-end, code generation and runtime. I'd like to try it on some proprietary models

Can we support as many of these cases as possible (all of them, ideally) on as many platforms as possible (Win, Linux, and Mac, ideally)?

Note: See TracTickets for help on using tickets.