diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cea2a824e3757b1ca8538c8409d23ed23c49e9fa..c364c615d47a271f902c90246b0a64210d0fc92f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -11,7 +11,7 @@ workflow: stages: - test_build - - test_proceed + - diagnostic_builds - build - post_build - publish @@ -39,15 +39,6 @@ stages: PATCH_NUM_MAIN: "${master_PATCH_NUM}" rules: - - if: $CI_COMMIT_REF_NAME =~ /-asan$/ - variables: - DAP_ASAN: "1" - - if: $CI_COMMIT_REF_NAME =~ /-ubsan$/ - variables: - DAP_UBSAN: "1" - - if: $CI_COMMIT_REF_NAME =~ /-tsan$/ - variables: - DAP_TSAN: "1" - if: $CI_COMMIT_REF_NAME =~ /.*$/ variables: DUMMY_VAR_FOR_ALLOW_JOB: "1" @@ -101,21 +92,19 @@ amd64:linux.rwd.bld: - *fill_version_mk script: - echo "Do hard work" - - ./prod_build/build.sh --target linux rwd -DBUILD_WITH_PYTHON_ENV=ON -DBUILD_DIAGTOOL=ON + - ./prod_build/build.sh --target linux rwd -DBUILD_WITH_PYTHON_ENV=ON - ./prod_build/pack.sh --target linux rwd autotests: extends: .ci-test interruptible: true - - stage: test_proceed + stage: diagnostic_builds rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH when: always - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH when: manual allow_failure: true - variables: GIT_STRATEGY: none dependencies: @@ -123,6 +112,64 @@ autotests: script: - /opt/tests-in-docker/artifacts.sh build_*/*.deb +asan_build: + extends: .build + stage: diagnostic_builds + variables: + DAP_ASAN: "1" + dependencies: + - amd64:linux.rwd.bld + image: demlabs/debian/amd64:qt5 + rules: + - when: manual + allow_failure: true + before_script: + - /opt/buildtools/prepare_environment.sh arm64-linux + - *fill_version_mk + script: + - ./prod_build/build.sh --target linux rwd + - ./prod_build/pack.sh --target linux rwd + - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb + +ubsan_build: + extends: .build + stage: diagnostic_builds + variables: + DAP_UBSAN: "1" + dependencies: + - amd64:linux.rwd.bld + image: demlabs/debian/amd64:qt5 + rules: + - when: manual + allow_failure: true + before_script: + - /opt/buildtools/prepare_environment.sh arm64-linux + - *fill_version_mk + script: + - ./prod_build/build.sh --target linux rwd + - ./prod_build/pack.sh --target linux rwd + - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb + +tsan_build: + extends: .build + stage: diagnostic_builds + variables: + DAP_TSAN: "1" + dependencies: + - amd64:linux.rwd.bld + image: demlabs/debian/amd64:qt5 + rules: + - when: manual + allow_failure: true + before_script: + - /opt/buildtools/prepare_environment.sh arm64-linux + - *fill_version_mk + script: + - ./prod_build/build.sh --target linux rwd + - ./prod_build/pack.sh --target linux rwd + - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb + + amd64:linux.rwd: extends: .build stage: build @@ -138,6 +185,7 @@ amd64:linux.rwd: - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb --redirect-with-link linux/cellframe-node/$CI_COMMIT_REF_NAME/latest-amd64 --just-redirect + amd64:linux.release: extends: .build image: demlabs/debian/amd64:qt5 @@ -146,7 +194,7 @@ amd64:linux.release: - *fill_version_mk script: - echo "Do hard work" - - ./prod_build/build.sh --target linux release -DBUILD_WITH_PYTHON_ENV=ON -DBUILD_DIAGTOOL=ON + - ./prod_build/build.sh --target linux release -DBUILD_WITH_PYTHON_ENV=ON - ./prod_build/pack.sh --target linux release - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb @@ -158,12 +206,10 @@ amd64:windows.rwd: - *fill_version_mk script: - echo "Do hard work" - - ./prod_build/build.sh --target windows rwd -DBUILD_DIAGTOOL=ON + - ./prod_build/build.sh --target windows rwd - ./prod_build/pack.sh --target windows rwd - /opt/buildtools/deploy_files.sh pub_cellframe windows/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.exe - /opt/buildtools/deploy_files.sh pub_cellframe windows/cellframe-node/$CI_COMMIT_REF_NAME/ build_windows_rwd/*.exe --redirect-with-link windows/cellframe-node/$CI_COMMIT_REF_NAME/latest-amd64 --just-redirect - - amd64:macos.release: extends: .build image: demlabs/macos/amd64:qt5 @@ -172,15 +218,13 @@ amd64:macos.release: - *fill_version_mk script: - echo "Do hard work" - - ./prod_build/build.sh --target osx release #-DBUILD_DIAGTOOL=ON + - ./prod_build/build.sh --target osx release - ./prod_build/pack.sh --target osx release --sign /opt/buildtools/sign/macos/demlabs.sh - /opt/buildtools/deploy_files.sh pub_cellframe macos/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.pkg - - /opt/buildtools/deploy_files.sh pub_cellframe macos/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*-signed.pkg --redirect-with-link macos/cellframe-node/$CI_COMMIT_REF_NAME/latest-amd64 --just-redirect # symlink - + - /opt/buildtools/deploy_files.sh pub_cellframe macos/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*-signed.pkg --redirect-with-link macos/cellframe-node/$CI_COMMIT_REF_NAME/latest-amd64 --just-redirect artifacts: paths: - build_*/*.pkg - amd64:linux.debug: extends: .build image: demlabs/debian/amd64:qt5 @@ -189,11 +233,9 @@ amd64:linux.debug: - *fill_version_mk script: - echo "Do hard work" - - ./prod_build/build.sh --target linux debug -DBUILD_WITH_PYTHON_ENV=ON -DBUILD_DIAGTOOL=ON + - ./prod_build/build.sh --target linux debug -DBUILD_WITH_PYTHON_ENV=ON - ./prod_build/pack.sh --target linux debug - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb - - amd64:linux.rwd.opt: extends: .build image: demlabs/debian/amd64:qt5 @@ -202,11 +244,10 @@ amd64:linux.rwd.opt: - *fill_version_mk script: - echo "Do hard work" - - ./prod_build/build.sh --target linux rwd -DBUILD_WITH_PYTHON_ENV=ON -DBUILD_DIAGTOOL=ON -DCELLFRAME_NO_OPTIMIZATION=OFF + - ./prod_build/build.sh --target linux rwd -DBUILD_WITH_PYTHON_ENV=ON -DCELLFRAME_NO_OPTIMIZATION=OFF - ./prod_build/pack.sh --target linux rwd - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb --redirect-with-link linux/cellframe-node/$CI_COMMIT_REF_NAME/latest-amd64.opt --just-redirect - amd64:linux.tps: extends: .build image: demlabs/debian/amd64:qt5 @@ -214,7 +255,6 @@ amd64:linux.tps: - /opt/buildtools/prepare_environment.sh amd64-linux - *fill_version_mk when: manual - script: - ./prod_build/build.sh --target linux release -DBUILD_WITH_TPS_TEST=ON - ./prod_build/pack.sh --target linux release @@ -228,7 +268,7 @@ amd64:linux.tps: - *fill_version_mk script: - echo "Do hard work" - - ./prod_build/build.sh --target linux release -DBUILD_WITH_PYTHON_ENV=ON -DBUILD_DIAGTOOL=ON -DADD_UPDATER=ON + - ./prod_build/build.sh --target linux release -DBUILD_WITH_PYTHON_ENV=ON -DADD_UPDATER=ON - ./prod_build/pack.sh --target linux release - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb @@ -240,7 +280,7 @@ amd64:linux.tps: - *fill_version_mk script: - echo "Do hard work" - - ./prod_build/build.sh --target linux release -DBUILD_WITH_PYTHON_ENV=ON -DBUILD_DIAGTOOL=ON + - ./prod_build/build.sh --target linux release -DBUILD_WITH_PYTHON_ENV=ON - ./prod_build/pack.sh --target linux release - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_linux_release/*-amd64.deb --redirect-from linux/cellframe-node/$CI_COMMIT_REF_NAME/latest-amd64 @@ -250,35 +290,32 @@ amd64:linux.tps: armhf:linux.release: extends: .build image: demlabs/debian/arm32:qt5 - before_script: - /opt/buildtools/prepare_environment.sh armhf-linux - *fill_version_mk - script: + script: - echo "Do hard work" - ./prod_build/build.sh --target linux release - ./prod_build/pack.sh --target linux release - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*armhf*.deb --redirect-with-link linux/cellframe-node/$CI_COMMIT_REF_NAME/latest-armhf --just-redirect - arm64:linux.release: extends: .build image: demlabs/debian/arm64:qt5 - before_script: + before_script: - /opt/buildtools/prepare_environment.sh arm64-linux - *fill_version_mk - script: + script: - echo "Do hard work" - ./prod_build/build.sh --target linux release - ./prod_build/pack.sh --target linux release - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*arm64*.deb --redirect-with-link linux/cellframe-node/$CI_COMMIT_REF_NAME/latest-arm64 --just-redirect - any:android.release: extends: .build image: demlabs/android/any:qt5 - before_script: + before_script: - /opt/buildtools/prepare_environment.sh arm64-linux - 'apt install -y openjdk-17-jdk' - 'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/' diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e268198fcf6b00038e2ede17a65c01a2ee3b017..9483a1570896f656d20673747dedaaea92a7c747 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -181,13 +181,22 @@ if(UNIX) endif() endif() + if (DEFINED ENV{DAP_ASAN}) + SET( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}-asan" ) + endif() + if (DEFINED ENV{DAP_UBSAN}) + SET( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}-ubsan" ) + endif() + if (DEFINED ENV{DAP_TSAN}) + SET( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}-tsan" ) + endif() + SET( CPACK_DEBIAN_PACKAGE_MAINTAINER "Dmitriy Gerasimov <naeper@demlabs.net>" ) SET( CPACK_DEBIAN_PACKAGE_DESCRIPTION_SUMMARY "CellFrame Node software https://cellframe.net" ) SET( CPACK_DEBIAN_PACKAGE_DESCRIPTION "CellFrame Node" ) SET( CPACK_DEBIAN_PACKAGE_SECTION "extra") - SET( CPACK_DEBIAN_PACKAGE_DEPENDS "dpkg (>=1.17), bash (>=4), less, pv, psmisc, logrotate, irqbalance, xz-utils") - + SET( CPACK_DEBIAN_PACKAGE_DEPENDS "dpkg (>=1.17), bash (>=4), less, pv, psmisc, logrotate, irqbalance, xz-utils") #have to figure out how to use it properly with custom RPATH for python plugins... if (NOT SUPPORT_PYTHON_PLUGINS) SET( CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) diff --git a/dap-sdk b/dap-sdk index 3491640b76de5715eb3936ccd377abd51d88b99e..a7b6da64ee24a3aba64dcbbd5f3f356069d853ad 160000 --- a/dap-sdk +++ b/dap-sdk @@ -1 +1 @@ -Subproject commit 3491640b76de5715eb3936ccd377abd51d88b99e +Subproject commit a7b6da64ee24a3aba64dcbbd5f3f356069d853ad diff --git a/os/windows/cellframe-node.nsis b/os/windows/cellframe-node.nsis index 4b3c08066f7402cf68dbc75acd4fb57e9c0e90ab..c45f43e565c70b5cf3d53f84ffd21147737daa9a 100644 --- a/os/windows/cellframe-node.nsis +++ b/os/windows/cellframe-node.nsis @@ -138,15 +138,13 @@ Var NetBackboneCb Var NetKelVPNCb Var NetRiemannCb Var NetRaidenCb -Var NetMileenaCb -Var NetSubzeroCb + Var NetBackboneState Var NetKelVPNState Var NetRiemannState Var NetRaidenState -Var NetMileenaState -Var NetSubzeroState + ${StrTrimNewLines} @@ -176,18 +174,6 @@ Function getNetworksStates ${WordFind} $1 " " "-01" $NetRaidenState ${StrTrimNewLines} $NetRaidenState $NetRaidenState - nsExec::ExecToStack /OEM "$INSTDIR\${NODE_NAME}-config.exe -e network mileena check" - Pop $0 ; Exit code / error - Pop $1 ; stdout output - ${WordFind} $1 " " "-01" $NetMileenaState - ${StrTrimNewLines} $NetMileenaState $NetMileenaState - - nsExec::ExecToStack /OEM "$INSTDIR\${NODE_NAME}-config.exe -e network subzero check" - Pop $0 ; Exit code / error - Pop $1 ; stdout output - ${WordFind} $1 " " "-01" $NetSubzeroState - ${StrTrimNewLines} $NetSubzeroState $NetSubzeroState - FunctionEnd ${UnStrTrimNewLines} @@ -272,14 +258,6 @@ Function checkEnabledNets ${NSD_Check} $NetRaidenCb ${EndIf} - ${If} $NetMileenaState == "on" - ${NSD_Check} $NetMileenaCb - ${EndIf} - - ${If} $NetSubzeroState == "on" - ${NSD_Check} $NetSubzeroCb - ${EndIf} - FunctionEnd Function pgNetSelectCreate @@ -311,12 +289,6 @@ Function pgNetSelectCreate ${NSD_CreateCheckbox} 20% 68u 20% 10u "Raiden" Pop $NetRaidenCb - ${NSD_CreateCheckbox} 20% 82u 20% 10u "Mileena" - Pop $NetMileenaCb - - ${NSD_CreateCheckbox} 20% 96u 20% 10u "Subzero" - Pop $NetSubzeroCb - Call checkEnabledNets nsDialogs::Show @@ -336,16 +308,11 @@ Function pgNetSelectLeave ${NSD_GetState} $NetKelVPNCb $NetKelVPNState ${NSD_GetState} $NetRiemannCb $NetRiemannState ${NSD_GetState} $NetRaidenCb $NetRaidenState - ${NSD_GetState} $NetMileenaCb $NetMileenaState - ${NSD_GetState} $NetSubzeroCb $NetSubzeroState - - + !insertmacro ensureNetworkState "Backbone" $NetBackboneState !insertmacro ensureNetworkState "KelVPN" $NetKelVPNState !insertmacro ensureNetworkState "riemann" $NetRiemannState !insertmacro ensureNetworkState "raiden" $NetRaidenState - !insertmacro ensureNetworkState "mileena" $NetMileenaState - !insertmacro ensureNetworkState "subzero" $NetSubzeroState Delete "$INSTDIR\${NODE_NAME}.exe" Rename "$INSTDIR\cellframe-node.tmp" "$INSTDIR\cellframe-node.exe" diff --git a/prod_build b/prod_build index 2abae853b1e1e097154c411fa191816883b58249..18a73adcaeeafe2c75dc82b71c698ccdbada7116 160000 --- a/prod_build +++ b/prod_build @@ -1 +1 @@ -Subproject commit 2abae853b1e1e097154c411fa191816883b58249 +Subproject commit 18a73adcaeeafe2c75dc82b71c698ccdbada7116