summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryangwei <[email protected]>2024-11-11 17:48:31 +0800
committeryangwei <[email protected]>2024-11-11 18:29:12 +0800
commite9d67637421ab46a90c137275e89ff492c7c70a3 (patch)
treee5d07bcfb4adb816cac37d3e62ef6a50a21db5c4
parent357179dd15ed1ab0eea73099a1c506f9c85d7f40 (diff)
🐎 ci(add aarch64 jobs): aarch64 + el9v3.1.2develop-3.0
-rw-r--r--.gitlab-ci.yml103
-rw-r--r--ci/travis.sh17
-rw-r--r--vendor/CMakeLists.txt1
-rw-r--r--vendor/gtest-death-test.cc.patch11
4 files changed, 89 insertions, 43 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index bbbc133..871d043 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,6 +1,7 @@
variables:
GIT_STRATEGY: "clone"
- BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux"
+ BUILD_IMAGE_X86_64_ROCKY8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux"
+ BUILD_IMAGE_AARCH64_ROCKY9: "git.mesalab.cn:7443/mesa_platform/build-env:rocky9-aarch64"
BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/
INSTALL_DEPENDENCY_LIBRARY: libasan
INSTALL_PREFIX: "/opt/MESA/"
@@ -14,26 +15,25 @@ stages:
- ln -s $CI_PROJECT_DIR $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
- cd $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
- chmod +x ./ci/travis.sh
- - yum makecache
- - yum install -y elfutils-libelf-devel
+###############################################################################
+# build on x86_64 Rocky8
+###############################################################################
-.build_by_travis_for_centos8:
+.build_by_travis_for_x86_64_rocky8:
stage: build
- image: $BUILD_IMAGE_CENTOS8
+ image: $BUILD_IMAGE_X86_64_ROCKY8
extends: .build_before_script
script:
- - dnf --enablerepo=powertools install -y libmnl-devel
- - dnf --enablerepo=powertools install -y libnfnetlink-devel
- ./ci/travis.sh
tags:
- - share
+ - tsg-os-builder-el8
-branch_build_debug_for_centos8:
+branch_build_debug_for_x86_64_rocky8:
stage: build
- extends: .build_by_travis_for_centos8
+ extends: .build_by_travis_for_x86_64_rocky8
variables:
BUILD_TYPE: Debug
UNIT_TEST: 1
@@ -42,66 +42,93 @@ branch_build_debug_for_centos8:
- /^master.*$/i
- tags
-branch_build_release_for_centos8:
+branch_build_release_for_x86_64_rocky8:
stage: build
variables:
BUILD_TYPE: RelWithDebInfo
UNIT_TEST: 1
- extends: .build_by_travis_for_centos8
+ extends: .build_by_travis_for_x86_64_rocky8
except:
- /^develop.*$/i
- /^master.*$/i
- tags
-develop_build_debug_for_centos8:
+release_build_debug_for_x86_64_rocky8:
stage: build
- extends: .build_by_travis_for_centos8
variables:
BUILD_TYPE: Debug
- UNIT_TEST: 1
PACKAGE: 1
UPLOAD_RPM: 1
- ASAN_OPTION: ADDRESS
- TESTING_VERSION_BUILD: 1
- PULP3_REPO_NAME: framework-testing-x86_64.el8
- PULP3_DIST_NAME: framework-testing-x86_64.el8
+ PULP3_REPO_NAME: framework-stable-x86_64.el8
+ PULP3_DIST_NAME: framework-stable-x86_64.el8
+ extends: .build_by_travis_for_x86_64_rocky8
artifacts:
name: "fieldstat3-$CI_COMMIT_REF_NAME-debug"
paths:
- build/*.rpm
only:
- - /^develop.*$/i
- - /^master.*$/i
+ - tags
-develop_build_release_for_centos8:
+release_build_release_for_x86_64_rocky8:
stage: build
- extends: .build_by_travis_for_centos8
variables:
BUILD_TYPE: RelWithDebInfo
- UNIT_TEST: 1
PACKAGE: 1
UPLOAD_RPM: 1
- TESTING_VERSION_BUILD: 1
- PULP3_REPO_NAME: framework-testing-x86_64.el8
- PULP3_DIST_NAME: framework-testing-x86_64.el8
+ SYMBOL_TARGET: libfieldstat3
+ PULP3_REPO_NAME: framework-stable-x86_64.el8
+ PULP3_DIST_NAME: framework-stable-x86_64.el8
+ extends: .build_by_travis_for_x86_64_rocky8
artifacts:
name: "fieldstat3-$CI_COMMIT_REF_NAME-release"
paths:
- build/*.rpm
only:
+ - tags
+
+###############################################################################
+# build on aarch64 Rocky9
+###############################################################################
+
+.build_by_travis_for_aarch64_rocky9:
+ stage: build
+ image: $BUILD_IMAGE_AARCH64_ROCKY9
+ extends: .build_before_script
+ script:
+ - ./ci/travis.sh
+ tags:
+ - tsg-os-builder-aarch64
+
+
+branch_build_debug_for_aarch64_rocky9:
+ stage: build
+ extends: .build_by_travis_for_aarch64_rocky9
+ variables:
+ BUILD_TYPE: Debug
+ except:
+ - /^develop.*$/i
+ - /^master.*$/i
+ - tags
+
+branch_build_release_for_aarch64_rocky9:
+ stage: build
+ variables:
+ BUILD_TYPE: RelWithDebInfo
+ extends: .build_by_travis_for_aarch64_rocky9
+ except:
- /^develop.*$/i
- /^master.*$/i
+ - tags
-release_build_debug_for_centos8:
+release_build_debug_for_aarch64_rocky9:
stage: build
variables:
BUILD_TYPE: Debug
- UNIT_TEST: 1
PACKAGE: 1
UPLOAD_RPM: 1
- PULP3_REPO_NAME: framework-stable-x86_64.el8
- PULP3_DIST_NAME: framework-stable-x86_64.el8
- extends: .build_by_travis_for_centos8
+ PULP3_REPO_NAME: framework-stable-aarch64.el9
+ PULP3_DIST_NAME: framework-stable-aarch64.el9
+ extends: .build_by_travis_for_aarch64_rocky9
artifacts:
name: "fieldstat3-$CI_COMMIT_REF_NAME-debug"
paths:
@@ -109,21 +136,19 @@ release_build_debug_for_centos8:
only:
- tags
-release_build_release_for_centos8:
+release_build_release_for_aarch64_rocky9:
stage: build
variables:
BUILD_TYPE: RelWithDebInfo
- UNIT_TEST: 1
PACKAGE: 1
UPLOAD_RPM: 1
- UPLOAD_SYMBOL_FILES: 0
SYMBOL_TARGET: libfieldstat3
- PULP3_REPO_NAME: framework-stable-x86_64.el8
- PULP3_DIST_NAME: framework-stable-x86_64.el8
- extends: .build_by_travis_for_centos8
+ PULP3_REPO_NAME: framework-stable-aarch64.el9
+ PULP3_DIST_NAME: framework-stable-aarch64.el9
+ extends: .build_by_travis_for_aarch64_rocky9
artifacts:
name: "fieldstat3-$CI_COMMIT_REF_NAME-release"
paths:
- build/*.rpm
only:
- - tags
+ - tags \ No newline at end of file
diff --git a/ci/travis.sh b/ci/travis.sh
index c3f09ff..31355be 100644
--- a/ci/travis.sh
+++ b/ci/travis.sh
@@ -54,11 +54,20 @@ cmake3 -DCMAKE_CXX_FLAGS=$CXX_FLAGS \
make
-
if [ -n "${UNIT_TEST}" ]; then
- yum install -y https://dl.influxdata.com/telegraf/releases/telegraf-1.25.1-1.x86_64.rpm
- /usr/bin/telegraf -config ../test/bin/telegraf_unit_test.conf --quiet &
- ctest --verbose
+ ARCH=$(uname -m)
+ if [ "$ARCH" = "x86_64" ]; then
+ TELEGRAF_RPM="https://dl.influxdata.com/telegraf/releases/telegraf-1.25.1-1.x86_64.rpm"
+ elif [ "$ARCH" = "aarch64" ]; then
+ TELEGRAF_RPM="https://dl.influxdata.com/telegraf/releases/telegraf-1.25.1-1.aarch64.rpm"
+ else
+ echo "Unsupported architecture: $ARCH"
+ exit 1
+ fi
+
+ yum install -y $TELEGRAF_RPM
+ /usr/bin/telegraf -config ../test/bin/telegraf_unit_test.conf --quiet &
+ ctest --verbose
fi
if [ -n "${PACKAGE}" ]; then
diff --git a/vendor/CMakeLists.txt b/vendor/CMakeLists.txt
index b754ac3..7c668b1 100644
--- a/vendor/CMakeLists.txt
+++ b/vendor/CMakeLists.txt
@@ -5,6 +5,7 @@ include(ExternalProject)
ExternalProject_Add(libgtest PREFIX libgtest
URL ${CMAKE_SOURCE_DIR}/vendor/googletest-release-1.10.0.tar.gz
URL_MD5 ecd1fa65e7de707cd5c00bdac56022cd
+ PATCH_COMMAND patch -p1 < ${CMAKE_CURRENT_LIST_DIR}/gtest-death-test.cc.patch
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
ExternalProject_Get_Property(libgtest INSTALL_DIR)
file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
diff --git a/vendor/gtest-death-test.cc.patch b/vendor/gtest-death-test.cc.patch
new file mode 100644
index 0000000..476981a
--- /dev/null
+++ b/vendor/gtest-death-test.cc.patch
@@ -0,0 +1,11 @@
+--- a/googletest/src/gtest-death-test.cc.origin 2024-11-11 16:21:17.365946156 +0800
++++ b/googletest/src/gtest-death-test.cc 2024-11-11 16:21:31.656137890 +0800
+@@ -1296,7 +1296,7 @@
+ GTEST_ATTRIBUTE_NO_SANITIZE_ADDRESS_
+ GTEST_ATTRIBUTE_NO_SANITIZE_HWADDRESS_
+ static bool StackGrowsDown() {
+- int dummy;
++ int dummy=0;
+ bool result;
+ StackLowerThanAddress(&dummy, &result);
+ return result;