blob: 5863159c0df4e418f68d348f70f9f471b6d5891d [file] [log] [blame]
Roman Stratiienkodddbb4e2023-09-20 00:17:39 +03001workflow:
2 rules:
3 - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
4 - if: $CI_PIPELINE_SOURCE == 'push'
5
Roman Stratiienkod26619b2021-08-04 19:55:37 +03006variables:
7 DEBIAN_FRONTEND: noninteractive
Mattijs Korpershoek32170172024-10-11 16:57:36 +02008 DOCKER_IMAGE_TAG: registry.freedesktop.org/drm-hwcomposer/drm-hwcomposer:latest
Stefan Schake02346782018-05-05 02:39:33 +02009
Stefan Schake02346782018-05-05 02:39:33 +020010stages:
Mattijs Korpershoeka9993072024-07-12 11:38:21 +020011 - build-container
Roman Stratiienkod518a052021-02-25 19:15:14 +020012 - build
Roman Stratiienko2bf68c32022-12-16 12:57:27 +020013 - tidy
Stefan Schake02346782018-05-05 02:39:33 +020014 - style
15
Mattijs Korpershoeka9993072024-07-12 11:38:21 +020016build-container:
17 stage: build-container
18 image: docker:27.0.3
19 services:
20 - docker:27.0.3-dind
21 variables:
22 DOCKER_TLS_CERTDIR: ""
Mattijs Korpershoek32170172024-10-11 16:57:36 +020023 # Use the fork's docker image when rebuilding the container
24 DOCKER_IMAGE_TAG: $CI_REGISTRY_IMAGE:latest
Mattijs Korpershoeka9993072024-07-12 11:38:21 +020025 before_script:
26 - echo "$CI_JOB_TOKEN" | docker login $CI_REGISTRY -u $CI_REGISTRY_USER --password-stdin
27 script:
28 - docker build -t $DOCKER_IMAGE_TAG -f .ci/Dockerfile .
29 - docker push $DOCKER_IMAGE_TAG
Mattijs Korpershoek32170172024-10-11 16:57:36 +020030 - echo "DOCKER_IMAGE_TAG=$DOCKER_IMAGE_TAG" >> build.env
Mattijs Korpershoeka9993072024-07-12 11:38:21 +020031 after_script:
32 - docker logout
Mattijs Korpershoek32170172024-10-11 16:57:36 +020033 artifacts:
34 reports:
35 dotenv: build.env
Mattijs Korpershoekd8272932024-10-07 08:59:58 +020036 rules:
37 - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
38 changes:
39 - .ci/Dockerfile
40 - if: $CI_PIPELINE_SOURCE == 'push'
41 changes:
42 - .ci/Dockerfile
Mattijs Korpershoeka9993072024-07-12 11:38:21 +020043
Roman Stratiienkod518a052021-02-25 19:15:14 +020044build:
45 stage: build
Mattijs Korpershoekca89ea52024-07-12 17:28:01 +020046 image: $DOCKER_IMAGE_TAG
Roman Stratiienkocef5c772021-12-22 16:22:24 +020047 script:
Roman Stratiienko2bf68c32022-12-16 12:57:27 +020048 - mkdir -p install/arm64
Mattijs Korpershoekca89ea52024-07-12 17:28:01 +020049 - rm ${HOME}/aospless/src
50 - ln -s ${PWD} ${HOME}/aospless/src
51 - make -C ${HOME}/aospless all
52 - cp -r ${HOME}/aospless/install/* install/arm64
Roman Stratiienko2bf68c32022-12-16 12:57:27 +020053
Roman Stratiienkod518a052021-02-25 19:15:14 +020054 artifacts:
Roman Stratiienko2bf68c32022-12-16 12:57:27 +020055 paths:
56 - install/
57 expire_in: 1 week
58
59tidy:
60 stage: tidy
Mattijs Korpershoekca89ea52024-07-12 17:28:01 +020061 image: $DOCKER_IMAGE_TAG
Roman Stratiienko2bf68c32022-12-16 12:57:27 +020062 script:
Mattijs Korpershoekca89ea52024-07-12 17:28:01 +020063 - rm ${HOME}/aospless/src
64 - ln -s ${PWD} ${HOME}/aospless/src
Drew Davenport4be73ee2024-09-03 11:49:23 -060065 - BASE_DIR=${HOME}/aospless make -j$(nproc) -k -f .ci/Makefile
Drew Davenport76b9d612024-08-09 09:37:57 -060066 timeout: 2h
Roman Stratiienkod518a052021-02-25 19:15:14 +020067
Sean Paul592c98a2018-09-04 15:30:29 -040068checkstyle:
Stefan Schake02346782018-05-05 02:39:33 +020069 stage: style
Mattijs Korpershoekca89ea52024-07-12 17:28:01 +020070 image: $DOCKER_IMAGE_TAG
Roman Stratiienkod518a052021-02-25 19:15:14 +020071 script: "./.ci/.gitlab-ci-checkcommit.sh"
72 artifacts:
73 when: on_failure
74 untracked: true