From 588d588a85cde0b1517091a59b88003c76c729b2 Mon Sep 17 00:00:00 2001 From: Sergey Avseyev Date: Thu, 15 Jan 2026 09:03:36 -0800 Subject: [PATCH] Fix CI issues * lock minitest version < 6 for now (the upgrade requires extra review) release notes: https://minite.st/docs/History_rdoc.html#label-6.0.0+-2F+2025-12-17 * tune workflows to pull crash reports on macos and also run linters for maintenance branches * update gocaves mock to latest version * update core to pickup fix CXXCBC-766 --- .github/workflows/linters.yml | 8 ++++++-- .github/workflows/tests.yml | 18 ++++++++++++++++++ .gitignore | 1 + Gemfile | 15 +++------------ bin/console | 14 ++++++++++++++ ext/couchbase | 2 +- 6 files changed, 43 insertions(+), 15 deletions(-) diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml index afcda6a3..a905c6c2 100644 --- a/.github/workflows/linters.yml +++ b/.github/workflows/linters.yml @@ -3,9 +3,13 @@ permissions: {} on: push: - branches: [ main ] + branches: + - main + - release* pull_request: - branches: [ main ] + branches: + - main + - release* env: LLVM_VERSION: 20 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 0a4aa7ab..6d143411 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -555,6 +555,15 @@ jobs: logs/* test/**/*.{log,xml} retention-days: 5 + - name: Upload crash logs + if: failure() + uses: actions/upload-artifact@v4 + with: + name: ${{ github.job }}-${{ github.run_attempt }}-${{ matrix.ruby }}-crash + path: | + ~/Library/Logs/DiagnosticReports/ + /Library/Logs/DiagnosticReports/ + retention-days: 5 - name: Publish Test Report uses: mikepenz/action-junit-report@v4.1.0 if: always() @@ -616,6 +625,15 @@ jobs: logs/* test/**/*.{log,xml} retention-days: 5 + - name: Upload crash logs + if: failure() + uses: actions/upload-artifact@v4 + with: + name: ${{ github.job }}-${{ github.run_attempt }}-${{ matrix.ruby }}-crash + path: | + ~/Library/Logs/DiagnosticReports/ + /Library/Logs/DiagnosticReports/ + retention-days: 5 - name: Publish Test Report uses: mikepenz/action-junit-report@v4.1.0 if: always() diff --git a/.gitignore b/.gitignore index 448c2d67..78599282 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,7 @@ /pkg/ /test/reports/ /tmp/ +/logs/ /vendor/bundle/ Gemfile.lock Makefile diff --git a/Gemfile b/Gemfile index 3209ccfe..fb7d7fa1 100644 --- a/Gemfile +++ b/Gemfile @@ -30,7 +30,9 @@ group :development do gem "gem-compiler" gem "grpc-tools", "~> 1.59" gem "heckle" - gem "minitest", "~> 5.27" + gem "irb" + # TODO(SA): review https://minite.st/docs/History_rdoc.html#label-6.0.0+-2F+2025-12-17 + gem "minitest", "< 6.0" gem "minitest-reporters" gem "mutex_m" gem "rack" @@ -44,15 +46,4 @@ group :development do gem "ruby-lsp", require: false gem "simplecov-cobertura" gem "yard" - - # Resolves https://github.com/ruby/openssl/issues/949 which we encounter when downloading gocaves on macOS on CI - # This has been fixed in openssl versions 3.1.2, 3.2.2, 3.3.1. - # The latest dot-patch version of Ruby 3.3 and 3.4 now comes with a new enough openssl version by default. - if RUBY_PLATFORM.include?("darwin") - if RUBY_VERSION.start_with?('3.2') - gem "openssl", "~> 3.2.2" - elsif RUBY_VERSION.start_with?('3.1') - gem "openssl", "~> 3.1.2" - end - end end diff --git a/bin/console b/bin/console index 8c48bdae..650da6eb 100755 --- a/bin/console +++ b/bin/console @@ -15,6 +15,20 @@ # See the License for the specific language governing permissions and # limitations under the License. +if ARGV.delete("--trace-loaded-features") || ENV["COUCHBASE_TRACE_LOADED_FEATURES"] + loaded_before = $LOADED_FEATURES.dup + set_trace_func lambda { |event, file, line, id, _binding, _klass| + if event == 'c-return' && [:require, :load].include?(id) + new_loads = $LOADED_FEATURES - loaded_before + unless new_loads.empty? + puts "#{file}:#{line}" + new_loads.each { |path| puts " LOADED: #{path}" } + loaded_before.concat(new_loads) + end + end + } +end + require "bundler/setup" require "irb" require "open3" diff --git a/ext/couchbase b/ext/couchbase index d713bb64..5e53e402 160000 --- a/ext/couchbase +++ b/ext/couchbase @@ -1 +1 @@ -Subproject commit d713bb6482421ae1f34d37c26097fcecd6fa6bb0 +Subproject commit 5e53e402e236e37510fd32f27d6903814636917b