Commit Graph

51 Commits

Author SHA1 Message Date
Emmanuel Engelhart 4b33546b77
Update actions relying on old Node.js16 2024-05-02 11:35:59 +02:00
Matthieu Gautier a0baee815f Update to python 3.10 2024-04-12 11:52:49 +02:00
Matthieu Gautier c25a2e63e3 [CI/CD] Use config instead of target in the CI. 2024-02-05 18:03:12 +01:00
renaud gaudin 8c5bca05b7
Updated CI and builddef for renamed platform ; including new arm64 simulator 2023-12-05 07:04:53 +00:00
renaud gaudin a063b91349
Build CoreKiwix.xcframework
CoreKiwix.xcframework is the packaging format required by Kiwix apple (macOS/iOS) reader for libkiwix.
Naming will hopefully be revisited later (libkiwix.xcframework?)

This folder is a combination of all static archive (*.a): dependencies and libkiwix itself
for all apple-supported platforms: macOS x86_64, macOS arm64, iOS arm64 and iOS x86_64.
It also includes the headers.
Note: while iOS archs are separated in the framework, the macOS archs are bundled as a fat binary.

This thus adds:

- A new `apple_all_static` target that lists mentioned sub-platforms.
- A new `AppleXCFramework` virtual dependency and builder
  -  requires `libkiwix`
  - merges the archives into one per target
  - creates the fat binary for macOS
  - creates the xcframework
- `libkiwix_xcframework-VERSION.tar.gz` because platformname is xcframework
  - it only contains the xcframework but in libkiwix_xcframework-VERSION/lib folder
    Because with this virtual target, there are no other files
  - requires a new `xcframework` platform_name in builddef
- subplatforms deps and macOS/iOS _ok files to make_deps_archive

---

https://developer.apple.com/documentation/xcode/creating-a-multi-platform-binary-framework-bundle
2023-11-15 08:50:00 +00:00
renaud gaudin 670bbb0417
removed iOSMacABI target as useless 2023-11-09 08:14:52 +00:00
renaud gaudin a79b08f4c5
build on macos-13 with xcode 15.0.1 2023-11-09 08:14:52 +00:00
Emmanuel Engelhart b743487ba0
Use CI container image 2023-10-30 2023-10-30 20:07:22 +01:00
Matthieu Gautier 3f908f429c Remove `x86-64_musl_dyn` from the CI.
This target fails on the CI because of conflict between the builded
libraries (lzma, libz) and native library.
As they are both for the same arch but with different libc, python tries
to load them and fails.

There is a real bug somewhere in our toolchain but we need to build for
x86_64 musl right now and this is done in `x86-64_musl_mixed` which pass.
So let's remove it for now.

(`x86-64_musl_dyn` fails with the docker image. It is ok with native
(fedora 38) system)
2023-10-24 10:53:31 +02:00
Matthieu Gautier 0ae6b0766b Build x86-64_musl in the CI 2023-10-23 10:19:12 +02:00
Matthieu Gautier 64a686effe Build aarch64_musl on the CI. 2023-06-14 15:57:49 +02:00
Matthieu Gautier 6fe37ba0de Rename osx to macos. 2023-06-02 16:09:22 +02:00
Matthieu Gautier 8237adf950 Do not use a specific target `native_desktop`.
`native_desktop` is not a real target_platform. It is workaround to
specify "build only kiwix-desktop on native_dyn".

It was useful, when we need to build kiwix-desktop on a different build
env than the other project (because of packaging constraints).
Now we can build kiwix-desktop and all other projects on the same build
env, we can remove it and build kiwix-desktop with other `native_dyn`.
2023-06-02 16:09:22 +02:00
Matthieu Gautier a302a597e2 Remove `lib_postfix` from CI.
This variable is never used.
2023-05-22 19:03:57 +02:00
Matthieu Gautier c6ea16edd9 Build for armv6 and armv8 on the CI. 2023-05-22 19:03:57 +02:00
Emmanuel Engelhart 7db62390f1
We should build using macos11 2023-05-20 16:15:24 +02:00
Emmanuel Engelhart a11b813f82
Use always fix version of macOS & Ubuntu 2023-05-04 15:06:52 +02:00
Matthieu Gautier fc3b446c76 Also build libzim mixed for aarch64 on bionic. 2023-04-26 16:54:35 +02:00
Matthieu Gautier 7a0f490e00 Update CI workflows
Update CI to build on native_mixed bionic and build the bionic docker
image.
2023-04-26 15:21:17 +02:00
Matthieu Gautier 0919f4d3dd [WIP] Use the docker image of our branch. 2023-04-12 16:53:32 +02:00
Matthieu Gautier c9e9c5c070 Move all our CI to focal instead of bionic
Bionic is EOL.
2023-04-12 16:53:32 +02:00
Matthieu Gautier ae3b1b6a25 Build zim-tools cross-compiling. 2023-04-11 12:05:06 +02:00
Matthieu Gautier b218875d49 Rename `macOS_arm64` to `macOS_arm64_static`.
Publication code in `.github/scripts` expected that `foo_mixed` target
is tied to a `foo_static` target.
2023-03-30 14:18:53 +02:00
Matthieu Gautier b4e0d60363 Build and publish libzim and libkiwix on macos_arm64. 2023-03-30 14:18:53 +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
Emmanuel Engelhart f376e82aac
Use new container images v36 2023-03-16 10:42:07 +01:00
Emmanuel Engelhart 534dee9c94 Use new Docker images for kiwix-build CI 2023-03-15 13:25:13 +01:00
Emmanuel Engelhart b977392446 Remove CI container builds 2023-03-15 13:25:13 +01:00
Emmanuel Engelhart 3138c71b82
Update GitHub actions to latest version 2023-02-05 08:45:47 +01:00
Matthieu Gautier 16fc490ae7 Add build of libzim on wasm in the CI 2022-11-16 16:37:05 +01:00
Veloman Yunkan 1755044333 Added CI image for Alpine 2022-07-11 17:38:07 +04: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
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
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 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 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