Opened 9 years ago
Closed 9 years ago
#1008 closed defect (fixed)
Continuous integration framework
Reported by: | Alex Dumitru | Owned by: | Andrei Badoi |
---|---|---|---|
Priority: | major | Milestone: | 9.2 |
Component: | undecided | Version: | development |
Keywords: | Cc: | Andrei Badoi, drusu | |
Complexity: | Medium |
Description (last modified by )
A framework is needed that integrates into Jenkins (but it is not tightly coupled to it) and is able to test rasdaman under all possible configurations with both the system tests and conformance tests.
This is the purpose of the rascipy framework, to allow developers to create new configurations that can be tested. Each configuration can be defined as a strategy. A strategy consists of a:
- Rasdaman retriever - which retrieves the source code and sets the branch to be tested
- Rasdaman builder - which configures and builds rasdaman based on a set of criterias that we want to test (e.g. with/out enable debug, with different base dbs etc)
- Preparer - prepares the system for a rasdaman start, e.g. creating the database, etc
- Tester - tests the system using a specific framework (e.g. systemtests, conformance tests etc)
- Janitor - cleans up the system and frees resource for a new run.
A skeleton of the project can be found here http://git.flanche.com/alex/rascipy. The devs assigned to the task must complete the project based on the skeleton and then create all the strategies that we want to test. They will need to create the missing builders, janitors, services and so on, based on the examples in the code and to tie everything up.
Two first strategies that we would like to test and can be used as use-cases are:
- Rasdaman with enable debug and without
- Rasdaman with postgres and with sqlite
- Combinations of them
The skeleton is written in python as it can be easily integrated with Jenkins and has good support for running external tools (e.g. make, systemtests) while still offering the tools needed to keep the project sane over time.
Change History (10)
comment:1 by , 9 years ago
Description: | modified (diff) |
---|
comment:2 by , 9 years ago
comment:3 by , 9 years ago
Bonus points I'd say if the strategy descriptions are clear and intuitive, then they could act as detailed and up to date installation/setup guides on their own.
comment:4 by , 9 years ago
Cc: | removed |
---|
@abadoi, drusu: I've added the builder classes that you need to implement and tests for the builder as well. Please use the tests and let me know once you get them to pass.
comment:6 by , 9 years ago
Replying to mdumitru:
@abadoi, drusu: Please report on any progress on this task.
We are done with retriever classes.
We are currently working on the builder classes. - we will let you know once we are done with this.
comment:7 by , 9 years ago
Sounds good, please update the repository with the necessary files by Wed. evening.
comment:8 by , 9 years ago
Milestone: | → 9.2 |
---|
comment:10 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Yes, the system is in production.
Very nice, to the strategies I'd add rasnet/rnp as well.