Merge pull request #186 from kiwix/docker_only_for_qt
Use Docker to build kiwix-desktop only.
This commit is contained in:
commit
9decfa6226
16
.travis.yml
16
.travis.yml
|
@ -26,10 +26,16 @@ cache:
|
||||||
- $HOME/.gradle/caches/
|
- $HOME/.gradle/caches/
|
||||||
- $HOME/.gradle/wrapper/
|
- $HOME/.gradle/wrapper/
|
||||||
- $HOME/.android/build-cache
|
- $HOME/.android/build-cache
|
||||||
install: travis/install_extra_deps.sh
|
install: if [[ $TRAVIS_OS_NAME != "linux" || $DESKTOP_ONLY != 1 ]]; then travis/install_extra_deps.sh; fi
|
||||||
script:
|
script:
|
||||||
- if [ $TRAVIS_OS_NAME == "osx" ] || [ $PLATFORM != "native_dyn" ]; then travis/compile_all.py; fi
|
- |
|
||||||
- if [ $TRAVIS_OS_NAME == "linux" ] && [ $PLATFORM == "native_dyn" ]; then docker build -t kiwix/build . && docker run -e PLATFORM -e NIGHTLY_DATE -e TRAVIS_EVENT_TYPE -e TRAVIS_BUILD_DIR --device /dev/fuse --cap-add SYS_ADMIN kiwix/build; fi
|
if [[ $TRAVIS_OS_NAME = "linux" && $DESKTOP_ONLY == 1 ]]
|
||||||
|
then
|
||||||
|
docker build -t kiwix/build -f travis/Dockerfile .
|
||||||
|
docker run -e PLATFORM -e NIGHTLY_DATE -e TRAVIS_EVENT_TYPE -e TRAVIS_BUILD_DIR -e DESKTOP_ONLY --device /dev/fuse --cap-add SYS_ADMIN kiwix/build
|
||||||
|
else
|
||||||
|
travis/compile_all.py
|
||||||
|
fi
|
||||||
after_failure: travis/upload_all_log.sh
|
after_failure: travis/upload_all_log.sh
|
||||||
deploy:
|
deploy:
|
||||||
- provider: script
|
- provider: script
|
||||||
|
@ -72,6 +78,10 @@ matrix:
|
||||||
- env: PLATFORM="android_x86_64"
|
- env: PLATFORM="android_x86_64"
|
||||||
- env: PLATFORM="android"
|
- env: PLATFORM="android"
|
||||||
include:
|
include:
|
||||||
|
- env: PLATFORM="native_dyn" DESKTOP_ONLY=1
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages: []
|
||||||
- env: PLATFORM="native_static"
|
- env: PLATFORM="native_static"
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
|
|
|
@ -55,8 +55,8 @@ PACKAGE_NAME_MAPPERS = {
|
||||||
'COMMON': _debian_common + ['libbz2-dev', 'libmagic-dev'],
|
'COMMON': _debian_common + ['libbz2-dev', 'libmagic-dev'],
|
||||||
'zlib': ['zlib1g-dev'],
|
'zlib': ['zlib1g-dev'],
|
||||||
'uuid': ['uuid-dev'],
|
'uuid': ['uuid-dev'],
|
||||||
#'ctpp2': ['libctpp2-dev'],
|
'ctpp2': ['libctpp2-dev'],
|
||||||
#'ctpp2c': ['ctpp2-utils'],
|
'ctpp2c': ['ctpp2-utils'],
|
||||||
'libmicrohttpd': ['libmicrohttpd-dev', 'ccache'],
|
'libmicrohttpd': ['libmicrohttpd-dev', 'ccache'],
|
||||||
'qt' : ['libqt5gui5', 'qtbase5-dev', 'qt5-default'],
|
'qt' : ['libqt5gui5', 'qtbase5-dev', 'qt5-default'],
|
||||||
'qtwebengine' : ['qtwebengine5-dev']
|
'qtwebengine' : ['qtwebengine5-dev']
|
||||||
|
|
|
@ -9,8 +9,6 @@ RUN \
|
||||||
apt install -q -y --no-install-recommends \
|
apt install -q -y --no-install-recommends \
|
||||||
# Base build tools
|
# Base build tools
|
||||||
build-essential \
|
build-essential \
|
||||||
gcc-4.8 \
|
|
||||||
g++-4.8 \
|
|
||||||
automake \
|
automake \
|
||||||
libtool \
|
libtool \
|
||||||
cmake \
|
cmake \
|
||||||
|
@ -27,18 +25,13 @@ RUN \
|
||||||
wget \
|
wget \
|
||||||
unzip \
|
unzip \
|
||||||
sudo \
|
sudo \
|
||||||
# Win32 cross-compilation
|
|
||||||
g++-mingw-w64-i686 \
|
|
||||||
gcc-mingw-w64-i686 \
|
|
||||||
gcc-mingw-w64-base \
|
|
||||||
mingw-w64-tools \
|
|
||||||
# Some dependencies already packaged
|
# Some dependencies already packaged
|
||||||
libbz2-dev \
|
libbz2-dev \
|
||||||
libmagic-dev \
|
libmagic-dev \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
uuid-dev \
|
uuid-dev \
|
||||||
# ctpp2-utils \
|
ctpp2-utils \
|
||||||
# libctpp2-dev \
|
libctpp2-dev \
|
||||||
libmicrohttpd-dev \
|
libmicrohttpd-dev \
|
||||||
# Qt packages
|
# Qt packages
|
||||||
libqt5gui5 \
|
libqt5gui5 \
|
||||||
|
@ -73,13 +66,12 @@ RUN \
|
||||||
mv ninja /home/travis/.local/bin ;\
|
mv ninja /home/travis/.local/bin ;\
|
||||||
rm ninja-linux.zip
|
rm ninja-linux.zip
|
||||||
ENV PATH="/home/travis/.local/bin:${PATH}"
|
ENV PATH="/home/travis/.local/bin:${PATH}"
|
||||||
ENV CC=gcc-4.8 CXX=g++-4.8 QMAKE_CC=gcc-4.8 QMAKE_CXX=g++-4.8
|
|
||||||
|
|
||||||
COPY . kiwix-build/
|
COPY . kiwix-build/
|
||||||
RUN sudo chown -R travis:travis /home/travis/kiwix-build
|
RUN sudo chown -R travis:travis /home/travis/kiwix-build
|
||||||
RUN pip3 install --user -e kiwix-build
|
RUN pip3 install --user -e kiwix-build
|
||||||
|
|
||||||
ENV TRAVISCI_SSH_KEY /home/travis/kiwix-build/travis/travisci_builder_id_key
|
ENV TRAVISCI_SSH_KEY /home/travis/kiwix-build/travis/travisci_builder_id_key
|
||||||
ENV TRAVIS_OS_NAME linux
|
ENV TRAVIS_OS_NAME linux_artful
|
||||||
|
|
||||||
CMD kiwix-build/travis/compile_all.py && kiwix-build/travis/deploy.sh
|
CMD kiwix-build/travis/compile_all.py && kiwix-build/travis/deploy.sh
|
|
@ -20,6 +20,7 @@ PLATFORM = environ['PLATFORM']
|
||||||
TRAVIS_OS_NAME = environ['TRAVIS_OS_NAME']
|
TRAVIS_OS_NAME = environ['TRAVIS_OS_NAME']
|
||||||
HOME = Path(os.path.expanduser('~'))
|
HOME = Path(os.path.expanduser('~'))
|
||||||
NIGHTLY_DATE = environ['NIGHTLY_DATE']
|
NIGHTLY_DATE = environ['NIGHTLY_DATE']
|
||||||
|
KIWIX_DESKTOP_ONLY = environ.get('DESKTOP_ONLY') == '1'
|
||||||
|
|
||||||
BASE_DIR = HOME/"BUILD_{}".format(PLATFORM)
|
BASE_DIR = HOME/"BUILD_{}".format(PLATFORM)
|
||||||
SOURCE_DIR = HOME/"SOURCE"
|
SOURCE_DIR = HOME/"SOURCE"
|
||||||
|
@ -210,8 +211,10 @@ for p in (NIGHTLY_KIWIX_ARCHIVES_DIR,
|
||||||
make_release = re.fullmatch(r"[0-9]+\.[0-9]+\.[0-9]+", environ.get('TRAVIS_TAG', '')) is not None
|
make_release = re.fullmatch(r"[0-9]+\.[0-9]+\.[0-9]+", environ.get('TRAVIS_TAG', '')) is not None
|
||||||
|
|
||||||
# The first thing we need to do is to (potentially) download already compiled base dependencies.
|
# The first thing we need to do is to (potentially) download already compiled base dependencies.
|
||||||
base_dep_archive_name = "base_deps_{}_{}_{}.tar.gz".format(
|
base_dep_archive_name = "base_deps_{os}_{platform}_{version}.tar.gz".format(
|
||||||
TRAVIS_OS_NAME, PLATFORM, base_deps_meta_version)
|
os=TRAVIS_OS_NAME,
|
||||||
|
platform=PLATFORM,
|
||||||
|
version=base_deps_meta_version)
|
||||||
|
|
||||||
print_message("Getting archive {}", base_dep_archive_name)
|
print_message("Getting archive {}", base_dep_archive_name)
|
||||||
try:
|
try:
|
||||||
|
@ -239,8 +242,8 @@ if environ['TRAVIS_EVENT_TYPE'] != 'cron' and not make_release:
|
||||||
elif PLATFORM.startswith('native_'):
|
elif PLATFORM.startswith('native_'):
|
||||||
if TRAVIS_OS_NAME == "osx":
|
if TRAVIS_OS_NAME == "osx":
|
||||||
TARGETS = ('kiwix-lib', 'zim-tools', 'zimwriterfs')
|
TARGETS = ('kiwix-lib', 'zim-tools', 'zimwriterfs')
|
||||||
elif PLATFORM == 'native_dyn':
|
elif PLATFORM == 'native_dyn' and KIWIX_DESKTOP_ONLY:
|
||||||
TARGETS = ('kiwix-tools', 'kiwix-desktop', 'zim-tools', 'zimwriterfs')
|
TARGETS = ('kiwix-desktop', )
|
||||||
else:
|
else:
|
||||||
TARGETS = ('kiwix-tools', 'zim-tools', 'zimwriterfs')
|
TARGETS = ('kiwix-tools', 'zim-tools', 'zimwriterfs')
|
||||||
else:
|
else:
|
||||||
|
@ -252,6 +255,8 @@ if environ['TRAVIS_EVENT_TYPE'] != 'cron' and not make_release:
|
||||||
|
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
|
|
||||||
|
TARGETS = tuple()
|
||||||
if PLATFORM.startswith('android'):
|
if PLATFORM.startswith('android'):
|
||||||
if make_release:
|
if make_release:
|
||||||
# (For now ?) kiwix-android follow it own release process.
|
# (For now ?) kiwix-android follow it own release process.
|
||||||
|
@ -265,8 +270,9 @@ elif PLATFORM.startswith('native_'):
|
||||||
if TRAVIS_OS_NAME == "osx":
|
if TRAVIS_OS_NAME == "osx":
|
||||||
TARGETS = ('libzim', 'zimwriterfs', 'zim-tools', 'kiwix-lib')
|
TARGETS = ('libzim', 'zimwriterfs', 'zim-tools', 'kiwix-lib')
|
||||||
else:
|
else:
|
||||||
if make_release or PLATFORM == 'native_static':
|
if PLATFORM == 'native_dyn' and KIWIX_DESKTOP_ONLY:
|
||||||
TARGETS = ('libzim', 'zimwriterfs', 'zim-tools', 'kiwix-lib', 'kiwix-tools')
|
if not make_release:
|
||||||
|
TARGETS = ('kiwix-desktop', )
|
||||||
else:
|
else:
|
||||||
TARGETS = ('libzim', 'kiwix-lib', 'kiwix-desktop', 'zimwriterfs', 'zim-tools', 'kiwix-tools')
|
TARGETS = ('libzim', 'kiwix-lib', 'kiwix-desktop', 'zimwriterfs', 'zim-tools', 'kiwix-tools')
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in New Issue