The YaST C++ Testing Image
This repository builds several versions of the image which are published by the Docker Hub with a different tag.
The images are defined in the
Dockerfile.<tag> files and published as
yastdevel/cpp:<tag> at the Docker Hub. See the complete list of tags at the Docker Hub.
Adding New Versions
When adding a new version of the image:
- Create the respective
- Update the
.travis.ymlfile so the image is built also at Travis
- Update the Docker Hub build setting to build and publish the new image
The image is rebuilt whenever a commit it pushed to the
masterbranch. This is implemented via GitHub webhooks.
Additionally the image is periodically rebuilt to ensure the latest YaST packages from the YaST:Head OBS project are used even when the image configuration has not been changed. The build is triggered by the docker-trigger-yastdevel-cpp Jenkins job.
The upstream dependency to the opensuse project is defined so whenever the base openSUSE system is updated the image should be automatically rebuilt as well.
Triggering a Rebuild Manually
If for some reason the automatic rebuilds do not work or you need to fix a broken build you can trigger rebuild manually.
Go to the Build Settings tab and press the Trigger button next to the master branch configuration line.
If you need to trigger the build from a script check the Build Triggers section at the bottom, press the Show examples link to display the
curlcommands. (The commands contain a secret access token, keep it in a safe place, do not put it in a publicly visible place.)
The Image Content
This image is based on the latest openSUSE Tumbleweed image, additionally it contains the packages needed for running tests for YaST packages written in cpp.
Using the image
The image contains an
yast-travis-cpp script which runs all the checks and tests.
The workflow is:
- Copy the sources into the
- If the code needs additional packages install them using the
zypper installcommand from the local
Dockerfile. (If the package is need by more modules you can add it into the original Docker image.)
- Run the