summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 41460e807b43df99f8bda18581672975b1a69425 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
variables:
    GIT_STRATEGY: "clone"
    BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/marsio-build-env:dpdk-21-11-mlx5-el8"
    ROOT_DIR: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_PATH

stages:
    - build
    - deploy

.build_before_script:
    before_script:
        - mkdir -p ~/.ssh
        - eval $(ssh-agent -s)
        - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
        - chmod 644 ~/.ssh/config
        - ssh-add <(echo "$MARSIO_PRIVATE_KEY")
        - cp $CI_PROJECT_DIR/ci/el8.repo.internal.geedge.net.repo /etc/yum.repos.d
        - yum install -y libmaatframe-devel libMESA_prof_load-devel
        - yum install -y libuuid-devel librdkafka-devel
        - pip3 install msgpack
        - mkdir -p /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_NAMESPACE/
        - ln -s $CI_PROJECT_DIR $ROOT_DIR
        - cd $ROOT_DIR

.build:
    extends: .build_before_script
    image: ${BUILD_IMAGE_CENTOS8}
    tags:
        - share
    script:
        - mkdir -p build
        - cd build
        - cmake3 .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE}
        - make VERBOSE=1
        - if [[ "${ENABLE_PACKAGE}" == "True" ]]; then
                make package VERBOSE=1;
                cp ~/rpm_upload_tools.py ./;
                python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *.rpm;
          else
                echo "no need to execute the deploy script";
          fi

build:
    stage: build
    extends: .build
    parallel:
        matrix:
            - BUILD_TYPE: ["RelWithDebInfo"]
    rules:
        - if: $CI_COMMIT_TAG
          when: never
        - if: $CI_COMMIT_BRANCH

deploy:
    stage: deploy
    extends: .build
    variables:
        ENABLE_PACKAGE: "True"
        PULP3_REPO_NAME: "platform-stable-x86_64.el8"
        PULP3_DIST_NAME: "platform-stable-x86_64.el8"
    parallel:
        matrix:
            - BUILD_TYPE: ["RelWithDebInfo"]
    artifacts:
        name: "dp_trace_telemetry-$BUILD_TYPE-$CI_COMMIT_REF_NAME"
        paths:
            - build/*.rpm
    rules:
        - if: $CI_COMMIT_TAG