xhost + # Workaround for: QXcbConnection: Could not connect to display :0
[appimagekit.git] / .travis.yml
blob4ab958f438c90befd7e58d77caaa10646f846386
1 language: c
2 compiler: gcc
4 services:
5   - docker
7 env:
8   - ARCH=i686 DOCKER_IMAGE=toopher/centos-i386:centos6
9   - ARCH=x86_64 DOCKER_IMAGE=library/centos:6.8
11 script:
12   - if [ "$ARCH" == "x86_64" ] ; then sed -i -e 's|%ARCH%|amd64|g' appimaged.ctl; fi
13   - if [ "$ARCH" == "i686" ] ; then sed -i -e 's|%ARCH%|i386|g' appimaged.ctl && sleep 60 ; fi # Slep so as not to overwrite during uploading (FIXME)
14   - grep Architecture appimaged.ctl
15   - rm -rf data.tar.g* .gnu* || true
16   - wget https://github.com/AppImage/AppImageKit/files/584665/data.zip -O data.tar.gz.gpg
17   - ( set +x ; echo $KEY | gpg2 --batch --passphrase-fd 0 --no-tty --skip-verify --output data.tar.gz --decrypt data.tar.gz.gpg ) || true
18   - ( tar xf data.tar.gz ; sudo chown -R $USER .gnu* ; rm -rf $HOME/.gnu* ; mv .gnu* $HOME/ ) || true
19   - mkdir -p ./out/
20   - docker run -i -v ${PWD}/out:/out -v "${PWD}:/AppImageKit" "$DOCKER_IMAGE" /bin/bash -c "cd /AppImageKit ; yum -y install sudo ; sudo ./build.sh; sudo ./test-appimagetool.sh build/appimagetool"
21   - ls -lh out/*
22   - wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh
23   - find ./out/appimagetool.AppDir/
24   - find ./out/appimaged.AppDir/
25   - docker run --cap-add SYS_ADMIN --device /dev/fuse:/dev/fuse:mrw -i -v ${PWD}/out:/out -v $HOME/.gnupg:/root/.gnupg "$DOCKER_IMAGE" /bin/bash -c
26       "yum -y install fuse fuse-libs &&
27       cd /out &&
28       ./appimagetool.AppDir/AppRun ./appimagetool.AppDir/ -s -v -u \"gh-releases-zsync|AppImage|AppImageKit|continuous|appimagetool-x86_64.AppImage.zsync\"
29       appimagetool-$ARCH.AppImage &&
30       ./appimagetool-$ARCH.AppImage ./appimaged.AppDir/ -s -v -u \"gh-releases-zsync|AppImage|AppImageKit|continuous|appimaged-x86_64.AppImage.zsync\" appimaged-$ARCH.AppImage"
31   - sudo apt-get install equivs vim-common # vim-common contains xxd
32   - ( cd out ; equivs-build ../appimaged.ctl )
33   - rm -rf out/appimaged out/appimagetool out/validate out/digest out/mksquashfs || true
34   - xxd out/runtime | head -n 1
35   - mv out/runtime out/runtime-$ARCH
36   - sudo rm -rf out/*.AppDir out/*.AppImage.digest || true # Not needed
37   - if [ "$ARCH" == "x86_64" ] ; then sudo mv out/AppRun out/AppRun-x86_64; fi
38   - if [ "$ARCH" == "i686" ] ; then sudo mv out/AppRun out/AppRun-i686; fi
39   - bash ./upload.sh out/*
41 notifications:
42   irc:
43     channels:
44       - "chat.freenode.net#AppImage"
45     on_success: always  # options: [always|never|change] default: always
46     on_failure: always  # options: [always|never|change] default: always
47     on_start: always     # options: [always|never|change] default: always
48     template:
49       - "%{repository} build %{build_number}: %{result} %{build_url}"
50     use_notice: true
51     # skip_join: true
52   webhooks:
53     urls:
54       - https://webhooks.gitter.im/e/4bf20518805a55998cc2
55     on_success: always  # options: [always|never|change] default: always
56     on_failure: always  # options: [always|never|change] default: always
57     on_start: always     # options: [always|never|change] default: always
59 branches:
60   only:
61     - appimagetool/master
62     - feature/usage