Commit graph

76 commits

Author SHA1 Message Date
Matthieu Gautier
5a84c01aa1 Revert "Use distro module to detect the distribution name."
This reverts commit 0fe69e3991.
2020-05-18 10:29:23 +02:00
Matthieu Gautier
0fe69e3991 Use distro module to detect the distribution name.
`platform.linux_distribution` is deprecated.

Fix #415
2020-05-17 17:57:24 +02:00
ChrisLi
d0677492d1 remove from CI 2020-05-10 19:55:45 -04:00
Matthieu Gautier
2f151df63c Update version of meson.
We should not force a specific version as it is a environment problem,
but for now, set it.
2020-01-21 13:49:12 +01:00
Kelson
2d7b96c997
Add Ubuntu 2020-04 focal to the CI (#393) 2019-12-16 13:24:32 +01:00
Kelson
0020784c89 Avoid duplicates CI builds 2019-12-09 09:10:06 +01:00
Matthieu Gautier
00aced4649 Use fedora 30 to cross compile kiwix-tools. 2019-09-06 12:25:51 +02:00
Matthieu Gautier
3a8151d841 Compile kiwix-tools for windows with a recent mingw. 2019-09-05 14:32:54 +02:00
Matthieu Gautier
ab1ade53e3 Do not copy kiwix-build in docker at creation but mount it at run.
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.
2019-09-04 17:10:44 +02:00
Matthieu Gautier
629fccb327 Fix deploy
- Also deploy when we have DESKTOP_ONLY (because docker image doesn't
deploy anymore)
- Correctly get the list of git directory to push.
2019-05-30 18:13:22 +02:00
Matthieu Gautier
def0163dfe Fix deployement of archive.
The user name in docker is `ci_builder` not `builder`.
2019-05-27 16:46:36 +02:00
Matthieu Gautier
6306a4d31b As appimage and flatpak use same ubuntu version, merge dockerfiles.
- 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.
2019-05-13 17:02:39 +02:00
Matthieu Gautier
bf5e378963 Do not try to deploy things when we are building docker images. 2019-05-06 18:32:41 +02:00
Matthieu Gautier
0142dc94d4 [CI] Start to build flatpak first in the CI
The flatpak build is the longer job. By starting it in the first jobs,
we reduce a bit the total build time.
2019-05-03 10:52:14 +02:00
Matthieu Gautier
2b2dd9f118 Do not build the multi arch android app on pullrequest.
We already build on all android arch on specific job.
So no need to check recompile the same thing.
2019-05-03 10:52:14 +02:00
Matthieu Gautier
556095f893 Build android after all other build.
Because we need the android_<arch> build to be done before.
2019-05-03 10:52:14 +02:00
Matthieu Gautier
19ac17a637 Build the docker images in a separated stage.
Images are push to kiwix/kiwix-build_ci
2019-05-03 10:43:50 +02:00
Matthieu Gautier
281adbd768 Build everything in a container.
Docker containers don't have the SSH_KEY so we need to copy
archives and git repo in a directory on the host and
launch deploy.sh script from there.
2019-05-02 17:44:56 +02:00
Matthieu Gautier
d8288a94d5 Build on travis using xenial. 2019-04-16 17:16:36 +02:00
Matthieu Gautier
4ac7fb1ed0 Notify by mail if build fails 2019-03-19 15:25:11 +01:00
Matthieu Gautier
6200239bba Correctly use TRAVIS_BUILD_DIR in docker.
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.
2019-03-19 15:25:11 +01:00
Matthieu Gautier
b130b85066 Add tmp.kiwix.org to known hosts. 2019-03-06 10:14:02 +01:00
Matthieu Gautier
c8285a371d Fix creation of appimage.
Now that issue probonopd/linuxdeployqt#340 is fixed with a new option
`-unsupported-allow-new-glibc`, we can revert commit 4329629f
2019-02-20 09:47:45 +01:00
Matthieu Gautier
72b1f5c2ef [TRAVIS] Android build cannot fail anymore. 2019-02-05 16:23:36 +01:00
Matthieu Gautier
68902b5642 Build libzim in native_mixed platform on travis. 2019-02-04 17:01:28 +01:00
Matthieu Gautier
681c5b4ec2 [Travis] Use python3.5 instead of default python3.4
Python3.5 add functionnality we need in kiwix-build.
And recent versions of meson need python3.5.
2019-01-17 15:36:32 +01:00
Matthieu Gautier
4329629f97 [Travis] Allow the desktop appimage build to fail.
`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
2019-01-15 11:16:48 +01:00
Matthieu Gautier
9679c01254 Run docker with all privileges. 2018-11-30 11:37:23 +01:00
Matthieu Gautier
086361b432 Build the flatpak in travis.
Use docker to have the last version of ubuntu (and flatpak)
2018-11-27 17:22:47 +01:00
Matthieu Gautier
0600be96ac Force the build of libcurl instead of using system one.
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.
2018-10-31 15:33:12 +01:00
Matthieu Gautier
1e67a6b50f Add libcurl dependency.
This is needed for new kiwix-lib version.
We also remove libaria as kiwix-lib use aria2 binary directly.
2018-10-23 11:57:58 +02:00
Matthieu Gautier
3b483f9011 Do not build for mips and mips64 by default. 2018-08-22 16:44:53 +02:00
Matthieu Gautier
d91f40b467 Export TRAVIS_TAG env var in docker 2018-08-05 20:00:14 +02:00
Matthieu Gautier
cd0d075def Do not try to decrypt the ssh_key if we cannot.
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.
2018-07-11 15:55:11 +02:00
Matthieu Gautier
f5fdc70e84 Revert "Try to decrypt the secret key only if we will do a deployement."
`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.
2018-07-11 15:19:23 +02:00
Matthieu Gautier
74efad49e2 Try to decrypt the secret key only if we will do a deployement.
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.
2018-07-11 14:06:18 +02:00
Matthieu Gautier
1ca7ab6a86 Do not try to deploy if we are running a Docker build.
The deploy will be made in the docker itself.
2018-06-20 15:13:39 +02:00
Matthieu Gautier
8b5715acff Revert "Do not deploy on native_dyn linux platform."
This reverts commit 8db9def67d.
2018-06-20 15:11:27 +02:00
Matthieu Gautier
37ebcf83ae Use Docker to build kiwix-desktop only.
Keep default travis env for everything else.
2018-06-15 15:57:57 +02:00
Matthieu Gautier
2a18f74786 Do not build with gcc-5.
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.
2018-06-13 10:57:32 +02:00
Matthieu Gautier
8db9def67d Do not deploy on native_dyn linux platform.
The deployement is already made in the Docker.
"Classic" deploy will fail because there will be no archive to deploy.
2018-06-12 18:03:28 +02:00
Matthieu Gautier
269e2b39a6 Build the kiwix-desktop app image in Travis. 2018-06-12 16:31:57 +02:00
Matthieu Gautier
ded38889cf Use docker to build native_dyn.
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.
2018-06-11 16:50:44 +02:00
Matthieu Gautier
4dea44d305 Fix travis CI 2018-06-08 10:29:26 +02:00
Matthieu Gautier
e6c5624127 Create "date" directory when deploying nightly build.
The directory is create by simply copying the full directory instead of
individual files.
2018-05-14 22:10:40 +02:00
Matthieu Gautier
b4f8d2cc7b Build kiwix-lib for iOS on travis CI. 2018-04-24 15:02:28 +02:00
Matthieu Gautier
3ad73093f5 [TRAVISCI] Build kiwix-lib on macOS 2018-04-17 17:41:08 +02:00
Matthieu Gautier
1ed8889e26 Do not do unecessary build.
Build only if the travis event is not a push (pull_request, cron, ..)
or we are pushing a tag (to build releases).
2018-04-16 16:13:17 +02:00
Matthieu Gautier
f983b8431b Do not build android mips in travis in case of cron or pull_request.
Related to #121
2018-04-16 15:07:28 +02:00
Matthieu Gautier
27bce3cd99 Add missing package for i586 ubuntu in travis. 2018-04-06 18:59:15 +02:00