Office: +7 (495) 229 88 12 | Sales: +7 (495) 229 86 65 | |

ROSA ABF: news of the project

25 апреля 2012 | Petr Fomichev | Products

We have recently announced a beta version of the ROSA ABF build system and published its source code. From this moment, we consider ABF to be an open project, not the internal tool, and in future we will share all the news and discuss future plans with community. So what functionality we are going to implement in the nearest future?

Pull Request

This is an excellent technology that will significantly simplify merging of project modifications from different parties. From now on, one can forget about sending patches thorough email and about other ways of returning patches and improvements to project developers. It will be enough to fork a project in the ROSA ABF, add necessary changes to that fork and send a pull request. Developers of the parent project will be provided with access to your code. Using convenient Web UI, you can discuss all your changes, and if they are found to be useful, developers can accept them.

«Fair Queue»

This mechanism is developed to allow users to adjust task priorities and to use system recourses in a more efficient way. The Fair Queue will provide the following possibilities:

  • Define task priorities. For example, tasks launched by major development teams will have higher priority than the ones from other users.
  • Prevent monopolization of the queue by a single user or group.
  • Check for identical tasks, The system will deny to add a task to a queue if that queue already has a task with the same characteristics.
  • Building of all tasks, regardless of their priorities. The longer a task stays in the queue, the higher priority is assigned to it. This allows for tasks that initially have low priority to move to the top of the queue, so finally every tasks will reach the top and be built.

These new techniques will allow to decrease the average waiting period of build tasks.

API to access the system

We are going to publish a first draft of the API to access the build system. Using this API, we are going to develop a command line client that will allow to work with ROSA ABF without Web UI. In the future, the API will be used to integrate ABF with other infrastructure systems.