drm_hwcomposer: Add meson build to CI
Now CI is building drm_hwcomposer for arm64 arch and generates
ready-to-deploy artifacts.
Dependencies for meson cross build were extracted from Android-13
using GloDroid/aospext project [1].
./build_deploy.sh script was migrated into Makefile and no longer
require AOSP to work. Usage example:
make build_deploy
Only arm64 platform is supported at this moment.
Other platforms will be added later.
[1]: https://github.com/GloDroid/aospext
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f7f9caa..bfc4ede 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -6,18 +6,35 @@
before_script:
- apt-get --quiet update --yes >/dev/null
- apt-get --quiet install --yes clang-15 clang-tidy-15 clang-format-15 git libdrm-dev blueprint-tools libgtest-dev make >/dev/null
+ - apt-get --quiet install --yes clang llvm make python3 python3-pip wget sudo rsync lld pkg-config ninja-build >/dev/null
+ - pip3 install mako meson jinja2 ply pyyaml >/dev/null
stages:
- build
+ - tidy
- style
build:
stage: build
script:
- - make -f .ci/Makefile
+ - mkdir -p install/arm64
+ - cd ..
+ - wget https://gitlab.freedesktop.org/drm-hwcomposer/drm-hwcomposer/uploads/28ef9379b1a0ec1ee19a17825b0f3f3f/aospless_drm_hwcomposer_arm64.tar.xz
+ - tar xf aospless_drm_hwcomposer_arm64.tar.xz
+ - rm -r aospless/src
+ - ln -s ../drm-hwcomposer/ aospless/src
+ - make -C ./aospless all
+ - cp -r aospless/install/* drm-hwcomposer/install/arm64
+
artifacts:
- when: on_failure
- untracked: true
+ paths:
+ - install/
+ expire_in: 1 week
+
+tidy:
+ stage: tidy
+ script:
+ - make -f .ci/Makefile
checkstyle:
stage: style