Commit Graph

83 Commits

Author SHA1 Message Date
Matthieu Gautier 8401ee5ea3 Fix kiwix-desktop archive name on Windows 2024-08-30 14:32:03 +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 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 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 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 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 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 c25a2e63e3 [CI/CD] Use config instead of target in the CI. 2024-02-05 18:03:12 +01: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 fb6d6b8e25 Package ICU data with libzim/libkiwix. 2023-11-02 17:34:24 +01: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 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 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 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
Matthieu Gautier 4602ead6be Fix packaging of libzim and libkiwix on macOS.
On MacOs, libraries are in `.dylib`, not `.so`.

Also package the `.pc` file.
2023-06-07 14:06:07 +02:00
Matthieu Gautier 6fe37ba0de Rename osx to macos. 2023-06-02 16:09:22 +02:00
Matthieu Gautier 7b6ed275ed Remove code for kiwix-desktop workaround.
As we don't use the workaround now, we can remove the code associated to
it.

It simplify our build definition.
2023-06-02 16:09:22 +02:00
Matthieu Gautier e751c1166c Correctly package armv* toolchain in base dependency. 2023-05-23 08:58:17 +03:00
Matthieu Gautier c6ea16edd9 Build for armv6 and armv8 on the CI. 2023-05-22 19:03:57 +02:00
Emmanuel Engelhart 3cd20201c1 Use a scp cipher which goes faster 2023-05-21 14:31:33 +03:00
Matthieu Gautier af29fd5f2e Publish dev preview in `dev_preview` subdirectory in tmp.kiwix.org/ci. 2023-05-16 15:26:24 +02:00
Matthieu Gautier 3e712db880 Fix publish of kiwix-desktop flatpak.
We cannot directly push on master. We have to create a pull request.
The CI is adapted to push a new branch. The PR has to be created manually.
2023-05-10 14:12:06 +02:00
Matthieu Gautier fc3b446c76 Also build libzim mixed for aarch64 on bionic. 2023-04-26 16:54:35 +02:00
Matthieu Gautier fffbd122c9 Make bionic CI create archive containing bionic in the name. 2023-04-26 16:54:35 +02:00
Matthieu Gautier 51925bc4da Add the aarch64 toolchains to deps archive.
We need the aarch64 compiler to let's project build themselves.
2023-04-19 10:54:16 +02:00
Matthieu Gautier ae3b1b6a25 Build zim-tools cross-compiling. 2023-04-11 12:05:06 +02:00
Matthieu Gautier 892e4bbffe [CI] Upload `macOS_arm64_mixed` builds. 2023-03-30 17:37:11 +02:00
Matthieu Gautier c1d0ed4e4f Correctly store the source toolchain for "aarch64" 2023-03-29 15:46:06 +02:00
Matthieu Gautier 695a3ef0c0 Correctly store the `static` compiled source when doing archive for mixed. 2023-03-29 15:46:06 +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
renaud gaudin 7c02c6b778 Fixed triggering workflows on zim-tools and kiwix-tools
Both the fallback and the passed ref were targeting the master branch of those repositories.
This triggers the workflow on their main branch and sets the default target branch to main as all our repositories use it.
2023-03-28 07:58:41 +00:00
renaud gaudin c5acad73b4 Prevent incorrectly setting DEV_BRANCH
DEV_BRANCH is used to change archive upload behavior.
We current code it was incorrectly considering being on a dev branch while on main one (main)
2023-03-28 07:56:37 +00:00
Matthieu Gautier 424d426a0e Correctly package wasm archives.
With commit 6181d7bb, we have changed where archives are written.
We must addapt our packaging script.

Fix #556
2023-03-20 19:32:41 +01:00
Matthieu Gautier 7a23bb5b8b Fix creation of base dependencies archive.
The `INSTALL_DIR` was added twice. It was not a issue as we then transform
the list into a set to remove duplicated.

But with `filter_install_dir` call only on one "add", the (textual)
entries are not duplicated and so, not removed. So the files where add
twice.

Now we correctly filter initial `INSTALL_DIR` and we remove the second add.
2023-03-14 17:17:30 +01:00
Matthieu Gautier 5c0d9d87c1 Remove `share/doc` and `share/man` from the deps archive.
They are useless and they use precious disk space.
Fix #567
2023-02-22 11:57:47 +01:00
Matthieu Gautier 536748500b Remove uneeded patches for flatpak
Patches are uneeded for all arch.
But we were trying to copy them on flatpak.
2022-12-09 10:55:14 +01:00
Matthieu Gautier 84eea4a7ed Package all libzim dependencies on wasm.
Fix #552
2022-11-30 11:07:21 +01:00
Matthieu Gautier a44531bb8a Upload generated packages on `tmp/ci` when building on branches.
We need to be able to test our generated artefacts before we merge the
branches.
2022-11-16 16:37:05 +01:00
Matthieu Gautier ab421848c5 Use glob instead of specifying the lib_prefix.
There is no need to be specific here, we are already in INSTALL_DIR which
contains only things specific to our platform.
2022-11-16 16:37:05 +01:00
Matthieu Gautier 9881571047 Add packaging of libzim.a
Wasm build is creating a static library.
2022-11-16 16:37:05 +01:00