The Task of this project is to merge best of the data from 2 sensor algorithm. 1st Sensor is RGB camera used to detect the objects and output of RGB-Camera algorithm is list of tupple of objects. 2nd sensor is RGBD camrea used for the same purpose. Output of RGBD camera algorithm is list of tuple of objects containing object name, object id and probability of detected object.
The project is divided in weekly requirement. You can start exploring through project progress from directory "requirement1" and so on.
-
Continuous integration is a software development paradigm in which developers commit their code(s) to their respective branches (or master) recursi vesly and each pushed commit is verified by an automated build which helps in a deep dive into the problem.
-
When there is no CI, it gets hand to debug problems. In majority of cases the individual members are just a part of a bigger team and each team is developing a sub-part of a bigger project. This causes a lot of problems if there is no validity check at the branch level or repository level.
-
Whenever a sub-part of the project is build there are two tests which become essential to determine the functionality of the code:
- Unit testing - Takes care of individual units (Chuncks of codes with some functionality)
- Integration testing - Takes care of multiple units communicating with one another.
-
In our case we have user travis for CI.
-
According to wikipedia[1]: https://en.wikipedia.org/wiki/Travis_CI, "Travis CI is a hosted, distributed continuous integration service used to build and test software projects hosted at GitHub." Breaking the definition down, it's a CI service that can be leveraged to verify the codes which are hosted on GitHub. NOTE: Travis CI is NOT free for private repositories. Since the repository is public, we can use this service for free.
-
Basic of travis CI?
-
How to Integrate it with your repository?
- Once you have an account, head back to your local and to the repository you want tests on.
- Include a file named ".travis.yaml"
- These are our contents, the structure of the file remains the same however the contents chages with respect to file names:
language: python python: - "2.6" - "2.7" branches: only: - master - developer_2 script: - pytest after_success: - codecov
- Write a test file and name it test___.py so that pytest can interpret it. More on pytest files here
-
How to Run Travis CI?
- Once you are done with writing '.travis.yml' and pushing it, you need to head to https://travis-ci.org/ again (you have already logged in) and head over to your repository. You might see that it has already started to build your code and if not, there would be a more options button on the right corner, select "Trigger Build" from that:
- Check for errors (if any) from the log that is generates and resolve it.
-
Integrating the Status Bagde
- Once your tests have passed on travisCI, click on the status:
- It will generate a link that you must copy and paste it into your README.md using:
[![Build Status](https://travis-ci.com/priteshgohil/AST.svg?branch=developer_2)](https://travis-ci.com/priteshgohil/CI_travis)
- This given code test_area.py has a function that computers area of a rectangle and tests it using pytest.
- The repository is integrated with travisCI which monitors the correctness of the code.
- With each new code, we need to write unittest and pytest will continuously monitor for the changes.
- Harsh Munshi @hmunshi
- Pritesh Gohil @priteshgohil
- Jaswanth Bandlamudi @jaswanthbjk
This project is licensed under the GNU General Public License v3.0