1
0
Fork 0

drm_hwcomposer: CI: use local container image for building

The freedesktop instance provides a docker container registry with
ubuntu 23.04 based images ready to be used for building drm_hwcomposer.

Migrate to using that container image in order to:
- Avoid apt-get installing all dependencies for each job
- Remove duplication between the Dockerfile and the .gitlab-ci.yml

Since the container image provides aospless, we no longer need to download it
for each pipeline stage.
Also, this updates the folder structure:

Before:
/builds/drm-hwcomposer/drm-hwcomposer/
/builds/drm-hwcomposer/aospless

After:
/builds/drm-hwcomposer/drm-hwcomposer/
/home/user/aospless

For "tidy", this new structure requires to override the BASE_DIR variable.

Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
This commit is contained in:
Mattijs Korpershoek 2024-07-12 17:28:01 +02:00
parent a999307120
commit ca89ea5a92
2 changed files with 11 additions and 25 deletions

View file

@ -1,5 +1,5 @@
BASE_DIR:=../aospless
BASE_DIR ?=../aospless
SYSTEM_INCLUDE_DIRS := /usr/include/libdrm

View file

@ -1,5 +1,3 @@
image: ubuntu:23.04
workflow:
rules:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
@ -9,12 +7,6 @@ variables:
DEBIAN_FRONTEND: noninteractive
DOCKER_IMAGE_TAG: $CI_REGISTRY_IMAGE:latest
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 wget sudo rsync lld pkg-config ninja-build meson >/dev/null
- apt-get --quiet install --yes python3-mako python3-jinja2 python3-ply python3-yaml >/dev/null
stages:
- build-container
- build
@ -38,17 +30,13 @@ build-container:
build:
stage: build
image: $DOCKER_IMAGE_TAG
script:
- mkdir -p install/arm64
- cd ..
- rm -f aospless_drm_hwcomposer_arm64.tar.xz
- rm -rf aospless/*
- 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
- rm ${HOME}/aospless/src
- ln -s ${PWD} ${HOME}/aospless/src
- make -C ${HOME}/aospless all
- cp -r ${HOME}/aospless/install/* install/arm64
artifacts:
paths:
@ -57,17 +45,15 @@ build:
tidy:
stage: tidy
image: $DOCKER_IMAGE_TAG
script:
- cd ..
- rm -f aospless_drm_hwcomposer_arm64.tar.xz
- rm -rf aospless/*
- 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
- cd -
- make -f .ci/Makefile
- rm ${HOME}/aospless/src
- ln -s ${PWD} ${HOME}/aospless/src
- BASE_DIR=${HOME}/aospless make -f .ci/Makefile
checkstyle:
stage: style
image: $DOCKER_IMAGE_TAG
script: "./.ci/.gitlab-ci-checkcommit.sh"
artifacts:
when: on_failure