139 lines
3.7 KiB
YAML
139 lines
3.7 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
|
|
- faketime
|
|
|
|
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
|
|
- brew install libfaketime
|
|
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
|
|
- faketime --version
|
|
- ./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)"
|