Commit Graph

221 Commits

Author SHA1 Message Date
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 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 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 10e920ca00 Fix typos 2023-06-15 09:48:08 +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 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 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
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 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 7db434ee6d Use the common build definition to specify which deps build.
The build definition update follow what we build in the project's CI,
not what was defined by the replaced python code.
2023-06-02 16:09:22 +02:00
Matthieu Gautier 3defd4eba7 Be explicit about all our combinations. 2023-06-02 16:00:26 +02:00
Matthieu Gautier e59e3698b2 Open build definition system to more complex build definition. 2023-06-02 15:58:53 +02:00
Matthieu Gautier fc81551555 Remove unused import. 2023-06-02 15:58:02 +02:00
Matthieu Gautier fd46c52473 Move the definition of what to build in a table.
This provide a better visual definition (and potential better explicit)
of the previous code base on `if/else`.
2023-06-02 15:58:00 +02:00
Matthieu Gautier e751c1166c Correctly package armv* toolchain in base dependency. 2023-05-23 08:58:17 +03: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 3cd20201c1 Use a scp cipher which goes faster 2023-05-21 14:31:33 +03:00
Emmanuel Engelhart 7db62390f1
We should build using macos11 2023-05-20 16:15:24 +02: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
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 8f8ea01aec Do not build binaries on macOS not _dyn.
Tools fails to compile for different reasons:
- Missing dependencies
- Use of invalid options (`-dead_strip_dylibs`/`-bitcode_bundle`)
2023-04-28 08:59:14 +02:00
Matthieu Gautier 02e2598056 Build zim-tools and kiwix-tools and macosOs_arm64. 2023-04-27 19:10:55 +02:00
Matthieu Gautier ab14ce957b Build kiwix-tools on macos (native) 2023-04-27 19:02:23 +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 4aa613c8e6 Update CI build script
Update CI scripts to build only libzim on native_mixed if os name is
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 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 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 4b8862a959 Use only one code to determine what to build.
As we build the "same"[*] things with build_project and build_release_nightly,
let's use the same code.

[*] We are not building the same things has we don't run the same runners
(not the same `PLATFORM_TARGET`) but for a given `PLATFORM_TARGET`, we
are building the same things.
2023-04-12 11:26:12 +02:00
Matthieu Gautier b905e87280 Fix compilation on CI macOS
We don't want to compile zim-tools on macOS_arm64_dynamic.
2023-04-12 11:26:12 +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 892e4bbffe [CI] Upload `macOS_arm64_mixed` builds. 2023-03-30 17:37:11 +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 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 18c5d3bf5f Publish nigthly and release of kiwix-tools on aarch64 2023-03-29 11:40:04 +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
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
Emmanuel Engelhart 534dee9c94 Use new Docker images for kiwix-build CI 2023-03-15 13:25:13 +01:00
Emmanuel Engelhart f16f55fd07 Add container 'latest' tag 2023-03-15 13:25:13 +01:00
Emmanuel Engelhart c1b8ff5d86 Better container image creation/upload workflow 2023-03-15 13:25:13 +01:00
Emmanuel Engelhart b977392446 Remove CI container builds 2023-03-15 13:25:13 +01:00
Emmanuel Engelhart b16cedc6be Move ci_images 2023-03-15 13:25:13 +01:00
Emmanuel Engelhart dd1a276d7a Move CI container building to a dedicated CI workflow 2023-03-15 13:25:13 +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
Emmanuel Engelhart 3138c71b82
Update GitHub actions to latest version 2023-02-05 08:45:47 +01:00
Kelson 9d910ac9c5
Delete move.yml 2022-12-25 16:06:52 +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 dba386a427 Fix wasm workflow configuration. 2022-12-01 22:28:23 +01:00
Matthieu Gautier 91ef647e78 Run releaseNigthly workflow also for wasm 2022-12-01 22:06:43 +01:00
Matthieu Gautier 07d1561a87 [CI] Build libkiwix on on native_mixed 2022-11-30 14:22:13 +01:00
Matthieu Gautier 84eea4a7ed Package all libzim dependencies on wasm.
Fix #552
2022-11-30 11:07:21 +01:00
Matthieu Gautier c27348bde3 Publish the CI only if we are on a dev branch.
If we try to publish all the time, we will conflict with `Release&Nigthly`
workflow as we would pulbish in nigthly directory.

Fix #550
2022-11-23 16:06:35 +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
Matthieu Gautier 16fc490ae7 Add build of libzim on wasm in the CI 2022-11-16 16:37:05 +01:00
Matthieu Gautier 180fb249f6 Add a support to compile libzim for wasm.
`icu4c_wasm.patch` is build by :
 - Copying config.sub from liblzma source as new version of config.sub there
   knows about wasm architecture.
 - Copying `mh-linux` on `mh-unknown` as specified in (origin) `mh-unknown`.
   This is because icu4c configure doesn't detect `emscripten` platform and
   "fallback" to `mh-unknown`.
2022-11-16 16:37:05 +01:00
Matthieu Gautier dc814c626d Upload read-only archive.
By uploading read-only archive, we prevent potential (implicit) re-upload.

A re-upload will always be possible if we remove the archive and rerun
the workflow. But it will be clearly explicit in this case.
2022-09-28 16:08:42 +02:00
Matthieu Gautier f7706428a2 Make release only if we are running the workflow on a `r_xx` tag.
Also check that we are not a scheduled workflow
(But it is more a double check. This shloud not happen)
2022-09-28 15:09:53 +02:00
renaud gaudin fe92fc5080 Use notarytool to notarize on macOS
altool has been deprecated in favor of notarytool
2022-09-06 14:52:15 +00:00
Veloman Yunkan 1755044333 Added CI image for Alpine 2022-07-11 17:38:07 +04:00
Matthieu Gautier 33c2ec2c4d Build and release libzim for android on the CI 2022-06-28 12:24:06 +02:00
Matthieu Gautier 3764fde97e We don't need jdk anymore to build on android 2022-06-28 12:23:04 +02:00
Matthieu Gautier 6a3d3047e0 Do not try to package kiwix-search as it as been removed from kiwix-tools 2022-06-15 14:28:32 +02:00
Matthieu Gautier dba45ced36 Build android lib in the correct directory 2022-06-14 17:48:51 +02:00
Matthieu Gautier 9c220866ac Build and release each libkiwix android builds independently.
While it is ok to build all libkiwix android builds in one step,
the "release system" upload only one archive per platform.
So we need 4 platforms to do 4 uploads.

As we don't build on "android" platform now, we can clean up our scripts.
2022-06-10 10:26:24 +02:00
Matthieu Gautier 7086009a0a We don't need to upload to bintray now. 2022-06-10 10:11:01 +02:00
Matthieu Gautier 51ff5e58bb Be able to make the release of libkiwix on android. 2022-06-09 10:31:09 +02:00