]> jfr.im git - irc/kvirc/KVIrc.git/blame - .travis.yml
Make macos dmg nightlies more orderable (#2560)
[irc/kvirc/KVIrc.git] / .travis.yml
CommitLineData
fdb9f4b2 1language: cpp
905dfe73
AS
2matrix:
3 include:
4 - os: linux
5 env: WANT_KDE=NO
6 compiler: gcc
45c330db
AP
7 - os: linux
8 env: DEBUILD=YES
9 compiler: gcc
905dfe73
AS
10 - os: osx
11 compiler: clang
e60a5515
AS
12 - stage: deploy
13 os: linux
14 before_install:
15 after_success:
16 install:
48ddde81
AS
17 - |
18 if [[ "$TRAVIS_REPO_SLUG" == "kvirc/KVIrc" && "$TRAVIS_PULL_REQUEST" == "false" && "$TRAVIS_BRANCH" == "master" ]]; then
32ff5147 19 openssl aes-256-cbc -k "$KEY_SSH_GITHUB" -in .travis-github.ssh.enc -out ~/kvirc-github-key -d
48ddde81 20 fi
32ff5147 21 - export KEY_SSH_GITHUB=no KEY_SSH_ARTIFACTS=no
e60a5515
AS
22 - sudo apt-get update
23 # for ./.travis-coverity-scan.py
24 - sudo apt-get install -y python3-yaml
25 script:
26 - |
27 if [ "$TRAVIS_REPO_SLUG" == "kvirc/KVIrc" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_BRANCH" == "master" ]; then
28 echo "All builds passed!"
29 mkdir -p ~/.ssh
30 chmod 0600 ~/kvirc-github-key
31 cp .travis.ssh ~/.ssh/config
32 git config --global user.email "kvirc-travis@users.noreply.github.com"
33 git config --global user.name "kvirc-travis"
34 ./.travis-coverity-scan.py
35 else
36 echo "Not master"
37 fi
38
e60a5515 39
c1815b55 40sudo: required
7af68d2a
AP
41git:
42 depth: 9999999
c736c7e3 43dist: xenial
a1d51cfc
AS
44before_install:
45 - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cat /proc/cpuinfo /proc/meminfo; fi
46 - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then lsb_release -a; fi
47 - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sw_vers; fi
48 - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sysctl -a | grep cpu; fi
49 - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sysctl -a | grep mem; fi
bb94db22
BS
50 - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export GPG_KEYS="409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB"; fi
51 - |
dc77a084 52 if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
27e1638f
BS
53 ( gpg --keyserver pool.sks-keyservers.net --recv-keys $GPG_KEYS \
54 || gpg --keyserver pgp.mit.edu --recv-keys $GPG_KEYS \
55 || gpg --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys $GPG_KEYS \
dc77a084 56 || gpg --keyserver keyserver.pgp.com --recv-keys $GPG_KEYS );
bb94db22 57 fi
d3003123 58 - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then rvm get head; fi
e4591ade
AS
59 - |
60 if [[ "$TRAVIS_REPO_SLUG" == "kvirc/KVIrc" && "$TRAVIS_PULL_REQUEST" == "false" && "$TRAVIS_BRANCH" == "master" ]]; then
32ff5147 61 openssl aes-256-cbc -k "$KEY_SSH_ARTIFACTS" -in .travis-artifacts.ssh.enc -out ~/kvirc-artifacts-key -d
e4591ade 62 fi
32ff5147 63 - export KEY_SSH_GITHUB=no KEY_SSH_ARTIFACTS=no
a1d51cfc 64 - pwd
fdb9f4b2 65install:
905dfe73 66 - CMAKE_ARGS=""
a1d51cfc
AS
67 - |
68 if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
e7b130c2 69 sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test # for gcc-7
5e1808ca 70 sudo apt-get update
e7b130c2
BS
71 sudo apt-get install -y libperl-dev libenchant-dev qtmultimedia5-dev libqt5webkit5-dev libqt5svg5-dev libqt5x11extras5-dev libphonon4qt5-dev libphonon4qt5experimental-dev gcc-7 g++-7
72 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 90
73 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 90
e9d9b046 74
5e1808ca
AS
75 if [ -z "$DEBUILD" ]
76 then
45c330db
AP
77 CMAKE_ARGS="$CMAKE_ARGS -DWANT_KDE=$WANT_KDE"
78 if [[ "$WANT_KDE" == "YES" ]]; then
79 sudo apt-get install -y kdelibs5-dev
80 fi
45c330db 81 else
c736c7e3 82 sudo apt-get install -y devscripts debhelper zlib1g-dev libx11-dev libxrender-dev libssl-dev qttools5-dev-tools qttools5-dev pkg-config libxss-dev python-dev dput gnupg libdistro-info-perl fakeroot
45c330db
AP
83 fi
84 fi
a1d51cfc
AS
85 - |
86 if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
87 brew update
dc77a084 88 brew install qt5 enchant openssl
c1815b55 89 # want cmake newer than by default in travis osx
a245fb2b 90 brew upgrade cmake
a614debe 91 CMAKE_ARGS="$CMAKE_ARGS -DOPENSSL_ROOT_DIR=$(brew --prefix openssl)"
5e1808ca 92 export CMAKE_FRAMEWORK_PATH="$CMAKE_FRAMEWORK_PATH:$(brew --prefix qt5)"
a1d51cfc 93 fi
fdb9f4b2 94script:
45c330db
AP
95 - |
96 if [ -z "$DEBUILD" ]
97 then
1dafce7d 98 mkdir build
45c330db 99 cd build
97c60e99 100 cmake $CMAKE_ARGS .. || exit 1
43f43f6b 101 make -j3 || exit 1
45c330db
AP
102 if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo make install; fi
103 if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then make install; fi
104 ls -l
105 cd ..
106 else
107 cd dist
108 export DEB_BUILD_OPTIONS="parallel=3"
43f43f6b 109 bash build_debian.sh || exit 1
45c330db
AP
110 cd build && sudo dpkg -i *.deb
111 ls -l
112 cd ../..
113 fi
c85872a4 114after_success:
7af68d2a
AP
115 - |
116 if [ ! -z "$DEBUILD" ] && [ "$TRAVIS_REPO_SLUG" == "kvirc/KVIrc" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_BRANCH" == "master" ]; then
117 cd dist
118 bash build_debian.sh -p || exit 1
119 fi
48ddde81
AS
120
121 - |
e4591ade 122 if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
48ddde81
AS
123 npm update -g npm
124 npm install -g appdmg
125 appdmg -v dist/osx/osx_dmg.json KVIrc.dmg
126 fi
127 - |
e4591ade 128 if [[ "$TRAVIS_OS_NAME" == "osx" && "$TRAVIS_REPO_SLUG" == "kvirc/KVIrc" && "$TRAVIS_PULL_REQUEST" == "false" && "$TRAVIS_BRANCH" == "master" ]]; then
1bd75493 129 mkdir -p ~/.ssh
9e9a70ca 130 chmod 0600 ~/kvirc-artifacts-key
1bd75493
AS
131 cp .travis.ssh ~/.ssh/config
132
48ddde81
AS
133 kvi_version="$(grep -i "^set(VERSION_RELEASE .*)$" CMakeLists.txt | egrep -o '[0-9\.]' | tr -d '\n')";
134 git_desc="$(git describe)";
135 dmg_name="KVIrc-${kvi_version}-dev-${git_desc}.dmg"
cf880c9e 136 python .travis-gen-latest-json.py "${dmg_name}" KVIrc.dmg > latest
958ec9fb 137 echo -e "put KVIrc.dmg x/${dmg_name}\nput latest x/latest-macos" | sftp artifacts
48ddde81 138 fi
49db1573 139env:
140 global:
48ddde81 141 # These 2 lines are: $GPGPASS, $AESPASS (used in build_debian.sh)
7af68d2a
AP
142 - secure: iFr+Hn6PBDqciGSi8BFWzwWPhIhkjdzxmVQohzZEAHoxBkI6rKEvpxXvhw/gkqbRhgi0/C8aoM+Y30We/OhyfUUr58kJTnRpUw7xE4wypo2KbGvPIqmVJRbMcJnVgTROyixlXcricWwx2c3GTSNEfq3C8D68Ge3jPrBPHIZeiE96nqOi/mk9LX89ypHv4Vf4VoteHvz9z9Kk+/30GUUlL84bg4C4mBilSxkaJQd/bu5p6JzgMMgma8dclmN9N/TYrsHIqrZkxpDp/RkXzZaqpl5OmsISyVWgWmzZdgU2OCkSYpfxH1UFpJF6hf+YJyd+zNebN+uNY3R/gD4a7FfSXbQ4uoAcfLfzRlRLF2pbhJzPNv6Fx+ywXJfMxkKurklD8UAsLikX9WIbkEnnyguJotMWakmsRY8A/dQoM3ljCKsWfEh1BCNb3XT5GjBpQtTqKRQ0Oz7nQx1HyAZN3chhQZ+ty+AJS64+kbtUGEqHdJ1cG8LUTpdABNuUI6an/hO2c3nZ9gITpQKvXe19rB6fBEUVVxCeXLQTQIdsxpZNQrE2O7HH4lx2Yc4JmZQjbpHvTo6HVFWTAjQPsJjMG/F9/BYEo9JmR3mN5fjF2eRLlBfpdbfflxp+Y2Tz7/TTtNuMPoMQjC0PlDaT8fHr2VsSMdmpV8TW+VHDf2whC25QiQs=
143 - secure: Xo0rxVU2ePrDm1gAYPqvfNXXrdc2tR6PUiL1yVZtWPt/I++vzkhNZ+9WKdPq1BfpLabi8CRiyrbaW8qQuFK1K0jmoKGMX8H19kN/KMFO2zNngFbGjTR3Gx2eHXmDN0esvw8MPWN0srKL97uP+RW21zaO7RB7n5xFKgzebtz+VWpdRQaWRolZpiZv9qv+1tlDHLV3YtLVrNiYfq/LRkdJm6g0bYhlMAt0VkjroR/BDP7wx/4WJs3ZFdsbi7LID2883jUYNybFDArC7991OnN9v45QkJPLKiiDpzS4ztl1ZYVUGIK6hGlqnqqKl3JXdhVaTwu94TVStuaZnlB0cxKXDRX9xeYv4uyX0GU+75CDo7X4kxu+9wKdiGiv2ffGDLxbKvrS7rNGvcwKs+v5yTAvpQypPxmx4LuYVwOfiwAkyU6N6EPMygnJZ6Lnzw1lVMz6qMDKOl5yq8iIKe9nD+kjlFt6TRb0zkpJVwPAl9wBqUSwN3Olnc8uHaiP8oI2CPBobXtDT9Aw/78nylg+tUt2gSlacO8hriPlI2TQz2ltepXxrpE8F+Rz1Vj6R4D5/DaWlqaXMP5PpUnFy/OfQeWbmHjLyFbrGGCAnnW+Z76HpDXJQs1XG6mSVgsHTY9xeGkybPykWemLz0W2TE/uASmoaJk7BXPWU/zbJxCreBChWlM=
32ff5147
AS
144 # KEY_SSH_GITHUB
145 - secure: "HJi1lOnHq04Xu26Y5iuLqYml77qenVMkwynKzC7ukaFI4BynrXz8IqLo0AMvCJhwCyjrNF00zJEQS915lfOrbDfHAXCOBx4HGD4qMEaEZXfi+964KdK2v6O1Q0DmycHFrZScE2x1m8cBGykacJOXkIYQWqtAISlo/Okookrf+VHpHC+qNe5BIzaiPlZsMwFFpBOd/cKr44EvjjcvFGlhykBAC887lEjC4mMwKWFTU8K9FYlpmh617AiVxj0h0A3GO4q8p6uq3kH0mQ5/3S6YWYQ6JJhIm9Jo2iTbHzJ2IW3SQzDixyJi2IajAMArVgQ5wEHRtGaCkjvk0Es+C2l1XlXxByiD0Mzv+Knd3SY7ukTuAKNdyMx2GZ/PjmC1H9uSPVGc+gWcFaf+gAVuR5ctsxtv2YY4hwjKtuNEejrvqakJsJCMnctOxLzuuUlb+SlxD9i/br6Jx2beK8jJbxjo0aBYpFgF2fdX0JaeGJP5PrqZmeIm5FzHZVpXbA3N0ZrzYcJTPnQL3LJEsSsiztjvPEXDlf3F7HuCposF/hjgWQAyaAFNRyKaSXIvJAMNr8ZvYeULKfhq+mALSEGv3qVHQrWkdFfo19GWLtPSM/cLC2gkF7MYuCNnOpa3fJsxbKh9Tr7sszQ1xpZqe//+ujmUGVfW+PAPxv/UdozCV5RN8wU="
146 # KEY_SSH_ARTIFACTS
147 - secure: "iB/kOMZeQYTvkAS/2Blm/Ad/gUGZ8+1kRW5O64W92gvCUq//tzk421+CMEUxt3alvlyFWVqppixkIp6hbv1FKUEmHAbCW4tMRTByWJxiWzTmWY2DkcqFjhLCFyUGDVJz4ckp/Yc144YjcxrNydb0I1Y8HmJCbw8asNl6JVDew9evDgd0gs+fln4MI6gWdvRLZzGYFD39urTzbgLKByYlrgHzAgnFztb3NHmSzdKRem7gMOL54weeO8XBMYdbTfgioZKB6hz1fHnICUelre1OmKshnQdXteKWGvaghxbWp0FZnvjKwcs84B0TJuGhpvnTJEDv7+qiPGXpNOlULpa7hFipsGZl0hek7VAjFfJBoKYcNzzfIbBWv3YZ/xY9zHW6O10twwwBRhPqq4XwRjXMHmrHR9CvQ6DfWVKnIUfKGHOoZfkC7aMXStlHgVWrAfTymWigJq7z5x9oB4R3XrdBzyBPfkqX1Ij7Dbg8tbrBRQstxQqAlPlyufNCovbvBRfvwOLDlyZgtiAPfzKDCcrEit43AXjxuKf4fIX674bFrxsdQNmctQfwaBLzudaIBaAFJpfz+z/BQQdEvGsGUCKKN7gOdtBZE2rfEOHbrhxiqqJMg4bVyrLLZ3LZt/yl6zrZduxkPNNndhwjPkMcHJ/GkHq6/KR9F4Q48sc2yZhvJmA="