Commit Graph

33 Commits

Author SHA1 Message Date
Matthieu Gautier c25a2e63e3 [CI/CD] Use config instead of target in the CI. 2024-02-05 18:03:12 +01:00
Matthieu Gautier 45b459a03a Trigger docker workflow at the end of other jobs. 2023-07-27 15:20:00 +02:00
Matthieu Gautier 7e9a145bc5 Introduce D(ocker) build definition.
Partially fix #629
2023-07-26 15:09:13 +02:00
Matthieu Gautier 07e72ffba4 Extend the build definition with P(ublish) and S(ource)
This allow us to better control what we publish.
This fix #628
2023-07-26 15:04:37 +02:00
Matthieu Gautier d6a2901ff8 Fix typos in build_release_nigthly 2023-06-08 10:15:38 +02:00
Matthieu Gautier 6fe37ba0de Rename osx to macos. 2023-06-02 16:09:22 +02:00
Matthieu Gautier e59e3698b2 Open build definition system to more complex build definition. 2023-06-02 15:58:53 +02:00
Matthieu Gautier fc81551555 Remove unused import. 2023-06-02 15:58:02 +02:00
Matthieu Gautier fd46c52473 Move the definition of what to build in a table.
This provide a better visual definition (and potential better explicit)
of the previous code base on `if/else`.
2023-06-02 15:58:00 +02:00
Matthieu Gautier 4b8862a959 Use only one code to determine what to build.
As we build the "same"[*] things with build_project and build_release_nightly,
let's use the same code.

[*] We are not building the same things has we don't run the same runners
(not the same `PLATFORM_TARGET`) but for a given `PLATFORM_TARGET`, we
are building the same things.
2023-04-12 11:26:12 +02:00
Matthieu Gautier b905e87280 Fix compilation on CI macOS
We don't want to compile zim-tools on macOS_arm64_dynamic.
2023-04-12 11:26:12 +02:00
Matthieu Gautier ae3b1b6a25 Build zim-tools cross-compiling. 2023-04-11 12:05:06 +02:00
Matthieu Gautier b4e0d60363 Build and publish libzim and libkiwix on macos_arm64. 2023-03-30 14:18:53 +02:00
Matthieu Gautier 18c5d3bf5f Publish nigthly and release of kiwix-tools on aarch64 2023-03-29 11:40:04 +02:00
Matthieu Gautier 8e61acbca2 Addapt CI to build armhf and aarch64.
- Aarch64 added
- libzim compilation on (armhf|aarch64)_mixed added.
2023-03-28 17:57:39 +02:00
Matthieu Gautier 07d1561a87 [CI] Build libkiwix on on native_mixed 2022-11-30 14:22:13 +01:00
Matthieu Gautier 16fc490ae7 Add build of libzim on wasm in the CI 2022-11-16 16:37:05 +01:00
Matthieu Gautier f7706428a2 Make release only if we are running the workflow on a `r_xx` tag.
Also check that we are not a scheduled workflow
(But it is more a double check. This shloud not happen)
2022-09-28 15:09:53 +02:00
Matthieu Gautier 33c2ec2c4d Build and release libzim for android on the CI 2022-06-28 12:24:06 +02:00
Matthieu Gautier 9c220866ac Build and release each libkiwix android builds independently.
While it is ok to build all libkiwix android builds in one step,
the "release system" upload only one archive per platform.
So we need 4 platforms to do 4 uploads.

As we don't build on "android" platform now, we can clean up our scripts.
2022-06-10 10:26:24 +02:00
Matthieu Gautier 7086009a0a We don't need to upload to bintray now. 2022-06-10 10:11:01 +02:00
Matthieu Gautier 72c271a74c Remove LibkiwixApp
The project was used to assemble all android compilation in one
multiplatform java archive.

This allow use to remove android_sdk and Gradle builder
2022-06-09 10:28:59 +02:00
Matthieu Gautier aa349a18e7 Rename kiwix-lib to libkiwix.
The new name of kiwix-lib is libkiwix. Let kiwix-build adopt the name.
2021-06-30 16:45:54 +02: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 1dde278ad6 Correctly set the extra postfix for android kiwix-lib. 2020-08-27 19:20:05 +02:00
Matthieu Gautier e81a2e7006 Merge tag 'r_10' 2020-07-15 16:20:16 +02:00
Alexander Sashnov da31dd428e remove 'zimwriterfs' project from build and CI configuration
'zimwriterfs' is now a part of zim-tools (openzim/zim-tools/#92)
2020-07-08 16:54:14 +02:00
Matthieu Gautier 2d1e8d0202 Also do the kiwix-lib release (for source publication) 2020-07-02 15:38:24 +02:00
Matthieu Gautier 7afa3f6a52 Correctly build release of kiwix-lib on android.
The name of the target is `kiwix-lib-app` on android but the key
in the version directory is `kiwix-lib`.
2020-07-01 11:30:26 +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 497967236e Publish release source archive on "native_mixed" platform.
`libzim` is build on "native_mixed", not "native_dyn".
2020-05-25 13:08:57 +02:00
Matthieu Gautier e020eb35ac [WIP] Move the release process to github actions. 2020-05-21 12:13:36 +02:00