Commit Graph

155 Commits

Author SHA1 Message Date
rgaudin f888c87459
Issue #770: Dont publish built dependencies on jammy to prevent double archives
Currently, both jammy and focal publish the native_dyn versions of dependencies
for libzim and libkiwix.
This creates concurrent upload issues.
This removes this step for jammy so it gets uploaded only once.
2025-04-16 09:26:02 +02:00
Emmanuel Engelhart 525e4acc3b
Include libmicrohttpd patches on Flathub compilation 2024-12-19 17:48:03 +01:00
Veloman Yunkan a5a6ba1c52 Fixed kiwix-desktop Windows package name generation 2024-12-17 18:42:15 +04:00
Emmanuel Engelhart b1b545a65b
Properly appending '.zip' 2024-12-16 22:31:03 +01:00
Veloman Yunkan ff2ade262c Migrate kiwix-desktop appimage build to jammy 2024-12-02 11:50:46 +04:00
Veloman Yunkan 2321717c83 Added OS_NAME in build definition table for focal
Next we are going to have some CI/CD jobs running on jammy instead
of focal that's why the build platform for Linux jobs has to be made explicit.
2024-12-02 11:50:46 +04:00
Emmanuel Engelhart d03837b47f
Better comment about scp vs. sftp 2024-10-18 18:15:08 +02:00
Matthieu Gautier 263ce4c87d
Sign all binaries (exe) on Windows when we do a release 2024-09-10 09:25:24 +00:00
Matthieu Gautier 49b15d12b7
Remove cross-building libzim to win32.
Now we build libzim natively on Windows, we can remove cross-compilation
to Windows.
2024-09-10 09:25:24 +00:00
Matthieu Gautier 6c9889d4e8 Compile kiwix-tools on Windows github CI 2024-09-02 14:25:26 +02:00
Matthieu Gautier ba4a54bf9d Compile zim-tools on Windows github CI. 2024-09-02 14:25:26 +02:00
Matthieu Gautier e5b7bccdf2 Correctly include lib64 library on manylinux archives
Manylinux build are based on Redhat and libs are put in `/lib64`
directory and not in `/lib/<arch>/` as on Debian based build.

Fix #746
2024-09-02 12:05:36 +02:00
Matthieu Gautier c716617bbd Make nigthly CD build and publish only "publishable" project.
There is no reason to publish nightly for all project we try to build
in the CI.

We should publish nigthly for same project that we do for releases.
(Minus the filter of what have changed since last release)

Fix #743
2024-08-30 16:33:38 +02:00
Matthieu Gautier d091c8802f Fix library publication of libkiwix on Windows
Fix #743
2024-08-30 14:32:03 +02:00
Matthieu Gautier 6207b0ab0b Fix binary extension on Windows 2024-08-30 14:32:03 +02:00
Matthieu Gautier 8401ee5ea3 Fix kiwix-desktop archive name on Windows 2024-08-30 14:32:03 +02:00
Matthieu Gautier 52d757c660 Publish kiwix-desktop Windows build in Windows CI 2024-08-29 14:35:50 +02:00
Matthieu Gautier b4bc9dbec9 Do not use base_deps when building releases.
Initially we were building all our dependencies in release.
This was simply made by always compiling project using autotool or cmake
in release. As our project are using meson/qmake, all the dependencies
are build in release.

However, with recent port to Windows github CI, we have two problems:
- We have moved almost all buildsystem to meson
- On Windows, we cannot mix debug and release build.

So, when doing a release, do not use base dependencies cache.
This will extend the release workflow as we need to build everything but
at least we should build everything correctly.
2024-08-29 10:26:07 +02:00
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