blob: 95df2242b2005e10238f9ccf48d54ae6f20f0df6 [file] [log] [blame]
Roman Stratiienko0fea1882024-10-17 00:02:10 +03001image: ubuntu:23.04
2
Roman Stratiienkodddbb4e2023-09-20 00:17:39 +03003workflow:
4 rules:
5 - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
6 - if: $CI_PIPELINE_SOURCE == 'push'
7
Roman Stratiienkod26619b2021-08-04 19:55:37 +03008variables:
9 DEBIAN_FRONTEND: noninteractive
Roman Stratiienkodf220972024-10-16 23:55:27 +030010 DOCKER_IMAGE_TAG: $CI_REGISTRY_IMAGE:latest
Stefan Schake02346782018-05-05 02:39:33 +020011
Roman Stratiienko0fea1882024-10-17 00:02:10 +030012before_script:
13 - apt-get --quiet update --yes >/dev/null
14 - apt-get --quiet install --yes clang-15 clang-tidy-15 clang-format-15 git libdrm-dev blueprint-tools libgtest-dev make >/dev/null
15 - apt-get --quiet install --yes clang llvm make python3 wget sudo rsync lld pkg-config ninja-build meson >/dev/null
16 - apt-get --quiet install --yes python3-mako python3-jinja2 python3-ply python3-yaml >/dev/null
17
Stefan Schake02346782018-05-05 02:39:33 +020018stages:
Mattijs Korpershoeka9993072024-07-12 11:38:21 +020019 - build-container
Roman Stratiienkod518a052021-02-25 19:15:14 +020020 - build
Roman Stratiienko2bf68c32022-12-16 12:57:27 +020021 - tidy
Stefan Schake02346782018-05-05 02:39:33 +020022 - style
23
Mattijs Korpershoeka9993072024-07-12 11:38:21 +020024build-container:
25 stage: build-container
26 image: docker:27.0.3
27 services:
28 - docker:27.0.3-dind
29 variables:
30 DOCKER_TLS_CERTDIR: ""
31 before_script:
32 - echo "$CI_JOB_TOKEN" | docker login $CI_REGISTRY -u $CI_REGISTRY_USER --password-stdin
33 script:
34 - docker build -t $DOCKER_IMAGE_TAG -f .ci/Dockerfile .
35 - docker push $DOCKER_IMAGE_TAG
36 after_script:
37 - docker logout
38
Roman Stratiienkod518a052021-02-25 19:15:14 +020039build:
40 stage: build
Roman Stratiienkocef5c772021-12-22 16:22:24 +020041 script:
Roman Stratiienko2bf68c32022-12-16 12:57:27 +020042 - mkdir -p install/arm64
Roman Stratiienko0fea1882024-10-17 00:02:10 +030043 - cd ..
44 - rm -f aospless_drm_hwcomposer_arm64.tar.xz
45 - rm -rf aospless/*
46 - wget https://gitlab.freedesktop.org/drm-hwcomposer/drm-hwcomposer/uploads/28ef9379b1a0ec1ee19a17825b0f3f3f/aospless_drm_hwcomposer_arm64.tar.xz
47 - tar xf aospless_drm_hwcomposer_arm64.tar.xz
48 - rm -r aospless/src
49 - ln -s ../drm-hwcomposer/ aospless/src
50 - make -C ./aospless all
51 - cp -r aospless/install/* drm-hwcomposer/install/arm64
Roman Stratiienko2bf68c32022-12-16 12:57:27 +020052
Roman Stratiienkod518a052021-02-25 19:15:14 +020053 artifacts:
Roman Stratiienko2bf68c32022-12-16 12:57:27 +020054 paths:
55 - install/
56 expire_in: 1 week
57
58tidy:
59 stage: tidy
60 script:
Roman Stratiienko0fea1882024-10-17 00:02:10 +030061 - cd ..
62 - rm -f aospless_drm_hwcomposer_arm64.tar.xz
63 - rm -rf aospless/*
64 - wget https://gitlab.freedesktop.org/drm-hwcomposer/drm-hwcomposer/uploads/28ef9379b1a0ec1ee19a17825b0f3f3f/aospless_drm_hwcomposer_arm64.tar.xz
65 - tar xf aospless_drm_hwcomposer_arm64.tar.xz
66 - cd -
67 - make -j$(nproc) -k -f .ci/Makefile
Roman Stratiienkod518a052021-02-25 19:15:14 +020068
Sean Paul592c98a2018-09-04 15:30:29 -040069checkstyle:
Stefan Schake02346782018-05-05 02:39:33 +020070 stage: style
Roman Stratiienkod518a052021-02-25 19:15:14 +020071 script: "./.ci/.gitlab-ci-checkcommit.sh"
72 artifacts:
73 when: on_failure
74 untracked: true