.travis.yml (3725B)
1 language: c 2 3 addons: 4 apt: 5 packages: &common_apt_packages 6 # graphical environment 7 - scrot 8 - twm 9 # automated GUI testing 10 - sikuli-ide 11 # Missing dependencies for sikuli-ide 12 #- libantlr3-runtime-java # on 16.04 13 - antlr3 # on 14.04 14 #- jaffl-java # unavailable on Travis 15 - libjna-java 16 - libcommons-cli-java 17 - libjson-simple-java 18 - libdc1394-22 19 - libdc1394-22-dev 20 - wmctrl 21 # example-os build dependencies: 22 - nasm 23 - mtools 24 - genisoimage 25 26 matrix: 27 include: 28 - os: linux 29 env: MODE=self-test # Ensure that the Makefile works, especially with parallel builds. 30 script: make -j 10 test 31 sudo: true 32 addons: 33 apt: 34 packages: 35 - *common_apt_packages 36 - qemu 37 - qemu-system-x86 38 - qemu-system-arm 39 - bochs-sdl 40 - dosbox 41 - os: linux 42 env: MODE=gui-sh 43 sudo: false 44 addons: 45 apt: 46 packages: 47 - *common_apt_packages 48 - os: linux 49 env: MODE=dosbox 50 sudo: false 51 addons: 52 apt: 53 packages: 54 - *common_apt_packages 55 - dosbox 56 - os: osx 57 env: MODE=osx-test # Ensure that the Makefile works. Check that the generated os.bat works in sh mode 58 before_install: 59 - brew install cdrtools 60 - brew install mtools 61 - brew cask install gdisk 62 - brew install imagemagick # --with-x11 63 script: make all test/noemu test/macos 64 - os: linux 65 env: MODE=qemu-system-i386-floppy 66 sudo: false 67 addons: 68 apt: 69 packages: 70 - *common_apt_packages 71 - qemu 72 - qemu-system-x86 73 - os: linux 74 env: MODE=qemu-system-i386-cdrom 75 sudo: false 76 addons: 77 apt: 78 packages: 79 - *common_apt_packages 80 - qemu 81 - qemu-system-x86 82 - os: linux 83 env: MODE=qemu-system-arm 84 sudo: false 85 addons: 86 apt: 87 packages: 88 - *common_apt_packages 89 - qemu 90 - qemu-system-arm 91 # 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 92 - os: linux 93 env: MODE=virtualbox 94 sudo: true 95 addons: 96 apt: 97 packages: 98 - *common_apt_packages 99 #- virtualbox 100 - os: linux 101 env: MODE=bochs 102 sudo: false 103 addons: 104 apt: 105 packages: 106 - *common_apt_packages 107 - bochs-sdl 108 109 install: 110 # TODO: put these in a Makefile target, to share the code with the appveyor configuration 111 - make --version 112 - nasm -v 113 - mtools --version 114 - mtools || true 115 - mkisofs --version 116 - zip --help 117 - unzip -h 118 - gdisk --version 119 - import --version || test "$MODE" = osx-test # import --version has a non-zero exit code on the Travis installation 120 - Xvfb -help 121 - ssh -V 122 - ./utils/install-sikulix.sh 123 - export PATH="$HOME/sikulix/:$PATH" 124 - if test "$MODE" = virtualbox -o "$MODE" = self-test; then ./utils/install-virtualbox.sh; fi 125 126 script: 127 - make test/${MODE} 128 - | 129 ./utils/auto-push.sh "https://github.com/jsmaniac/os-test-framework.git" \ 130 "git@github.com:jsmaniac/os-test-framework-deploy-artifacts.git" \ 131 "screenshots-$TRAVIS_BRANCH-$MODE" \ 132 "deploy-base" \ 133 "edf345aad47e" \ 134 "deploy-screenshots" \ 135 "$(if test "$TRAVIS_BRANCH" = "master"; then echo master; else echo dev; fi)"