Commit Graph

31 Commits

Author SHA1 Message Date
Isaac Hutt 14d4651504
Fix Android APK output location 2018-01-02 22:51:11 +00:00
kelson42 680c95b1fc Fix kiwix-tools archive name for linux64 2017-12-17 19:34:44 +01:00
mhutti1 38ba4dbcc2 Change apk output directory to new location 2017-12-15 11:06:49 +00:00
Matthieu Gautier 6768631b25 Force installation of meson 0.43.0.
There are some problem in meson 0.44.0.

`meson` change the way it detects static libraries (to something that seems
better to me), but it breaks some of our build that we have to fix.

Until we have fixed our dependencies declaration, let's force meson to
be in 0.43.0.
2017-12-13 15:09:58 +01:00
Matthieu Gautier 43937caf6d Make travis create the dist archive.
TODO: Copy the archive at the right place.
2017-12-05 09:32:47 +00:00
Matthieu Gautier bb5b85da50 Make travisCI publish binaries as release versions when tag is pushed.
This publish the same this that nightly build except that :
- Use the `--make-release` option to force kiwix-build to use tagged
  version of subprojects.
- The archives are named using the tag name.
- The archives are pushed to "releases" directory in download.kiwix.org.
2017-12-05 09:32:47 +00:00
Matthieu Gautier 19730ed7c3 Compile zim-tools only on native platform.
There is no gcc-5 compiler available for cross-compiling.
2017-11-28 13:13:15 +00:00
Matthieu Gautier 53ecc65b9d Zimwriterfs need libmagic-dev.
Install the package `libmagic-dev`.

There is no precompiled libmagic package from cross-compilation and we
are mainly using zimwriterfs only on linux.
2017-11-28 13:11:39 +00:00
Matthieu Gautier 89e6068572 Also compile zim-tools and zimwriterfs in the CI.
Nightly will also be publish alongside with other nightly's.

Fixes #89 and #90
2017-11-28 12:26:01 +00:00
Matthieu Gautier e43e502cb7 Fix installation of meson and pillow (pip3) in travis.
I don't know why, but the travis build doesn't work since few days.
It seems that pip3 cannot install in `/usr/local` anymore.
Probably related to last travis change* as a lot of people seems to have
problem with this update and python (even if this is not the same problems)

Anyway, we should not install a dependencies in global environment without
a sudo. Let's install the pip3 dependencies for the user only.

[*] https://docs.travis-ci.com/user/build-environment-updates/2017-09-06/
2017-09-11 11:13:45 +02:00
Matthieu Gautier f16c909090 [CUSTOM_APP] Correctly set the version_name.
The version_name need to be set a compilation time.
By default the version_name is taken from json info file.
But a user may want to change it.
2017-07-18 15:57:12 +02:00
Matthieu Gautier e57c0fccaa Use the real key to sign apk. 2017-06-25 15:49:49 +02:00
Matthieu Gautier 71650ffebd Add a option to deactivate APKs upload to android play store.
APKs are pushed to a http accessible address.
This is needed as first association of APKs to an application must be
made manually.
2017-06-25 15:49:49 +02:00
Matthieu Gautier 22fffcee51 Add script to build customapp 2017-06-25 15:49:49 +02:00
Matthieu Gautier 5cc3ede3e3 Hide the progress information in TravisCI.
With progress information shown, the android build logs are bigger than
4Mo and travisBuild fails. So we have to hide them in travis.
2017-05-09 10:28:05 +02:00
Matthieu Gautier 07c3dbe8b9 Compile and publish armhf architecture using travis CI. 2017-04-28 17:22:25 +02:00
Matthieu Gautier c15ddde6eb Make travisCI publish nightly kiwix-android APKs. 2017-04-24 18:21:25 +02:00
Matthieu Gautier 86c1547f88 Allow kiwix-build to build android APK.
Previous script (from kiwix repository) created a APK with all architecture embeded.
Now, we generated a APK per architecture. It simplify the build process and
generate smaller APKs.
2017-04-24 15:26:51 +02:00
Matthieu Gautier b8f242c504 Use absolute path to reference ssh key.
Relative path is a bad idea, it fails if we change the current directory.
(And it actually fails with the scp)
2017-04-18 18:35:05 +02:00
Matthieu Gautier 254d036c42 Publish the dependencies archives as soon as they are generated.
We may end in a deadlock if we publish dependencies archives at the end
of the compilation and if all compilation succeed.

For example project B may depend on project A.
If we change the project A API and the project B code to reflect the API
change and merge A' API in master and create a PR for B, the PR for B
will need a new archive with new project A' API.
However, as B' master fails with new A, the whole compilation fails and
nothing is publish. So B'PR is never compiled successfully.

By publish the archives as soons as generated, the A' new API will be
published and B'PR will compile correctly, even if master fails.
Will be able to merge B'PR without bypassing travisCI.
2017-04-18 11:58:51 +02:00
Matthieu Gautier 2290d0a135 Add a manifest describing the archive in the archive.
This is not especially necessary but it may help for future debugging.
2017-04-18 11:09:14 +02:00
Matthieu Gautier cab89b38c0 Publish intermediate dependencies in a http accessible directory.
Those dependencies will be used by travis CI in other projects.
We want to avoid other project to need a ssh key to get them :
- To avoid spread(and maintenance) of ssh key.
- For PR coming from another repositories, ssh key is not available.

By making those dependencies available by http, we simplify the process.

Fix partially #34.
Archives download need to be updated in client projects.
2017-04-18 11:07:46 +02:00
Matthieu Gautier 77f66b6363 Cron job now publish dependencies archives for other travis projects.
If we want to build other projects (kiwix-lib, kiwix-tools) with travis,
it is better to have all dependencies already compiled.

kiwix-build project now compiles them and publishes the dependencies
archive at the right place where other projects can use them.
2017-04-08 21:34:25 +02:00
Matthieu Gautier 716ffbc9ff Change the right of travisci_builder_id_key in the .travis.yml
This is better there. Instructions to prepare the ssh should be in the
same place.
2017-04-08 21:34:25 +02:00
Matthieu Gautier eac3b79151 Do not install unneeded package in travis/install_extra_deps.sh 2017-03-13 13:18:14 +01:00
Matthieu Gautier 29bba313bc [API change] Use just one option to specify the build target.
There is no more option for static or share build. This value is
integrated in the build-target.
2017-03-13 13:18:14 +01:00
Matthieu Gautier d78bc45be1 Properly fail in travis if sub-script fail.
Make `kiwix-build.py` also fail if sub-command fail instead of just print
an error message and quit.

`kiwix-deploy.py` is far more simple and already fails miserably if a
sub-command fails.
2017-02-13 11:53:40 +01:00
Matthieu Gautier 5f01937d69 [TRAVIS] Be sure that ssh key has correct file rights. (Bis)
The ssh key right mode must be 600. (644 is for public key...)
2017-02-12 19:09:10 +01:00
Matthieu Gautier 57eadef4a0 [TRAVIS] Be sure that ssh key has correct file rights.
The ssh key right mode must be 644.
2017-02-12 12:56:01 +01:00
Matthieu Gautier 99c94b552e [TRAVIS] Add a script to deploy archives on download.kiwix.org/nightly 2017-02-08 10:09:42 +01:00
Matthieu Gautier 7d6b2d2135 Add Travis support.
We now build static/dynamic on ubuntu(native) and win32(cross-compilation).
2017-02-07 14:35:34 +01:00