-
Notifications
You must be signed in to change notification settings - Fork 129
Continuous Integration and the Open Build Service
To ensure the code still builds after doing any change we use Continuous Integration and automatic integration with the Open Build Service (OBS).
For continuous integration we use the Travis CI service and the Jenkins service.
The Travis CI builds all commits and all pull requests in the snapper GiHub repository. Travis then reports the build status back to GitHub.
See more details in the README.Travis.md document.
Jenkins is used mainly to submit the packages to OBS.
The public Jenkins instance builds the package and on success it uploads the sources to the filesystems:snapper.
When the package version is different than in the openSUSE:Factory project then a submit request is automatically created to update the package to the new version.
See the current build status and the details in the snapper-master job.
The internal Jenkins instance is used for building the package and submitting it to the internal build service instance (not accessible from the Internet).
See the snapper-master Jenkins job (accessible only from the internal SUSE network).
The development is done in the filesystems:snapper OBS project.
The snapper package is also built at the filesystems project (it links to the filesystems:snapper project).
The reason for a separate filesystems:snapper project is that the filesystems project builds the packages only for the (open)SUSE distributions while snapper wants to support more (even non-SUSE) distributions.
Automatic package submission from filesystems:snapper to openSUSE:Factory is done using the snapper-master Jenkins job described above.
The internal Jenkins uploads the package to the Devel:YaST:Head project and creates a submit request to the current development SLE product.
All maintenance updates for the already released products must be done manually.