Commit Graph

94 Commits

Author SHA1 Message Date
renaud gaudin f103cddd77 Trust codesign using the certificate
When build_release_nightly calls codesign to sign libzim.7.dylib, it appears to be
hanging forever.
What's most likely happening is that Keychain Access is prompting a password request
without any possibility to answer, given this is running on the CI.

It's unclear whether Keychain Access wants to confirm codesign can access the certificate
or if it is trying to unlock another (System) keychain to find the certificate or key.

This addresses the former.
2022-05-12 14:58:46 +00:00
Matthieu Gautier 90c2705b0e Fix workflow triggering in releaseNigthly workflow.
GITHUB_PAT is needed (and not needed for flatpak)
2022-03-28 10:49:14 +02:00
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