Commit Graph

107 Commits

Author SHA1 Message Date
Matthieu Gautier bea72574b0 Use python to update failure logs. 2024-06-07 15:36:58 +02:00
Matthieu Gautier bdda21f7c7 Use paramiko module to upload archives. 2024-06-07 15:36:58 +02:00
Matthieu Gautier 92673f357b Build on Windows with github-actions. 2024-06-07 15:29:55 +02:00
Matthieu Gautier 683250ca9d Use manylinux container instead of bionic
Alignement of the table in build_definition will be fixed in later commit
to not mix functionnal and cosmetic changes in the same commit.
2024-06-03 10:42:49 +02:00
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 d59902f460
Add OS_NAME to docker trigger job 2023-11-17 15:01:32 +00:00
renaud gaudin aa29f5029a
Fixed docker workflow trigger
There is no such thing as a `LINUX_DOCKER_TRIGGER` platform target nor expected OS_NAME.
BuildDefinition expects the docker publish trigger to happen for native_static
2023-11-16 10:54:27 +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
Emmanuel Engelhart 0f0f7c5003
Move CI container creation to kiwix/container-images 2023-10-29 11:57:59 +01:00
Matthieu Gautier c2cd1331b7 Correctly set the docker image for `x86-64_musl`.
Use the same strategy that for `CI` workflow:
- By default use a target with `image_variant` to `focal`
- Add include for other image_variant.
2023-10-25 10:20:48 +02: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 a6aa18cfcc Add missing env variable.
The variables are not used in the context of docker triggering.

I prefer set dummy variables instead of use a default value in the code
to be sure that the variable are defined when needed.
2023-07-29 13:33:37 +02:00
Matthieu Gautier 32db47d007 Add missing `runs-on` 2023-07-28 10:12:17 +02:00
Matthieu Gautier 45b459a03a Trigger docker workflow at the end of other jobs. 2023-07-27 15:20:00 +02:00
Matthieu Gautier 10e920ca00 Fix typos 2023-06-15 09:48:08 +02:00
Matthieu Gautier 64a686effe Build aarch64_musl on the CI. 2023-06-14 15:57:49 +02:00
Matthieu Gautier d1b39dfb98 Correctly build native_mixed on bionic and focal.
If `native_mixed` is part of the original target, the "include" with the
`image_variant` will overwrite the combination.

If we remove `native_mixed`, both combinations are added.

See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstrategymatrixinclude
2023-06-13 12:38:36 +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 fd53141b9c Use docker image version 38. 2023-04-28 10:00:11 +02:00
Matthieu Gautier 02e2598056 Build zim-tools and kiwix-tools and macosOs_arm64. 2023-04-27 19:10:55 +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 65cf449c66 Update docker image to 37. 2023-04-18 10:34:08 +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 9ee7567e80 Fix typos 2023-04-11 12:05:06 +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 9f448f83de
Use fix versions for CI/CD 2023-03-19 15:24:33 +01:00
Emmanuel Engelhart eae088e80f
Remove unecessary dependence to container workflow 2023-03-19 15:22:50 +01:00
Emmanuel Engelhart f376e82aac
Use new container images v36 2023-03-16 10:42:07 +01:00
Emmanuel Engelhart 92951ee827
Fix container image tagging 2023-03-16 10:31:08 +01:00
Emmanuel Engelhart 245ca71692
Rename container workflow file 2023-03-16 09:34:22 +01:00
Emmanuel Engelhart bd58d50051
Fix docker tag command 2023-03-16 09:33:56 +01:00
Emmanuel Engelhart ea3a07e3c2
Fix container release 2023-03-16 09:05:03 +01:00
Emmanuel Engelhart ad6de2897e
Better name for container workflow 2023-03-16 09:01:50 +01:00