How to contribute¶
- How to contribute
- By coding
- Create a local git repository
- Configure Weboob
- Write a patch
- Check your patch
- Send a patch
- Ask for a public repository on git.symlink.me
- By hosting a buildbot slave
- Create a slave
- Contact us
- How it works
By coding¶
Create a local git repository¶
Weboob uses git as software configuration management. Clone the reference branch with:
$ git clone git://git.symlink.me/pub/romain/weboob.git
To fetch new head modifications, use:
$ git pull --rebase
Configure Weboob¶
To hack on modules, it's better to configure Weboob to use your sources as a repository. Edit ~/.config/weboob/sources.list and add the following line at end:
file:///path/to/weboob/modules/
Then, to update your configuration, use this command:
$ weboob-config update
Now, when you change things in modules sources, it will be immediately applied.
Write a patch¶
Find an opened issue on this website, or write you own bugfix or feature. Then, once it is necessary, commit with:
git commit -a
Do not forget to write a commit message.
Check your patch¶
You can run these scripts to be sure your patch doesn't break anything:
$ tools/pyflakes.sh $ tools/run_tests.sh
Perhaps you should also write or fix tests. See Automated tests
Send a patch¶
git format-patch -n -s origin
Then, send them with this command:
git-send-email --to=weboob@weboob.org *.patch
You can send yourself that files if you haven't any configured MTA on your system.
Ask for a public repository on git.symlink.me¶
If you think you'll contribute to Weboob for a long, you can ask for a public repository. You'll also be able to push your commits in, and they'll be merged into the romain's repository easily.
All git branch are listed here: http://git.symlink.me
By hosting a buildbot slave¶
To be sure weboob works fine on lot of architectures, OS and configurations, but also that websites haven't changed and backends still support them, it's important to have enough buildbot slaves.
You can get more information on the Automated tests page.
If you are interested by hosting a buildbot slave, follow these instructions:
Create a slave¶
Firstly, you have to install pyflakes, nose and buildbot.
Run:
buildslave create-slave <dirname> buildbot.weboob.org:9080 <name> <password>
Note: if you use an old version of buildbot, run
buildbotinstead ofbuildslave.
Parameters are:
- dirname — the path where you want to setup your slave on your host.
- name — the name of your slave. It would be for example your name, your nickname, your hostname. Check on http://buildbot.weboob.org the name you want to use isn't already taken.
- password — choose a password to login on the master.
For example:
buildslave create-slave /home/me/buildbot buildbot.weboob.org:9080 me secret123
Then, edit files in /home/me/buildbot/info/ and run the slave:
buildslave start /home/me/buildbot
Contact us¶
To connect your slave to our master, you can send us an email on admin@weboob.org with the following information:
- The name of your slave;
- The IP address of the host;
- The password of your slave;
- Indicate if you want to run tests for every merges (three times a day) or only do a nightly build.
When your slave will be accepted, you will see it on http://buildbot.weboob.org/waterfall.
How it works¶
When a build is requested by master, your slave updates its local git repository, and run tools/run_tests.sh.
To work correctly, we suggest you to add as many as possible backends with the user of the slave (see Backends_Configuration). No private information will be sent to master, and it's better to have tests on backends which need authentication, because not every developers have accounts on them.