From a3f86f89da19a3452ad244ccd656c5a23d9719af Mon Sep 17 00:00:00 2001 From: Adam Ruzicka Date: Wed, 12 Nov 2025 15:46:11 +0100 Subject: [PATCH 1/3] Require rails >= 7 --- Gemfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index 68c43955..7e6a640d 100644 --- a/Gemfile +++ b/Gemfile @@ -33,7 +33,7 @@ end group :rails do gem 'daemons' gem 'logging' - gem 'rails', '>= 4.2.9', '< 7' + gem 'rails', '>= 7', '< 8' end group :telemetry do From 4442e066aa744b969753dc90cfd85a7cd4a024ae Mon Sep 17 00:00:00 2001 From: Adam Ruzicka Date: Wed, 12 Nov 2025 16:28:55 +0100 Subject: [PATCH 2/3] Deal with activesupport time extensions --- lib/dynflow/extensions/msgpack.rb | 4 ++++ test/extensions_test.rb | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/dynflow/extensions/msgpack.rb b/lib/dynflow/extensions/msgpack.rb index cf96bf52..a301780b 100644 --- a/lib/dynflow/extensions/msgpack.rb +++ b/lib/dynflow/extensions/msgpack.rb @@ -16,6 +16,10 @@ def to_msgpack(out = ''.dup) ::MessagePack::DefaultFactory.register_type(0x00, Time, packer: MessagePack::Time::Packer, unpacker: MessagePack::Time::Unpacker) begin + # time_with_zone added a deprecation warning in 7.1.0 which we need to account for + # it was removed again in 7.2.0 + require 'active_support/deprecation' + require 'active_support/deprecator' require 'active_support/time_with_zone' unpacker = ->(payload) do tv = MessagePack::Timestamp.from_msgpack_ext(payload) diff --git a/test/extensions_test.rb b/test/extensions_test.rb index 36a733de..a17d4e92 100644 --- a/test/extensions_test.rb +++ b/test/extensions_test.rb @@ -1,15 +1,15 @@ # frozen_string_literal: true require_relative 'test_helper' -require 'active_support/time' +require 'active_support/all' module Dynflow module ExtensionsTest describe 'msgpack extensions' do before do - Thread.current[:time_zone] = ActiveSupport::TimeZone['Europe/Prague'] + Time.zone = ActiveSupport::TimeZone['Europe/Prague'] end - after { Thread.current[:time_zone] = nil } + after { Time.zone = nil } it 'allows {de,}serializing Time' do time = Time.now From 49e57a67a4976314cf3cf217a4a33a4fe84da316 Mon Sep 17 00:00:00 2001 From: Adam Ruzicka Date: Wed, 12 Nov 2025 17:50:24 +0100 Subject: [PATCH 3/3] Workaround for older sidekiq --- lib/dynflow/executors/sidekiq/core.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/dynflow/executors/sidekiq/core.rb b/lib/dynflow/executors/sidekiq/core.rb index 0abbee0c..2bfbf126 100644 --- a/lib/dynflow/executors/sidekiq/core.rb +++ b/lib/dynflow/executors/sidekiq/core.rb @@ -13,7 +13,7 @@ config[:semi_reliable_fetch] = true Sidekiq::ReliableFetch.setup_reliable_fetch!(config) end -::Sidekiq.strict_args!(false) +::Sidekiq.strict_args!(false) if ::Sidekiq.respond_to?(:strict_args!) module Dynflow module Executors