As we mount the kiwix-build (source) directory at run, the docker images
are independent of the source. This will greatly reduce the number of
docker images we have to create.
- Use the same structure than xenial dockerfile.
- Do not try to deploy in the docker image as the deployement is made on
the host.
- Use user `ci_builder` instead of `builder` as it make flatpak fail.
TRAVIS_BUILD_DIR is the directory of kiwix-build.
So we must correctly set it in docker as the directory is not the
same.
We don't need the TRAVISCI_SSH_KEY now as we are looking in the right
directory.
`linuxqtdeploy` recently add a test on the running system (libc version)
and refuse to run if the libc is too recent.
So we would need to run `linuxqtdeploy` only on ubuntu 14.04.
However, we also need `qtwebengine5-dev` package whom is available only
since ubuntu 18.04.
While we find a solution (see comments in the linuxdeployqt issue), we
have to allow the appimage build to fail.
See probonopd/linuxdeployqt#340
On ubuntu, the libcurl package is compiled with libkrb (kerberos).
However, no libkrb5.a is provided and so, we cannot link statically.
As we are not using kerberos, we can (and must) compile ourselves libcurl.
If we are building a PR comming from a fork, the secret key will not
be available and we cannot decrypt the ssh key.
And if the ssh key cannot be decrypted, we should not try to use it to
upload base dependencies.
`cron` and deployement are made only on "secured environment" so we don't
need to test for existance of the key because we are sure that we have
been able to decrypt it.
`travis/compile_all.py` may need the secret key to upload dependencies
cache to our server.
So, just decrypt the key before the upload is not good enough (and breaks
PR building new version of base dependencies)
This reverts commit 74efad49e2.
Is a contributor do a PR from its own repository, we will try do decrypt
the key but fail because secret env var are not available.
We need the secret key only if we do a deployement and the deployement is
done only for a tag or a cron job.
We build with gcc-5 because of zimSplit using ofstream.swap method.
Latest version of zimSplit doesn't use it anymore so let's compile
everything with default gcc.
See openzim/zim-tools@a959609839
We also explicitly set the list of package to install per job, so
less packages are installed.
As we want to use qt and packages are available only since ubuntu artful, we
need to use docker because travis-ci is ubuntu trusty.
We could also build qt, but it takes too many time and travis timeout.