Monday, August 16, 2010

[PyTI] PyPI Testing Infrastructure (summary)

Hello All,

the GSoC finish today, so i just wanted to give you a update of the status of the project that i have been working on during this last 3 mount, but first of all i want to thanks all the people that help me to accomplish this work specially my mentor Jesse Noller for all his advices and remarks , and i want to thanks all the team of packagers that you can found on this link.

As usual the project can be found on the repository where you can find more information about the project , how to install the application.

An other thing the project is already deployed on : PyTI .

For the issues and bugs in the project check also : issues and bugs.

About all the weekly report that we did have to write in every week check : ML.

How it's work ?

you can follow the How to install to get the application ready.

now after you did run PyTI, go to your terminal and do:

cd pony-build/client
python build-pypi-package.py -s

This command call the build-pypi-package.py pony-build client that will build the package specify and send the result to the server to be displayed on the web interface.

For the build it's follow 3 steps:
- download the package from pypi
- run tox on the package : this will try to install the package using py26 and will run all package tests using py.tests
- finally it's call cheesecake to calculate the kwality factors of the package given .


here is some demo picture :

- after installing PyTI, i run the server : cd GUI/ ; python run.py --port 8800
- now i build a package i chose tox : python build-pypi-package.py -s http://127.0.0.1:8800 tox
- after the client finish building the package, i enter in my web browser http://127.0.0.1:8800
the first thing i see is a list of all build packages, i remark also that tox build failed
with the red image in the right.



- after clicking on the package you will see the detail of the build, first of all you will notice a time line of builds, the red circle is for failed build:




- you can choose a build event on the time line and click on it you will a pop up with some detail on it and a link to see full build report



- after clicking on the "see full report" link the report get displayed to you , with tree tabs, one for the download command , the other for tox and the last one for cheesecake , the ones in red mean that the command have failed in this case tox have failed



- now you can go to the tab tox to see why the command failed , in this case we will notice that 2 tests have failed from 74 tests run



- last you can go to the cheesecake tab to see the cheesecake report in this case tox have scored 59% :




All the work that have been done

this is a summarizing of all the work that have been done :

- add EC2Context to pony-build client that enable pony-build to run tests in an EC2 machine
- preparing an EC2 machine where package get build
- create a client that build package from pypi.
- create an adapter to get a django project work with pony-build
- create a django project with several application for displaying information on build packages
- one of the django application is used to get PuSH notifications from pypi to build the packages but unfortunately this has some issues on it .

Peace,
Mouad Benchchaoui

No comments:

Post a Comment