Commit Graph

221 Commits

Author SHA1 Message Date
Matthieu Gautier c9078c0ca1 Run whole kiwix-build under shell 2024-05-16 18:05:18 +02:00
Matthieu Gautier 3d8580eee2 Copy all Git dir 2024-05-16 17:51:32 +02:00
Matthieu Gautier 4c23ac3c02 cp bash stuff in dir without space 2024-05-09 16:49:47 +02:00
Matthieu Gautier 2ccea4c84b update list info 2024-05-07 15:08:12 +02:00
Matthieu Gautier 31858fdd8b print info 2024-04-30 19:48:27 +02:00
Matthieu Gautier 0b325c4f14 Remove --verbose 2024-04-30 19:20:13 +02:00
Matthieu Gautier c2ad109c32 WIP print path 2024-04-30 15:59:12 +02:00
Matthieu Gautier dbf98f2c70 Use python 3.12 2024-04-30 15:18:48 +02:00
Matthieu Gautier 4718001a52 Launch kiwix-build verbose 2024-04-22 16:30:02 +02:00
Matthieu Gautier f829493502 Set arch deps name on Windows. 2024-04-22 16:15:53 +02:00
Matthieu Gautier b357bcfd6b Correctly strip newline (on Windows) 2024-04-22 16:06:33 +02:00
Matthieu Gautier 6644ff56c8 Update secrets 2024-04-22 15:51:13 +02:00
Matthieu Gautier 371f434a8b [TOREVERT] Build only Windows on CI 2024-04-22 15:38:50 +02:00
Matthieu Gautier 179d4af164 Fix upload_failure_logs.py 2024-04-22 15:37:23 +02:00
Matthieu Gautier 2033f7c786 Fix rebase 2024-04-22 15:15:10 +02:00
Matthieu Gautier 5489769907 Fix workflow indentation 2024-04-22 15:15:10 +02:00
Matthieu Gautier 72b2cf964f Use python to update failure logs. 2024-04-22 15:15:10 +02:00
Matthieu Gautier 3c9671bd0b Use paramiko module to upload archives. 2024-04-22 15:15:10 +02:00
Matthieu Gautier 9ac71daa59 Correctly get temp dir on Windows. 2024-04-22 15:15:10 +02:00
Matthieu Gautier 0f61f9a123 Add secrets 2024-04-22 15:15:10 +02:00
Matthieu Gautier 0265d8fdc4 Setup MSVC in CI. 2024-04-22 15:15:10 +02:00
Matthieu Gautier 9b4f64c4af Build only libzim (and dependencies on Windows) 2024-04-22 15:15:10 +02:00
Matthieu Gautier d4aa0090c5 Build on Windows with github-actions. 2024-04-22 15:15:10 +02:00
Matthieu Gautier 89802f5e07 Publish deps archive on macos arm64 using mixed config. 2024-04-12 11:54:38 +02:00
Matthieu Gautier a0baee815f Update to python 3.10 2024-04-12 11:52:49 +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 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 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
renaud gaudin a79b08f4c5
build on macos-13 with xcode 15.0.1 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
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 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