From 4490fdcf4643dcd3407b933f5ffb39bacccd8978 Mon Sep 17 00:00:00 2001 From: Jeff Becker Date: Sat, 3 Sep 2022 11:43:40 -0400 Subject: [PATCH] fix up CI add jason's suggested changes for artifact upload use lokinet-ci-nodejs-lts as base image so we can build the installer update ci pipeline for windows to have building gui toggle-able by default we will build the gui from this repo, but this allows it to easily run using a custom gui asset if needed --- .drone.jsonnet | 14 +++++++------- CMakeLists.txt | 4 +++- contrib/ci/drone-static-upload.sh | 10 +++++----- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/.drone.jsonnet b/.drone.jsonnet index d03f1baec..15cc443f6 100644 --- a/.drone.jsonnet +++ b/.drone.jsonnet @@ -76,6 +76,7 @@ local debian_pipeline(name, 'mkdir build', 'cd build', 'cmake .. -DWITH_SETCAP=OFF -DCMAKE_CXX_FLAGS=-fdiagnostics-color=always -DCMAKE_BUILD_TYPE=' + build_type + ' ' + + (if build_type == 'Debug' then ' -DWARN_DEPRECATED=OFF ' else '') + (if werror then '-DWARNINGS_AS_ERRORS=ON ' else '') + '-DWITH_LTO=' + (if lto then 'ON ' else 'OFF ') + '-DWITH_TESTS=' + (if tests then 'ON ' else 'OFF ') + @@ -121,7 +122,7 @@ local windows_cross_pipeline(name, lto=false, werror=false, cmake_extra='', - toolchain='32', + gui_zip_url='', extra_cmds=[], jobs=6, allow_fail=false) = { @@ -137,16 +138,16 @@ local windows_cross_pipeline(name, image: image, pull: 'always', [if allow_fail then 'failure']: 'ignore', - environment: { SSH_KEY: { from_secret: 'SSH_KEY' }, WINDOWS_BUILD_NAME: toolchain + 'bit' }, + environment: { SSH_KEY: { from_secret: 'SSH_KEY' }, WINDOWS_BUILD_NAME: '64bit' }, commands: [ 'echo "Building on ${DRONE_STAGE_MACHINE}"', 'echo "man-db man-db/auto-update boolean false" | debconf-set-selections', apt_get_quiet + ' update', apt_get_quiet + ' install -y eatmydata', - 'eatmydata ' + apt_get_quiet + ' install --no-install-recommends -y build-essential cmake git pkg-config ccache g++-mingw-w64-x86-64-posix nsis zip automake libtool', + 'eatmydata ' + apt_get_quiet + ' install --no-install-recommends -y p7zip-full build-essential cmake git pkg-config ccache g++-mingw-w64-x86-64-posix nsis zip automake libtool', 'update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix', 'update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix', - 'JOBS=' + jobs + ' VERBOSE=1 ./contrib/windows.sh -DSTRIP_SYMBOLS=ON ' + ci_mirror_opts, + 'JOBS=' + jobs + ' VERBOSE=1 ./contrib/windows.sh ' + (if std.length(gui_zip_url) > 0 then '-DBUILD_GUI=OFF -DGUI_ZIP_URL=' + gui_zip_url else '') + ' -DSTRIP_SYMBOLS=ON ' + ci_mirror_opts, ] + extra_cmds, }, ], @@ -277,7 +278,7 @@ local mac_builder(name, // basic system headers. WTF apple: 'export SDKROOT="$(xcrun --sdk macosx --show-sdk-path)"', 'ulimit -n 1024', // because macos sets ulimit to 256 for some reason yeah idk - './contrib/mac.sh ' + ci_mirror_opts + ' ' + codesign, + './contrib/mac.sh ' + ci_mirror_opts + (if build_type == 'Debug' then ' -DWARN_DEPRECATED=OFF ' else '') + codesign, ] + extra_cmds, }, ], @@ -358,8 +359,7 @@ local docs_pipeline(name, image, extra_cmds=[], allow_fail=false) = { // Windows builds (x64) windows_cross_pipeline('Windows (amd64)', - docker_base + 'debian-win32-cross', - toolchain='64', + docker_base + 'nodejs-lts', extra_cmds=[ './contrib/ci/drone-static-upload.sh', ]), diff --git a/CMakeLists.txt b/CMakeLists.txt index 1496b2a25..d8ad1a3c8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,6 +89,8 @@ if(CMAKE_BUILD_TYPE MATCHES "[Dd][Ee][Bb][Uu][Gg]") add_definitions(-DLOKINET_DEBUG) endif() +option(WARN_DEPRECATED "show deprecation warnings" ${debug}) + if(BUILD_STATIC_DEPS AND STATIC_LINK) message(STATUS "we are building static deps so we won't build shared libs") set(BUILD_SHARED_LIBS OFF CACHE BOOL "") @@ -186,7 +188,7 @@ else() if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") add_compile_options(-Wno-unknown-warning-option) endif() - if(debug) + if(WARN_DEPRECATED) add_compile_options(-Wdeprecated-declarations) else() add_compile_options(-Wno-deprecated-declarations) diff --git a/contrib/ci/drone-static-upload.sh b/contrib/ci/drone-static-upload.sh index 80a87d5a9..4eb4921b5 100755 --- a/contrib/ci/drone-static-upload.sh +++ b/contrib/ci/drone-static-upload.sh @@ -67,6 +67,7 @@ upload_to="oxen.rocks/${DRONE_REPO// /_}/${DRONE_BRANCH// /_}" # -mkdir a/, -mkdir a/b/, -mkdir a/b/c/, ... commands. The leading `-` allows the command to fail # without error. upload_dirs=(${upload_to//\// }) +put_debug= mkdirs= dir_tmp="" for p in "${upload_dirs[@]}"; do @@ -74,16 +75,15 @@ for p in "${upload_dirs[@]}"; do mkdirs="$mkdirs -mkdir $dir_tmp" done - +if [ -e "$base-debug-symbols.tar.xz" ] ; then + put_debug="put $base-debug-symbols.tar.xz $upload_to" +fi sftp -i ssh_key -b - -o StrictHostKeyChecking=off drone@oxen.rocks <