Roman Stratiienko | 0fea188 | 2024-10-17 00:02:10 +0300 | [diff] [blame^] | 1 | image: ubuntu:23.04 |
| 2 | |
Roman Stratiienko | dddbb4e | 2023-09-20 00:17:39 +0300 | [diff] [blame] | 3 | workflow: |
| 4 | rules: |
| 5 | - if: $CI_PIPELINE_SOURCE == 'merge_request_event' |
| 6 | - if: $CI_PIPELINE_SOURCE == 'push' |
| 7 | |
Roman Stratiienko | d26619b | 2021-08-04 19:55:37 +0300 | [diff] [blame] | 8 | variables: |
| 9 | DEBIAN_FRONTEND: noninteractive |
Roman Stratiienko | df22097 | 2024-10-16 23:55:27 +0300 | [diff] [blame] | 10 | DOCKER_IMAGE_TAG: $CI_REGISTRY_IMAGE:latest |
Stefan Schake | 0234678 | 2018-05-05 02:39:33 +0200 | [diff] [blame] | 11 | |
Roman Stratiienko | 0fea188 | 2024-10-17 00:02:10 +0300 | [diff] [blame^] | 12 | before_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 Schake | 0234678 | 2018-05-05 02:39:33 +0200 | [diff] [blame] | 18 | stages: |
Mattijs Korpershoek | a999307 | 2024-07-12 11:38:21 +0200 | [diff] [blame] | 19 | - build-container |
Roman Stratiienko | d518a05 | 2021-02-25 19:15:14 +0200 | [diff] [blame] | 20 | - build |
Roman Stratiienko | 2bf68c3 | 2022-12-16 12:57:27 +0200 | [diff] [blame] | 21 | - tidy |
Stefan Schake | 0234678 | 2018-05-05 02:39:33 +0200 | [diff] [blame] | 22 | - style |
| 23 | |
Mattijs Korpershoek | a999307 | 2024-07-12 11:38:21 +0200 | [diff] [blame] | 24 | build-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 Stratiienko | d518a05 | 2021-02-25 19:15:14 +0200 | [diff] [blame] | 39 | build: |
| 40 | stage: build |
Roman Stratiienko | cef5c77 | 2021-12-22 16:22:24 +0200 | [diff] [blame] | 41 | script: |
Roman Stratiienko | 2bf68c3 | 2022-12-16 12:57:27 +0200 | [diff] [blame] | 42 | - mkdir -p install/arm64 |
Roman Stratiienko | 0fea188 | 2024-10-17 00:02:10 +0300 | [diff] [blame^] | 43 | - 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 Stratiienko | 2bf68c3 | 2022-12-16 12:57:27 +0200 | [diff] [blame] | 52 | |
Roman Stratiienko | d518a05 | 2021-02-25 19:15:14 +0200 | [diff] [blame] | 53 | artifacts: |
Roman Stratiienko | 2bf68c3 | 2022-12-16 12:57:27 +0200 | [diff] [blame] | 54 | paths: |
| 55 | - install/ |
| 56 | expire_in: 1 week |
| 57 | |
| 58 | tidy: |
| 59 | stage: tidy |
| 60 | script: |
Roman Stratiienko | 0fea188 | 2024-10-17 00:02:10 +0300 | [diff] [blame^] | 61 | - 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 Stratiienko | d518a05 | 2021-02-25 19:15:14 +0200 | [diff] [blame] | 68 | |
Sean Paul | 592c98a | 2018-09-04 15:30:29 -0400 | [diff] [blame] | 69 | checkstyle: |
Stefan Schake | 0234678 | 2018-05-05 02:39:33 +0200 | [diff] [blame] | 70 | stage: style |
Roman Stratiienko | d518a05 | 2021-02-25 19:15:14 +0200 | [diff] [blame] | 71 | script: "./.ci/.gitlab-ci-checkcommit.sh" |
| 72 | artifacts: |
| 73 | when: on_failure |
| 74 | untracked: true |