|Version 2 (modified by 7 years ago) ( diff ),|
Unittests on every PR
How PRs are tested
When a pull request is opened, Travis CI receives a pull request notification from GitHub. This notification is turned into a build and run. These are the steps that are followed.
- Web2py is installed from web2py src.
- A new requirements.txt file is generated from optional_requirements.txt and requirements.txt. In future, if any other requirements.txt (for eg: for EdenTest) is also given as argument, that will also be incorporated in the generated_requirements.txt file. Note: generated_requirements.txt is not in the main branch and not in version control. Also, packages like matplotlib are installed from the binaries as installing them from pip, which builds first, takes a lot of time.
- Eden is installed.
- 000_config.py is configured based on the enviorment variables. As of now, all the database systems supported by Eden are tested, namely, mysql, postgres and sqlite3.
- UnitTests are run
Please see .travis.yml for the configuration and the files inside ci_bin directory for the scripts used above.
Along the way, commit status of the commits involved is updated, which in turn shows on GitHub as either a warning that the build is still running, that the pull request should be merged with caution because the build failed, or that it can be merged safely because the build was successful.
Travis CI builds a pull request when it's first opened and when commits are added to the pull request throughout its lifetime.
Rather than test the commits from the branches the pull request is sent from, it tests the merge between the origin and the upstream branch Rather than test the commits from the branches the pull request is sent from, it tests the merge between the origin and the upstream branch