Commit Graph

42 Commits

Author SHA1 Message Date
Matthieu Gautier f1ac1b0121 Build everything using bionic instead of xenial 2022-03-11 15:05:25 +01:00
Matthieu Gautier 32f1bfdab3 Do not force a specific version of meson.
We were forcing a spcefic version has a workaround to meson issue.
We don't need now, and recent version is needed to compile on armhf.
2022-03-11 15:04:17 +01:00
Matthieu Gautier af3cff6aeb Build flatpak in CI 2022-03-10 16:21:14 +01:00
Matthieu Gautier cdf4dab0a5 Cross compile windows on fedora 35. 2022-03-10 15:19:51 +01:00
Matthieu Gautier 01e8f92348 Build the projects in the CI.
We used to build only the base dependencies in the CI
(and build the projects in nightly&Release workflow).
Now always build the projects.
2022-03-10 15:19:51 +01:00
Matthieu Gautier 5e6f68a3ef Use python 3.8 on macOS CI
Python 3.6 is not available anymore.
2022-02-02 15:18:20 +01:00
ChrisLi 1374e01c7a Make the CI build the new on the new MacOS archs. 2021-12-22 15:26:01 +01:00
Matthieu Gautier 9c04df4fb2 [CI] Install automake and autoconf on macos. 2021-07-27 16:45:04 +02:00
Matthieu Gautier 73e0cec0aa Update bionic docker image to use qt 5.15 instead of default qt version. 2021-06-23 17:27:52 +02:00
renaud gaudin 079e03473b Change time server in workflow
For the past week, the Release&Nightly workflow failed on macOS native_mixed
(but not on native_dyn) when calling ntp to sync clock before signing.
Calling time.apple.com resulted in a DNS error, leading to an error in ntp call

Why this fails on native_mixed is unknown. Maybe because it's being called twice
from the same (I guess) host in a short interleave?

