Matthieu Gautier
244e4d209f
Add icu dlls in nightly and releases
...
On windows, we use prebuild icu and is available as dll.
So we must include those dll in all our archives.
2024-08-28 14:03:34 +02:00
Matthieu Gautier
a7f42fcc99
Compile zim-tools dependencies on Windows github CI.
2024-08-27 15:39:25 +02:00
Matthieu Gautier
45ad41724c
Package kiwix-desktop on Windows
2024-08-26 10:40:24 +02:00
Matthieu Gautier
1d93c35c50
Format common.py file.
2024-08-26 10:40:24 +02:00
Matthieu Gautier
702292c14c
[CI] Build kiwix-desktop on Windows
2024-08-26 10:40:24 +02:00
Matthieu Gautier
c0bf54486d
Correctly include dll and lib of libzim archive on Windows
2024-08-24 11:24:11 +02:00
Matthieu Gautier
cc4af80c2c
Create zip archive on Windows.
...
Fix #128
2024-08-21 15:11:42 +02:00
Matthieu Gautier
dba6065457
Build dependencies of other projects on Windows
2024-08-21 13:33:26 +02:00
Matthieu Gautier
e0ffa7bdc2
[CI] Correctly include dll and lib in libzim archive
2024-08-21 11:02:36 +02:00
Matthieu Gautier
5248b4eb2a
Use gz compression for deps archive.
...
It is a bit of memory waste but a lot of time win (at least
on android build)
2024-08-14 15:02:57 +02:00
Matthieu Gautier
703554d556
Correctly strip newline (on Windows)
2024-06-07 15:38:46 +02:00
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
1f4409d2ac
Correctly get temp dir on Windows.
2024-06-07 15:36:58 +02:00
Matthieu Gautier
62dc698fad
Build only libzim (and dependencies on Windows)
2024-06-07 15:36:54 +02:00
Matthieu Gautier
1534b85c56
Fix indentation of build_definition
2024-06-03 10:43:37 +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
Matthieu Gautier
89802f5e07
Publish deps archive on macos arm64 using mixed config.
2024-04-12 11:54:38 +02:00
Matthieu Gautier
a93b3c8896
Remove the `2` in base_deps name
2024-04-08 16:53:17 +02:00
Matthieu Gautier
afda1f6673
Make CI common script use the correct build dir.
...
- Add an option to kiwix-build to get it.
2024-04-08 16:50:10 +02:00
Matthieu Gautier
0c0eac69c4
Introduce arch_name to name build dir base on arch name instead of config.
2024-04-08 16:50:03 +02:00
Matthieu Gautier
944eedcf56
Publish deps archive name using declared `dependency_name`.
...
Instead of compose it from `OS_NAME`, `COMPILE_CONFIG`.
2024-04-08 14:48:56 +02:00
Matthieu Gautier
c6936ebc72
Introduce new dependency_name in build_definition
2024-04-08 14:48:56 +02:00
Matthieu Gautier
696242a0b1
Introduce helper `get_column_name()`
2024-03-25 15:40:16 +01: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
Matthieu Gautier
1a48bb509b
Publish CI libkiwix's dependencies for iOS cross-compilation
...
See kiwix/libkiwix#1018
2023-11-20 14:17:50 +01:00
renaud gaudin
1d70d1a0c4
Fixed incorrect py3 exception raising
2023-11-16 10:53:15 +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
6cfbd0c297
Use TMP_DIR (standard) instead of hard-coded /tmp
...
Allows overriding it
2023-11-15 08:40:22 +00:00
Matthieu Gautier
5b22821e61
Build zim-tools and kiwix-tools on macos-arm64
2023-11-09 11:52:08 +01:00
renaud gaudin
670bbb0417
removed iOSMacABI target as useless
2023-11-09 08:14:52 +00:00
Matthieu Gautier
0a02353f28
Do not publish projects deps if we are in a branch.
...
Still publish the deps in the dep_previews directory in case we
would like to test it project's CI.
2023-11-08 10:43:27 +01:00
Matthieu Gautier
cf5dde88e2
Fix naming of musl archive for x86_64.
...
Fix openzim/libzim#820
2023-11-06 14:00:37 +01:00
Matthieu Gautier
fb6d6b8e25
Package ICU data with libzim/libkiwix.
2023-11-02 17:34:24 +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
b57f83ed25
Move all toolchain installation in TOOLCHAIN directory.
...
This is a clearer install and it simplify the base_deps archive creation.
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
458aa97b36
Correctly build (and publish) dependencies for kiwix-desktop.
2023-07-31 17:44:36 +02:00
Matthieu Gautier
45b459a03a
Trigger docker workflow at the end of other jobs.
2023-07-27 15:20:00 +02:00
Matthieu Gautier
8070a750f5
Reorder few lines.
...
No functional change but it regroups lines with a platform_name.
2023-07-26 15:30:15 +02:00
Matthieu Gautier
46c663db09
Move the release platform name in the build definition.
...
Having the name of the archive define in common is splitting definition
in different files.
The purpose of build_definition is to centralize definition, so move them
there.
2023-07-26 15:28:50 +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
7cdffbe22f
Correctly add toolchains in deps archives.
2023-06-14 15:57:49 +02:00
Matthieu Gautier
1748f48197
Publish aarch64_musl.
2023-06-14 15:57:49 +02:00
Matthieu Gautier
64a686effe
Build aarch64_musl on the CI.
2023-06-14 15:57:49 +02:00
Matthieu Gautier
0f75a42498
Do not build libzim and libkiwix on macos arm64 static.
...
We should build them using mixed target only.
2023-06-12 14:46:06 +02:00
Matthieu Gautier
d6a2901ff8
Fix typos in build_release_nigthly
2023-06-08 10:15:38 +02:00
Matthieu Gautier
06d7a26cb4
Fix extraction of major version from version.
...
Taking the first char is ok only if major version is < 10.
2023-06-07 15:55:59 +02:00