Opened 9 years ago

Last modified 9 years ago

#3578 new enhancement

Build OMC from branches in Hudson

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

Description (last modified by 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 Changed 9 years ago by dersh

I suggest that you also include Mac builds as well.

comment:2 Changed 9 years ago by casella

  • Description modified (diff)

Absoutely :)

comment:3 follow-up: Changed 9 years ago by sjoelund.se

  • 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.

comment:4 in reply to: ↑ 3 Changed 9 years ago by casella

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 Changed 9 years ago by sjoelund.se

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 Changed 9 years ago by casella

  • 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.