variables: GIT_STRATEGY: "clone" BUILD_IMAGE_CENTOS8: "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" BUILD_ROOT_DIR: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_PATH/build stages: - build - package .build_before_script: before_script: - yum install -y iproute - pip3 install msgpack - mkdir -p /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_NAMESPACE/ - ln -s $CI_PROJECT_DIR /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_PATH - cd /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_PATH .build_test_and_deploy: stage: build extends: .build_before_script image: ${BUILD_IMAGE_CENTOS8} tags: - share script: - set -e - mkdir -p build - cd build - cmake3 .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${OTHER_CMAKE_OPTION} - make VERBOSE=1 - if [[ "${TEST_OPTIONS}" == *"ENABLE_CTEST"* ]]; then cd ${BUILD_ROOT_DIR}; ctest --output-on-failure; fi - if [[ "${TEST_OPTIONS}" == *"ENABLE_PACKAGE_TEST"* ]]; then cd ${BUILD_ROOT_DIR}; make package VERBOSE=1; rpm -i mrzcpd*.rpm; cd ../test/post_install_test; python3 package_content_test.py; fi - if [[ "${TEST_OPTIONS}" == *"ENABLE_FUZZING"* ]]; then cd ${BUILD_ROOT_DIR}/test/fuzzing; ./FuzzingPktParser -max_total_time=5 seeds/; fi - if [[ "${ENABLE_PACKAGE}" == "True" ]]; then cd ${BUILD_ROOT_DIR}; 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_and_test: stage: build extends: .build_test_and_deploy rules: - if: $CI_COMMIT_BRANCH =~ /^dev.*$/ when: never - if: $CI_COMMIT_TAG when: never - if: $CI_COMMIT_BRANCH .package_and_deploy: stage: package extends: .build_test_and_deploy variables: ENABLE_PACKAGE: "True" artifacts: name: "mrzcpd-$BUILD_TYPE-$CI_COMMIT_REF_NAME-binary" paths: - build/*.rpm build_for_centos8: extends: .build_and_test parallel: matrix: - BUILD_TYPE: ["RelWithDebInfo","Debug"] OTHER_CMAKE_OPTION: - "-DMACHINE=icelake-server" - "-DMACHINE=znver1" build_for_centos8_and_enable_ctest: tags: - tsg-os-builder-el8 extends: .build_and_test variables: TEST_OPTIONS: "ENABLE_CTEST" parallel: matrix: - BUILD_TYPE: ["RelWithDebInfo","Debug"] OTHER_CMAKE_OPTION: - "-DMACHINE=corei7 -DENABLE_PTF_TEST=TRUE" stable-package-for-centos8: extends: .package_and_deploy variables: TEST_OPTIONS: "ENABLE_PACKAGE_TEST" PULP3_REPO_NAME: "platform-stable-x86_64.el8" PULP3_DIST_NAME: "platform-stable-x86_64.el8" parallel: matrix: - BUILD_TYPE: ["RelWithDebInfo","Debug"] OTHER_CMAKE_OPTION: - "-DMACHINE=icelake-server" - "-DMACHINE=znver1" - "-DMACHINE=corei7" rules: - if: $CI_COMMIT_TAG testing-package-for-centos8: extends: .package_and_deploy variables: TEST_OPTIONS: "ENABLE_PACKAGE_TEST" PULP3_REPO_NAME: "platform-testing-x86_64.el8" PULP3_DIST_NAME: "platform-testing-x86_64.el8" parallel: matrix: - BUILD_TYPE: ["RelWithDebInfo","Debug"] OTHER_CMAKE_OPTION: - "-DMACHINE=icelake-server" - "-DMACHINE=znver1" - "-DMACHINE=corei7" rules: - if: $CI_COMMIT_BRANCH =~ /^dev.*$/ build-for-centos9-aarch64: extends: .build_and_test image: ${BUILD_IMAGE_CENTOS9_AARCH64} tags: - tsg-os-builder-aarch64 variables: TEST_OPTIONS: "ENABLE_CTEST" parallel: matrix: - BUILD_TYPE: ["RelWithDebInfo","Debug"] OTHER_CMAKE_OPTION: - "-DMACHINE=aarch64 -DENABLE_PTF_TEST=TRUE" testing-package-for-centos9-aarch64: extends: .package_and_deploy image: ${BUILD_IMAGE_CENTOS9_AARCH64} tags: - tsg-os-builder-aarch64 variables: TEST_OPTIONS: "ENABLE_PACKAGE_TEST" PULP3_REPO_NAME: "platform-testing-aarch64.el9" PULP3_DIST_NAME: "platform-testing-aarch64.el9" parallel: matrix: - BUILD_TYPE: ["RelWithDebInfo","Debug"] OTHER_CMAKE_OPTION: - "-DMACHINE=aarch64 -DENABLE_PTF_TEST=TRUE" rules: - if: $CI_COMMIT_BRANCH =~ /^dev.*$/ stable-package-for-centos9-aarch64: extends: .package_and_deploy image: ${BUILD_IMAGE_CENTOS9_AARCH64} tags: - tsg-os-builder-aarch64 variables: TEST_OPTIONS: "ENABLE_PACKAGE_TEST" PULP3_REPO_NAME: "platform-stable-aarch64.el9" PULP3_DIST_NAME: "platform-stable-aarch64.el9" parallel: matrix: - BUILD_TYPE: ["RelWithDebInfo","Debug"] OTHER_CMAKE_OPTION: - "-DMACHINE=aarch64 -DENABLE_PTF_TEST=TRUE" rules: - if: $CI_COMMIT_TAG