forked from kvirc/KVIrc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
146 lines (141 loc) · 8.66 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
language: cpp
matrix:
include:
- os: linux
env: WANT_KDE=NO
compiler: gcc
- os: linux
env: DEBUILD=YES
compiler: gcc
- os: osx
compiler: clang
- stage: deploy
os: linux
before_install:
after_success:
install:
- |
if [[ "$TRAVIS_REPO_SLUG" == "kvirc/KVIrc" && "$TRAVIS_PULL_REQUEST" == "false" && "$TRAVIS_BRANCH" == "master" ]]; then
openssl aes-256-cbc -k "$KEY_SSH_GITHUB" -in .travis-github.ssh.enc -out ~/kvirc-github-key -d
fi
- export KEY_SSH_GITHUB=no KEY_SSH_ARTIFACTS=no
- sudo apt-get update
# for ./.travis-coverity-scan.py
- sudo apt-get install -y python3-yaml
script:
- |
if [ "$TRAVIS_REPO_SLUG" == "kvirc/KVIrc" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_BRANCH" == "master" ]; then
echo "All builds passed!"
mkdir -p ~/.ssh
chmod 0600 ~/kvirc-github-key
cp .travis.ssh ~/.ssh/config
git config --global user.email "kvirc-travis@users.noreply.github.com"
git config --global user.name "kvirc-travis"
./.travis-coverity-scan.py
else
echo "Not master"
fi
sudo: required
git:
depth: 9999999
dist: xenial
before_install:
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cat /proc/cpuinfo /proc/meminfo; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then lsb_release -a; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sw_vers; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sysctl -a | grep cpu; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sysctl -a | grep mem; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export GPG_KEYS="409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB"; fi
- |
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
( gpg --keyserver pool.sks-keyservers.net --recv-keys $GPG_KEYS \
|| gpg --keyserver pgp.mit.edu --recv-keys $GPG_KEYS \
|| gpg --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys $GPG_KEYS \
|| gpg --keyserver keyserver.pgp.com --recv-keys $GPG_KEYS );
fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then rvm get head; fi
- |
if [[ "$TRAVIS_REPO_SLUG" == "kvirc/KVIrc" && "$TRAVIS_PULL_REQUEST" == "false" && "$TRAVIS_BRANCH" == "master" ]]; then
openssl aes-256-cbc -k "$KEY_SSH_ARTIFACTS" -in .travis-artifacts.ssh.enc -out ~/kvirc-artifacts-key -d
fi
- export KEY_SSH_GITHUB=no KEY_SSH_ARTIFACTS=no
- pwd
install:
- CMAKE_ARGS=""
- |
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test # for gcc-7
sudo apt-get update
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
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 90
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 90
if [ -z "$DEBUILD" ]
then
CMAKE_ARGS="$CMAKE_ARGS -DWANT_KDE=$WANT_KDE"
if [[ "$WANT_KDE" == "YES" ]]; then
sudo apt-get install -y kdelibs5-dev
fi
else
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
fi
fi
- |
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
brew update
brew install qt5 enchant
# want cmake newer than by default in travis osx
brew upgrade cmake
export CMAKE_FRAMEWORK_PATH="$CMAKE_FRAMEWORK_PATH:$(brew --prefix qt5)"
fi
script:
- |
if [ -z "$DEBUILD" ]
then
mkdir build
cd build
cmake $CMAKE_ARGS .. || exit 1
make -j3 || exit 1
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo make install; fi
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then make install; fi
ls -l
cd ..
else
cd dist
export DEB_BUILD_OPTIONS="parallel=3"
bash build_debian.sh || exit 1
cd build && sudo dpkg -i *.deb
ls -l
cd ../..
fi
after_success:
- |
if [ ! -z "$DEBUILD" ] && [ "$TRAVIS_REPO_SLUG" == "kvirc/KVIrc" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_BRANCH" == "master" ]; then
cd dist
bash build_debian.sh -p || exit 1
fi
- |
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
npm update -g npm
npm install -g appdmg
appdmg -v dist/osx/osx_dmg.json KVIrc.dmg
fi
- |
if [[ "$TRAVIS_OS_NAME" == "osx" && "$TRAVIS_REPO_SLUG" == "kvirc/KVIrc" && "$TRAVIS_PULL_REQUEST" == "false" && "$TRAVIS_BRANCH" == "master" ]]; then
mkdir -p ~/.ssh
chmod 0600 ~/kvirc-artifacts-key
cp .travis.ssh ~/.ssh/config
kvi_version="$(grep -i "^set(VERSION_RELEASE .*)$" CMakeLists.txt | egrep -o '[0-9\.]' | tr -d '\n')";
git_desc="$(git describe)";
dmg_name="KVIrc-${kvi_version}-dev-${git_desc}.dmg"
python .travis-gen-latest-json.py "${dmg_name}" > latest
echo -e "put KVIrc.dmg x/${dmg_name}\nput latest x/latest-macos" | sftp artifacts
fi
env:
global:
# These 2 lines are: $GPGPASS, $AESPASS (used in build_debian.sh)
- 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=
- secure: Xo0rxVU2ePrDm1gAYPqvfNXXrdc2tR6PUiL1yVZtWPt/I++vzkhNZ+9WKdPq1BfpLabi8CRiyrbaW8qQuFK1K0jmoKGMX8H19kN/KMFO2zNngFbGjTR3Gx2eHXmDN0esvw8MPWN0srKL97uP+RW21zaO7RB7n5xFKgzebtz+VWpdRQaWRolZpiZv9qv+1tlDHLV3YtLVrNiYfq/LRkdJm6g0bYhlMAt0VkjroR/BDP7wx/4WJs3ZFdsbi7LID2883jUYNybFDArC7991OnN9v45QkJPLKiiDpzS4ztl1ZYVUGIK6hGlqnqqKl3JXdhVaTwu94TVStuaZnlB0cxKXDRX9xeYv4uyX0GU+75CDo7X4kxu+9wKdiGiv2ffGDLxbKvrS7rNGvcwKs+v5yTAvpQypPxmx4LuYVwOfiwAkyU6N6EPMygnJZ6Lnzw1lVMz6qMDKOl5yq8iIKe9nD+kjlFt6TRb0zkpJVwPAl9wBqUSwN3Olnc8uHaiP8oI2CPBobXtDT9Aw/78nylg+tUt2gSlacO8hriPlI2TQz2ltepXxrpE8F+Rz1Vj6R4D5/DaWlqaXMP5PpUnFy/OfQeWbmHjLyFbrGGCAnnW+Z76HpDXJQs1XG6mSVgsHTY9xeGkybPykWemLz0W2TE/uASmoaJk7BXPWU/zbJxCreBChWlM=
# KEY_SSH_GITHUB
- secure: "HJi1lOnHq04Xu26Y5iuLqYml77qenVMkwynKzC7ukaFI4BynrXz8IqLo0AMvCJhwCyjrNF00zJEQS915lfOrbDfHAXCOBx4HGD4qMEaEZXfi+964KdK2v6O1Q0DmycHFrZScE2x1m8cBGykacJOXkIYQWqtAISlo/Okookrf+VHpHC+qNe5BIzaiPlZsMwFFpBOd/cKr44EvjjcvFGlhykBAC887lEjC4mMwKWFTU8K9FYlpmh617AiVxj0h0A3GO4q8p6uq3kH0mQ5/3S6YWYQ6JJhIm9Jo2iTbHzJ2IW3SQzDixyJi2IajAMArVgQ5wEHRtGaCkjvk0Es+C2l1XlXxByiD0Mzv+Knd3SY7ukTuAKNdyMx2GZ/PjmC1H9uSPVGc+gWcFaf+gAVuR5ctsxtv2YY4hwjKtuNEejrvqakJsJCMnctOxLzuuUlb+SlxD9i/br6Jx2beK8jJbxjo0aBYpFgF2fdX0JaeGJP5PrqZmeIm5FzHZVpXbA3N0ZrzYcJTPnQL3LJEsSsiztjvPEXDlf3F7HuCposF/hjgWQAyaAFNRyKaSXIvJAMNr8ZvYeULKfhq+mALSEGv3qVHQrWkdFfo19GWLtPSM/cLC2gkF7MYuCNnOpa3fJsxbKh9Tr7sszQ1xpZqe//+ujmUGVfW+PAPxv/UdozCV5RN8wU="
# KEY_SSH_ARTIFACTS
- secure: "iB/kOMZeQYTvkAS/2Blm/Ad/gUGZ8+1kRW5O64W92gvCUq//tzk421+CMEUxt3alvlyFWVqppixkIp6hbv1FKUEmHAbCW4tMRTByWJxiWzTmWY2DkcqFjhLCFyUGDVJz4ckp/Yc144YjcxrNydb0I1Y8HmJCbw8asNl6JVDew9evDgd0gs+fln4MI6gWdvRLZzGYFD39urTzbgLKByYlrgHzAgnFztb3NHmSzdKRem7gMOL54weeO8XBMYdbTfgioZKB6hz1fHnICUelre1OmKshnQdXteKWGvaghxbWp0FZnvjKwcs84B0TJuGhpvnTJEDv7+qiPGXpNOlULpa7hFipsGZl0hek7VAjFfJBoKYcNzzfIbBWv3YZ/xY9zHW6O10twwwBRhPqq4XwRjXMHmrHR9CvQ6DfWVKnIUfKGHOoZfkC7aMXStlHgVWrAfTymWigJq7z5x9oB4R3XrdBzyBPfkqX1Ij7Dbg8tbrBRQstxQqAlPlyufNCovbvBRfvwOLDlyZgtiAPfzKDCcrEit43AXjxuKf4fIX674bFrxsdQNmctQfwaBLzudaIBaAFJpfz+z/BQQdEvGsGUCKKN7gOdtBZE2rfEOHbrhxiqqJMg4bVyrLLZ3LZt/yl6zrZduxkPNNndhwjPkMcHJ/GkHq6/KR9F4Q48sc2yZhvJmA="