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