Skip to content

Commit 6f3c5fe

Browse files
committed
Fail pipeline when libdatadog.so is missing
1 parent 9682847 commit 6f3c5fe

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

.gitlab/install_datadog_deps.rb

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
'ffi',
7575
'libddwaf',
7676
'msgpack',
77-
'libdatadog', # libdatadog MUST be installed before datadog
77+
'libdatadog', # libdatadog MUST be installed before datadog to ensure libdatadog native extension is compiled
7878
'datadog',
7979
].each do |gem|
8080
version = gem_version_mapping.delete(gem)
@@ -108,6 +108,12 @@
108108

109109
raise "#{gem_version_mapping.keys.join(',')} are not installed." if gem_version_mapping.any?
110110

111+
datadog_gem_path = versioned_path.join("gems/datadog-#{ENV.fetch('RUBY_PACKAGE_VERSION')}")
112+
libdatadog_so_file = "libdatadog_api.#{RUBY_VERSION[/\d+.\d+/]}_#{RUBY_PLATFORM}.so"
113+
unless File.exist?("#{datadog_gem_path}/lib/#{libdatadog_so_file}")
114+
raise "Missing #{libdatadog_so_file} in #{datadog_gem_path}."
115+
end
116+
111117
FileUtils.cd(versioned_path.join("extensions/#{Gem::Platform.local}"), verbose: true) do
112118
# Symlink those directories to be utilized by Ruby compiled with shared libraries
113119
FileUtils.ln_sf Gem.extension_api_version, ruby_api_version

0 commit comments

Comments
 (0)