Add Sentry support to new CPack packages. (#17627)
Austin S. Hemmelgarn committed
May 10, 2024 at 10:32 UTC
f8ed61efe10d0c359d7d5f73110853ce3546d2ed
4 files changed
+33
-6
CMakeLists.txt
+6
@@ -49,6 +49,12 @@ endif()
49
50
set(NETDATA_VERSION ${FIELD_MAJOR}.${FIELD_MINOR}.${FIELD_PATCH}.${FIELD_TWEAK})
51
52
+if(FIELD_DESCR STREQUAL "N/A")
53
+ set(CPACK_PACKAGE_VERSION ${FIELD_MAJOR}.${FIELD_MINOR}.${FIELD_PATCH})
54
+else()
55
+ set(CPACK_PACKAGE_VERSION ${FIELD_MAJOR}.${FIELD_MINOR}.${FIELD_PATCH}-${FIELD_TWEAK}-${FIELD_DESCR})
56
+endif()
57
+
58
#
59
# project
60
#
packaging/build-package.sh
+23
@@ -74,8 +74,31 @@ case "${PKG_TYPE}" in
74
*) echo "Unrecognized package type ${PKG_TYPE}." ; exit 1 ;;
75
esac
76
77
+if [ "${ENABLE_SENTRY}" = "true" ]; then
78
+ if [ -z "${SENTRY_DSN}" ]; then
79
+ echo "ERROR: Sentry enabled but no DSN specified, exiting."
80
+ exit 1
81
+ fi
82
+
83
+ add_cmake_option ENABLE_SENTRY On
84
+ add_cmake_option NETDATA_SENTRY_ENVIRONMENT "${RELEASE_PIPELINE:-Unknown}"
85
+ add_cmake_option NETDATA_SENTRY_DIST "${BUILD_DESTINATION:-Unknown}"
86
+ add_cmake_option NETDATA_SENTRY_DSN "${SENTRY_DSN}"
87
+
88
+ if [ -n "${VERSION}" ]; then
89
+ add_cmake_option NETDATA_SENTRY_RELEASE "${VERSION}"
90
+ fi
91
+else
92
+ add_cmake_option ENABLE_SENTRY Off
93
+fi
94
+
95
# shellcheck disable=SC2086
96
cmake ${CMAKE_ARGS}
97
cmake --build "${BUILD_DIR}" --parallel "$(nproc)"
98
+
99
+if [ "${ENABLE_SENTRY}" = "true" ] && [ "${UPLOAD_SENTRY}" = "true" ]; then
100
+ sentry-cli debug-files upload -o netdata-inc -p netdata-agent --force-foreground --log-level=debug --wait --include-sources build/netdata
101
+fi
102
+
103
cd "${BUILD_DIR}" || exit 1
104
cpack -V -G "${PKG_TYPE}"
packaging/cmake/Modules/NetdataSentry.cmake
+4
@@ -20,6 +20,10 @@ function(netdata_bundle_sentry)
20
set(SENTRY_BACKEND "breakpad")
21
set(SENTRY_BUILD_SHARED_LIBS OFF)
22
23
+ if(NOT DEFINED NETDATA_SENTRY_RELEASE)
24
+ set(NETDATA_SENTRY_RELEASE "${CPACK_PACKAGE_VERSION}")
25
+ endif()
26
+
27
FetchContent_Declare(
28
sentry
29
GIT_REPOSITORY https://github.com/getsentry/sentry-native.git
packaging/cmake/Modules/Packaging.cmake
-6
@@ -9,12 +9,6 @@ set(CPACK_DEBIAN_DEBUGINFO_PACKAGE NO)
9
10
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS YES)
11
12
-if(FIELD_DESCR STREQUAL "N/A")
13
- set(CPACK_PACKAGE_VERSION ${FIELD_MAJOR}.${FIELD_MINOR}.${FIELD_PATCH})
14
-else()
15
- set(CPACK_PACKAGE_VERSION ${FIELD_MAJOR}.${FIELD_MINOR}.${FIELD_PATCH}-${FIELD_TWEAK}-${FIELD_DESCR})
16
-endif()
17
-
12
set(CPACK_PACKAGING_INSTALL_PREFIX "/")
13
14
set(CPACK_PACKAGE_VENDOR "Netdata Inc.")