diff options
| author | yangwei <[email protected]> | 2024-11-11 17:48:31 +0800 |
|---|---|---|
| committer | yangwei <[email protected]> | 2024-11-11 18:29:12 +0800 |
| commit | e9d67637421ab46a90c137275e89ff492c7c70a3 (patch) | |
| tree | e5d07bcfb4adb816cac37d3e62ef6a50a21db5c4 | |
| parent | 357179dd15ed1ab0eea73099a1c506f9c85d7f40 (diff) | |
🐎 ci(add aarch64 jobs): aarch64 + el9v3.1.2develop-3.0
| -rw-r--r-- | .gitlab-ci.yml | 103 | ||||
| -rw-r--r-- | ci/travis.sh | 17 | ||||
| -rw-r--r-- | vendor/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | vendor/gtest-death-test.cc.patch | 11 |
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; |
