Isar requires a number of extra packages compared to a Yocto build. It also needs a newer e2fsprogs version which can be taken from backports. Last but not least, its keystone multistrap contains a nasty bug [1] under in jessie so that we need to pull the updated version from stretch. The value of having this image still based on jessie is that it can be used for both purposes: Yocto (2.1/2.2) and Isar builds. We push it along the kas core image as kas-isar during the CI run. Isar still requires some raised privileges. Therefore, the image has to be started with the additional switches "--cap-add=SYS_ADMIN --cap-add=MKNOD --device $(/sbin/losetup -f)". [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=774698 Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
36 lines
964 B
YAML
36 lines
964 B
YAML
language: python
|
|
|
|
python:
|
|
- "3.4"
|
|
- "3.5"
|
|
- "3.6"
|
|
|
|
sudo: required
|
|
|
|
services:
|
|
- docker
|
|
|
|
install:
|
|
# install kas to have all kas dependencies:
|
|
- pip install .
|
|
# checkcode dependencies:
|
|
- pip install pylint pep8 doc8 Pygments
|
|
|
|
script:
|
|
- scripts/checkcode.sh .
|
|
- docker build -t kasproject/kas .
|
|
- docker build -t kasproject/kas-isar -f Dockerfile.isar .
|
|
|
|
after_success:
|
|
- if [ "$TRAVIS_BRANCH" == "master" ] || [ "$TRAVIS_BRANCH" == "next" ]; then
|
|
docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD";
|
|
for IMAGE in kasproject/kas kasproject/kas-isar; do
|
|
docker push $IMAGE;
|
|
if [ "$TRAVIS_BRANCH" == "master" ] && git describe --exact-match 2>/dev/null >/dev/null; then
|
|
VERSION="$(/usr/bin/python3 -c 'from kas import __version__; print(__version__)')";
|
|
docker tag $IMAGE $IMAGE:$VERSION;
|
|
docker push $IMAGE:$VERSION;
|
|
fi
|
|
done
|
|
fi
|