os-test-framework/.travis.yml

136 lines
3.6 KiB
YAML

language: c
addons:
apt:
packages: &common_apt_packages
# graphical environment
- scrot
- twm
# automated GUI testing
- sikuli-ide
# Missing dependencies for sikuli-ide
#- libantlr3-runtime-java # on 16.04
- antlr3 # on 14.04
#- jaffl-java # unavailable on Travis
- libjna-java
- libcommons-cli-java
- libjson-simple-java
- libdc1394-22
- libdc1394-22-dev
- wmctrl
# example-os build dependencies:
- nasm
- mtools
- genisoimage
matrix:
include:
- os: linux
env: MODE=self-test # Ensure that the Makefile works, especially with parallel builds.
script: make -j 10 test
sudo: true
addons:
apt:
packages:
- *common_apt_packages
- qemu
- qemu-system-x86
- qemu-system-arm
- bochs-sdl
- dosbox
- os: linux
env: MODE=gui-sh
sudo: false
addons:
apt:
packages:
- *common_apt_packages
- os: linux
env: MODE=dosbox
sudo: false
addons:
apt:
packages:
- *common_apt_packages
- dosbox
- os: osx
env: MODE=osx-test # Ensure that the Makefile works. Check that the generated os.bat works in sh mode
before_install:
- brew install cdrtools
- brew install mtools
- brew cask install gdisk
- brew install imagemagick # --with-x11
script: make all test/noemu test/macos
- os: linux
env: MODE=qemu-system-i386-floppy
sudo: false
addons:
apt:
packages:
- *common_apt_packages
- qemu
- qemu-system-x86
- os: linux
env: MODE=qemu-system-i386-cdrom
sudo: false
addons:
apt:
packages:
- *common_apt_packages
- qemu
- qemu-system-x86
- os: linux
env: MODE=qemu-system-arm
sudo: false
addons:
apt:
packages:
- *common_apt_packages
- qemu
- qemu-system-arm
# Thanks to https://keyholesoftware.com/2012/12/05/building_vagrant_boxes_with_veewee_on_travis/ for making me realize that VirtualBox will actually work with sudo
- os: linux
env: MODE=virtualbox
sudo: true
addons:
apt:
packages:
- *common_apt_packages
#- virtualbox
- os: linux
env: MODE=bochs
sudo: false
addons:
apt:
packages:
- *common_apt_packages
- bochs-sdl
install:
# TODO: put these in a Makefile target, to share the code with the appveyor configuration
- make --version
- nasm -v
- mtools --version
- mtools || true
- mkisofs --version
- zip --help
- unzip -h
- gdisk --version
- import --version || test "$MODE" = osx-test # import --version has a non-zero exit code on the Travis installation
- Xvfb -help
- ssh -V
- ./utils/install-sikulix.sh
- export PATH="$HOME/sikulix/:$PATH"
- if test "$MODE" = virtualbox -o "$MODE" = self-test; then ./utils/install-virtualbox.sh; fi
script:
- make test/${MODE}
- |
./utils/auto-push.sh "https://github.com/jsmaniac/os-test-framework.git" \
"git@github.com:jsmaniac/os-test-framework-deploy-artifacts.git" \
"screenshots-$TRAVIS_BRANCH-$MODE" \
"deploy-base" \
"edf345aad47e" \
"deploy-screenshots" \
"$(if test "$TRAVIS_BRANCH" = "master"; then echo master; else echo dev; fi)"