This attempts to fix this by:
- using google's time server instead of Apple's
- correctly setting the timeout param before the server name (although not relevant
for this dns-based error)
- Ignore failures to sync time. We're doing it to minimize chances of unsynched clocks
to fail the signature but this is not absolutely required all the time.
2021-03-23 12:46:20 +00:00
renaud gaudin 0de55705cf allow more time for ntp server to respond 2021-02-16 12:18:09 +00:00
renaud gaudin b3f66e0ac0 time update requires sudo 2021-02-15 09:42:50 +00:00
renaud gaudin fd590a5b4b fixed syntax for macOS signing 2021-02-11 08:06:06 +00:00
renaud gaudin ea55cac32d Fixed #469: Notarizing libzim release for macOS
This adds the notarization (see #469) of the libzim binary for macOS during the build.
It it not dependent on RELEASE so it benefits all builds.

It basically does two things:
- sign the build with our Developer ID certificate from Apple.
- Request notarization from Apple for the binary.
At the moment, it concerns only libzim. Might expand that to libkiwix and the zim/kiwix tools
once we start releasing those.

Github Actions prepare the certificate and environment, and signing+request is done in `notarize_macos_build()` (common.py)

It required the following new secrets:

| secret | value |
|---|---|
| `APPLE_SIGNING_CERTIFICATE` | base64 of the P12 certificate |
| `APPLE_SIGNING_P12_PASSWORD` | password for the P12 certificate (we chose that when exporting to P12. Apple doesnt provide P12) |
| `APPLE_SIGNING_IDENTITY`| Common name of our certificate. Not a private info but seems better suited there than in the CI |
| `APPLE_SIGNING_TEAM`| Apple Developer Team ID (mentionned in the signing identity) |
| `APPLE_SIGNING_ALTOOL_PASSWORD`| app-specific password created to request notarization |
| `APPLE_SIGNING_ALTOOL_USERNAME`| username associated with the app-specific password. Must be an Apple ID with perms on the Certificate. Currently mine. |
2021-02-09 13:30:24 +00:00
renaud gaudin ff66a96980 Fixed #465: trigger docker publish on release
This triggers a `workflow_dispatch` event on the `docker.yml` workflow or the matching
repository for both `zim-tools` and `kiwix-tools` targets that supports it.
2021-01-13 15:58:33 +00:00
Matthieu Gautier 6434150da9 [CI] Fix macos brew install packages (release&Nightly) 2020-10-28 16:40:02 +01:00
Matthieu Gautier 8846acc8cf Fix macos brew install packages.
Directly use brew instead of `get-package` action.
`get-package` seems to be broken with some invalid git command.
2020-10-27 14:20:57 +01:00
ChrisLi 674d6bf6df CI 2020-08-28 14:16:25 -04:00
Matthieu Gautier 907bd61f59 Add BINTRAY secrets to env variables. 2020-07-01 16:32:03 +02:00
renaud gaudin 8478d65c90 enable compilation of native_mixed on macos
Issue #349 requires a native_mixed for macOS.
native_mixed is working for libzim so we whitelist it.

On the release CI, we fix the macos dylib rpath so it doesn't include the
full build-install step path which is probematic for a distributed file.

We build native_mixed for OSX in both CI and release mode
2020-06-17 09:04:10 +00:00
Matthieu Gautier 2243ca9d91 Deactivate static build on bionic.
See #447
2020-06-10 14:26:11 +02:00
Matthieu Gautier 4bdbc5ac53 Build the base deps on bionics also.
This will allow other project to have their CI running on bionics.
2020-06-09 11:37:56 +02:00
Matthieu Gautier 925943a5ee Fix checkout of code.
Correctly handle tag ref.
2020-05-25 12:21:10 +02:00
Matthieu Gautier 040171129a Fix release tag format.
The release tag format change to a classic tag triplet format `\d.\d.\d`
to a custom one `r_\d`.
2020-05-25 12:21:10 +02:00
Matthieu Gautier e27fd7b83d Use distro module to detect the distribution name.
`platform.linux_distribution` is deprecated.

This is a recommit of 0fe69e3 now that we moved every thing on github
actions.
2020-05-21 19:55:40 +02:00
Matthieu Gautier e020eb35ac [WIP] Move the release process to github actions. 2020-05-21 12:13:36 +02:00
Matthieu Gautier b68236526d Revert "Use distro module to detect the distribution name."
This reverts commit 0fe69e3991.

This break installation of kiwix-build in travis' docker image.
2020-05-18 13:46:19 +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
Kelson 3c8a9ffbfe
Use standard name for CI (#433) 2020-04-07 18:17:38 +02:00
Matthieu Gautier 2c14c1a705 Build base for all iOS architectures. 2020-02-21 15:12:17 +01:00
Matthieu Gautier b790c00187 [action] Correctly fetch the right branch in the CI 2020-02-12 11:25:03 +01:00
Matthieu Gautier a912b890e0 Run base build every day at 1h 2020-02-05 12:11:40 +01:00
Matthieu Gautier b6e5912075 Run schedule every 20 minutes (test) 2020-02-05 11:53:46 +01:00
Matthieu Gautier 3326cda7e3 Schedule a base build everyday. 2020-02-05 11:25:18 +01:00
Matthieu Gautier 70b3ed0c76 Update docker images 2020-01-21 15:01:05 +01:00
Matthieu Gautier 1b7a2c812e Add missing platforms.
No iOs for now.
2020-01-21 13:49:12 +01:00
Matthieu Gautier f73e0b2abf Build base deps on macos. 2020-01-21 13:49:12 +01:00
Matthieu Gautier 1d84266751 Build all base dependencies.
Use a custom script for this.
Set `SKIP_BIG_MEMORY_TEST` to avoid launching big test on libzim.
2020-01-21 13:49:12 +01:00
Matthieu Gautier c178c6ea35 Upload an archive of the build directory in case of failure. 2020-01-21 13:49:12 +01:00
Matthieu Gautier d37acc2cbe Build basedeps archives on GithubAction.
Use a specific script to download/build the base deps.

Mainly based on script in travis/compile_all.py
2020-01-21 13:49:12 +01:00
Matthieu Gautier ce45966d40 Add a GithubAction CI to build the docker images.
No really useful for now. But will be in next commit.
2020-01-21 13:49:12 +01:00