summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author童宗振 <[email protected]>2024-11-13 06:20:05 +0000
committer童宗振 <[email protected]>2024-11-13 06:20:05 +0000
commitcb5a3ef9e786dd150edd228c0752b848a23de926 (patch)
treec93b2347259578899b40164ef0d6fa3a1a518419
parentdb788a4186197ceb2f9fcdd4baef39f6ac469be1 (diff)
parent878fd194d835553f4af3a73ad82d6d8303878940 (diff)
Merge branch 'adapter_aarch64' into 'dev-0.4'HEADv0.4.2-20241114dev-0.4
adapter aarch64 See merge request tsg/dp_telemetry_app!54
-rw-r--r--.gitlab-ci.yml139
-rw-r--r--ci/env_setup.sh18
-rw-r--r--support/CMakeLists.txt23
3 files changed, 145 insertions, 35 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 41460e8..c5aee58 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,69 +1,142 @@
variables:
GIT_STRATEGY: "clone"
- BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/marsio-build-env:dpdk-21-11-mlx5-el8"
+ BUILD_IMAGE_CENTOS8_X86_64: "git.mesalab.cn:7443/mesa_platform/marsio-build-env:dpdk-21-11-mlx5-el8"
+ BUILD_IMAGE_CENTOS9_AARCH64: "git.mesalab.cn:7443/mesa_platform/marsio-build-env:rocky9-aarch64"
ROOT_DIR: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_PATH
stages:
- build
- deploy
-.build_before_script:
+default:
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
+ - bash $CI_PROJECT_DIR/ci/env_setup.sh
- 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}
+########################## x86_64 ############################
+build_x86_64:
+ stage: build
+ image: ${BUILD_IMAGE_CENTOS8_X86_64}
tags:
- share
+ parallel:
+ matrix:
+ - BUILD_TYPE: ["RelWithDebInfo"]
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
+ rules:
+ - if: $CI_COMMIT_TAG
+ when: never
+ - if: $CI_COMMIT_BRANCH =~ /^dev.*$/
+ when: never
+ - if: $CI_COMMIT_BRANCH
+
+deploy_testing_for_x86_64:
+ stage: deploy
+ image: ${BUILD_IMAGE_CENTOS8_X86_64}
+ tags:
+ - share
+ variables:
+ PULP3_REPO_NAME: "platform-testing-x86_64.el8"
+ PULP3_DIST_NAME: "platform-testing-x86_64.el8"
+ parallel:
+ matrix:
+ - BUILD_TYPE: ["RelWithDebInfo"]
+ script:
+ - mkdir -p build
+ - cd build
+ - cmake3 .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE}
+ - make package VERBOSE=1;
+ - cp ~/rpm_upload_tools.py ./;
+ - python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *.rpm;
+ rules:
+ - if: $CI_COMMIT_BRANCH =~ /^dev.*$/
+
+deploy_stable_for_x86_64:
+ stage: deploy
+ image: ${BUILD_IMAGE_CENTOS8_X86_64}
+ tags:
+ - share
+ variables:
+ PULP3_REPO_NAME: "platform-stable-x86_64.el8"
+ PULP3_DIST_NAME: "platform-stable-x86_64.el8"
+ parallel:
+ matrix:
+ - BUILD_TYPE: ["RelWithDebInfo"]
+ script:
+ - mkdir -p build
+ - cd build
+ - cmake3 .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE}
+ - make package VERBOSE=1;
+ - cp ~/rpm_upload_tools.py ./;
+ - python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *.rpm;
+ rules:
+ - if: $CI_COMMIT_TAG
-build:
+########################## aarch64 ############################
+build_aarch64:
stage: build
- extends: .build
+ image: ${BUILD_IMAGE_CENTOS9_AARCH64}
+ tags:
+ - tsg-os-builder-aarch64
parallel:
matrix:
- BUILD_TYPE: ["RelWithDebInfo"]
+ script:
+ - mkdir -p build
+ - cd build
+ - cmake3 .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE}
+ - make VERBOSE=1
rules:
- if: $CI_COMMIT_TAG
when: never
+ - if: $CI_COMMIT_BRANCH =~ /^dev.*$/
+ when: never
- if: $CI_COMMIT_BRANCH
-deploy:
+deploy_testing_for_aarch64:
stage: deploy
- extends: .build
+ image: ${BUILD_IMAGE_CENTOS9_AARCH64}
+ tags:
+ - tsg-os-builder-aarch64
variables:
- ENABLE_PACKAGE: "True"
- PULP3_REPO_NAME: "platform-stable-x86_64.el8"
- PULP3_DIST_NAME: "platform-stable-x86_64.el8"
+ PULP3_REPO_NAME: "platform-testing-aarch64.el9"
+ PULP3_DIST_NAME: "platform-testing-aarch64.el9"
parallel:
matrix:
- BUILD_TYPE: ["RelWithDebInfo"]
- artifacts:
- name: "dp_trace_telemetry-$BUILD_TYPE-$CI_COMMIT_REF_NAME"
- paths:
- - build/*.rpm
+ script:
+ - mkdir -p build
+ - cd build
+ - cmake3 .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE}
+ - make package VERBOSE=1;
+ - cp ~/rpm_upload_tools.py ./;
+ - python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *.rpm;
rules:
- - if: $CI_COMMIT_TAG
+ - if: $CI_COMMIT_BRANCH =~ /^dev.*$/
+
+deploy_stable_for_aarch64:
+ stage: deploy
+ image: ${BUILD_IMAGE_CENTOS9_AARCH64}
+ tags:
+ - tsg-os-builder-aarch64
+ variables:
+ PULP3_REPO_NAME: "platform-stable-aarch64.el9"
+ PULP3_DIST_NAME: "platform-stable-aarch64.el9"
+ parallel:
+ matrix:
+ - BUILD_TYPE: ["RelWithDebInfo"]
+ script:
+ - mkdir -p build
+ - cd build
+ - cmake3 .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE}
+ - make package VERBOSE=1;
+ - cp ~/rpm_upload_tools.py ./;
+ - python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *.rpm;
+ rules:
+ - if: $CI_COMMIT_TAG \ No newline at end of file
diff --git a/ci/env_setup.sh b/ci/env_setup.sh
new file mode 100644
index 0000000..7c85264
--- /dev/null
+++ b/ci/env_setup.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+
+set -evx
+
+ARCH=$(uname -m)
+
+env | sort
+
+if [[ "${ARCH}" == "x86_64" ]]; then
+ 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
+else
+ yum install -y libmaatframe-devel libMESA_prof_load-devel
+ yum install -y libuuid-devel librdkafka-devel
+fi
+
+pip3 install msgpack \ No newline at end of file
diff --git a/support/CMakeLists.txt b/support/CMakeLists.txt
index e6e3881..6d7ff7a 100644
--- a/support/CMakeLists.txt
+++ b/support/CMakeLists.txt
@@ -44,12 +44,31 @@ set_property(TARGET libevent-static-pthreads PROPERTY INTERFACE_INCLUDE_DIRECTOR
##### marsio
+set(COREI7 "corei7")
+set(AARCH64 "aarch64")
+if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64|amd64")
+ set(MACHINE ${COREI7})
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|ARM64|arm64")
+ set(MACHINE ${AARCH64})
+else()
+ message(FATAL_ERROR "${CMAKE_SYSTEM_PROCESSOR} processor is not currently supported")
+endif()
+
+if($ENV{CI} STREQUAL "true")
+ set(CI_GITLAB_USER $ENV{CI_GITLAB_USER})
+ set(CI_GITLAB_PASSWORD $ENV{CI_GITLAB_PASSWORD})
+ set(GIT_REPOSITORY https://${CI_GITLAB_USER}:${CI_GITLAB_PASSWORD}@git.mesalab.cn/MESA_Platform/marsio.git)
+ message(STATUS "Currently in the gitlab ci environment.")
+else()
+ set(GIT_REPOSITORY [email protected]:MESA_Platform/marsio.git)
+endif()
+
ExternalProject_Add(marsio PREFIX marsio
- GIT_REPOSITORY [email protected]:MESA_Platform/marsio.git
+ GIT_REPOSITORY ${GIT_REPOSITORY}
GIT_TAG dev-4.8
CONFIGURE_COMMAND
COMMAND mkdir -p build
- COMMAND ${CMAKE_COMMAND} -E chdir <SOURCE_DIR>/build ${CMAKE_COMMAND} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} ..
+ COMMAND ${CMAKE_COMMAND} -E chdir <SOURCE_DIR>/build ${CMAKE_COMMAND} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DMACHINE=${MACHINE} ..
BUILD_COMMAND
COMMAND ${CMAKE_COMMAND} -E chdir <SOURCE_DIR>/build make
INSTALL_COMMAND ""