mirror of
https://github.com/facebook/rocksdb.git
synced 2026-07-07 14:47:40 +08:00
959fa315b1
Summary: Replace raw owning pointers with std::unique_ptr for StreamingCompress/Uncompress in Create functions and log::Writer/Reader, eliminating manual delete calls in destructors. Also update the StreamingCompressionTest to use unique_ptr for its local StreamingCompress, StreamingUncompress, and MemoryAllocator objects. Bonus: improve error message for missing/broken ruby (new build requirement) Pull Request resolved: https://github.com/facebook/rocksdb/pull/14665 Test Plan: ./log_test - all 211 tests pass. Reviewed By: xingbowang Differential Revision: D102381893 Pulled By: pdillinger fbshipit-source-id: 02806b46c8371474a969d6fa3012fff5eb7886c3
43 lines
997 B
Bash
Executable File
43 lines
997 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
#
|
|
# Validate GitHub Actions workflow YAML before it reaches CI runtime.
|
|
|
|
set -euo pipefail
|
|
|
|
if ! command -v ruby >/dev/null 2>&1; then
|
|
echo "ruby is required to validate GitHub Actions workflow YAML"
|
|
echo "On CentOS Stream: sudo dnf install ruby rubygems rubygem-psych"
|
|
exit 1
|
|
fi
|
|
|
|
if ! ruby -e 'require "psych"' 2>/dev/null; then
|
|
echo "ruby is installed but cannot load required library 'psych'"
|
|
echo "On CentOS Stream: sudo dnf install rubygems rubygem-psych"
|
|
exit 1
|
|
fi
|
|
|
|
ruby <<'RUBY'
|
|
require "psych"
|
|
|
|
bad = false
|
|
workflow_files = Dir[".github/workflows/*.{yml,yaml}"].sort
|
|
|
|
if workflow_files.empty?
|
|
warn "No workflow YAML files found under .github/workflows"
|
|
exit 1
|
|
end
|
|
|
|
workflow_files.each do |path|
|
|
begin
|
|
Psych.parse_file(path)
|
|
puts "OK #{path}"
|
|
rescue Psych::Exception => e
|
|
warn "Invalid YAML in #{path}: #{e.message}"
|
|
bad = true
|
|
end
|
|
end
|
|
|
|
exit(bad ? 1 : 0)
|
|
RUBY
|