-
Notifications
You must be signed in to change notification settings - Fork 38
Build Server
##Continuous integration and the build-server Continuous integration (CI) is the practice, of building a repository several times a day, checking that there are no compilation errors and test failures. Additionally before any commit is merged to the master, it should build successfully on the build-server. (This is part of a code-review / build-test, see below).
####Build tests and unit tests We ensure the basic level of integrity by automatically building all repositories several times a day and running unit-tests. This can eliminate the following errors:
- General compilation errors caused by syntax errors, missing includes, wrong include paths.
- Missing files that are available locally but not checked into the repo.
- Hardcoded local paths for files required for build-tests.
- Depending on the unit-test coverage, this checks the correct functioning of the software.
####Code review and automatic pull-request building All code that is merged to master from a feature branch should be proposed by issuing a pull-request. The code should then be reviewed by a collaborator to catch bugs and inefficient implementations. At the time a pull-request is opened the build-server will automatically start a build. The result of this build is reported back to github where the pull-request status is updated accordingly (see below for more explanations).
###Basic usage: ####Accessing the build server The build server can be accessed from here: http://129.132.38.183:8080/
The build-server job overview looks like this:
####Troubleshooting Missing the READ permission: You need to be member of the ethzasl organization and make your membership public. If the access does not work, write a mail to [email protected]. ####Manually triggering a build
- Select a build job that you want to use from the overview page.
- Trigger a job by clicking "Build with Parameters"
- Specifying a
branch
or theSHA
of a particular commit. - Click
build
to start the build.
####Automatically triggered builds for pull-requests
TODO(slynen): Add description of code review process and build-result reporting to github.
####Analyzing the build results
TODO(slynen): Add description of additional tools.