Skip to content

Commit f355a1d

Browse files
committed
CI fixes
1 parent 0f03ad4 commit f355a1d

30 files changed

+74
-62
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,4 +73,6 @@ jobs:
7373
7474
- name: Lint, compile, test Ruby
7575
working-directory: ./temporalio
76+
# Timeout just in case there's a hanging part in rake
77+
timeout-minutes: 20
7678
run: bundle exec rake TESTOPTS="--verbose"

temporalio/Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ group :development do
1717
gem 'rbs', '~> 3.5.3'
1818
gem 'rb_sys', '~> 0.9.63'
1919
gem 'rubocop'
20-
gem 'sqlite3', '~> 1.4'
20+
gem 'sqlite3'
2121
gem 'steep', '~> 1.7.1'
2222
gem 'yard'
2323
end

temporalio/lib/temporalio/internal/worker/workflow_instance/illegal_call_tracer.rb

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,26 +33,28 @@ def self.frozen_validated_illegal_calls(illegal_calls)
3333
end.freeze
3434
end
3535

36-
# Illegal calls are Hash[String, Hash[Symbol, Bool]]
36+
# Illegal calls are Hash[String, :all | Hash[Symbol, Bool]]
3737
def initialize(illegal_calls)
3838
@tracepoint = TracePoint.new(:call, :c_call) do |tp|
3939
cls = tp.defined_class
4040
next unless cls.is_a?(Module)
4141

42-
# We need this to be quick so we don't do extra validations to satisfy type checker
43-
# steep:ignore:start
44-
if cls.singleton_class?
45-
cls = cls.attached_object
42+
if cls.singleton_class? && cls.is_a?(Class)
43+
cls = begin
44+
cls.attached_object
45+
rescue NoMethodError
46+
# In Ruby 3.1, cls can be "Class:Delegator" which does not respond to attached_object
47+
next
48+
end
4649
next unless cls.is_a?(Module)
4750
end
48-
vals = illegal_calls[cls.name]
49-
if vals == :all || vals&.[](tp.callee_id)
51+
vals = illegal_calls[cls.name.to_s]
52+
if vals == :all || vals&.[](tp.callee_id) # steep:ignore
5053
raise Workflow::NondeterminismError,
5154
"Cannot access #{cls.name} #{tp.callee_id} from inside a " \
5255
'workflow. If this is known to be safe, the code can be run in ' \
5356
'a Temporalio::Workflow::Unsafe.illegal_call_tracing_disabled block.'
5457
end
55-
# steep:ignore:end
5658
end
5759
end
5860

temporalio/rbs_collection.lock.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ gems:
3737
version: '0'
3838
source:
3939
type: stdlib
40+
- name: benchmark
41+
version: '0'
42+
source:
43+
type: stdlib
4044
- name: bigdecimal
4145
version: '0'
4246
source:
@@ -173,6 +177,10 @@ gems:
173177
revision: e9bc1bf94c262e79a2d599a9c173342915b29808
174178
remote: https://github.com/ruby/gem_rbs_collection.git
175179
repo_dir: gems
180+
- name: uri
181+
version: '0'
182+
source:
183+
type: stdlib
176184
- name: yard
177185
version: '0.9'
178186
source:

temporalio/test/api/payload_visitor_test.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# frozen_string_literal: true
22

33
require 'temporalio/api/payload_visitor'
4-
require 'test_base'
4+
require 'test'
55

66
module Api
7-
class PayloadVisitorTest < TestBase
7+
class PayloadVisitorTest < Test
88
def test_basics
99
# Make protos that have:
1010
# * single payload

temporalio/test/cancellation_test.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# frozen_string_literal: true
22

33
require 'temporalio/cancellation'
4-
require 'test_base'
4+
require 'test'
55

6-
class CancellationTest < TestBase
6+
class CancellationTest < Test
77
also_run_all_tests_in_fiber
88

99
def test_simple_cancellation

temporalio/test/client_schedule_test.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
require 'temporalio/client'
55
require 'temporalio/client/schedule'
66
require 'temporalio/testing'
7-
require 'test_base'
7+
require 'test'
88

9-
class ClientScheduleTest < TestBase
9+
class ClientScheduleTest < Test
1010
also_run_all_tests_in_fiber
1111

1212
def test_basics # rubocop:disable Metrics/AbcSize,Metrics/MethodLength

temporalio/test/client_test.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
require 'async'
44
require 'temporalio/client'
55
require 'temporalio/testing'
6-
require 'test_base'
6+
require 'test'
77

8-
class ClientTest < TestBase
8+
class ClientTest < Test
99
def test_version_number
1010
assert !Temporalio::VERSION.nil?
1111
end

temporalio/test/client_workflow_test.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
require 'async'
44
require 'temporalio/client'
55
require 'temporalio/testing'
6-
require 'test_base'
6+
require 'test'
77

8-
class ClientWorkflowTest < TestBase
8+
class ClientWorkflowTest < Test
99
also_run_all_tests_in_fiber
1010

1111
def test_start_simple

temporalio/test/converters/data_converter_test.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
require 'temporalio/converters/data_converter'
66
require 'temporalio/converters/payload_codec'
77
require 'temporalio/testing'
8-
require 'test_base'
8+
require 'test'
99

1010
module Converters
11-
class DataConverterTest < TestBase
11+
class DataConverterTest < Test
1212
def test_with_codec
1313
converter = Temporalio::Converters::DataConverter.new(
1414
failure_converter: Ractor.make_shareable(

0 commit comments

Comments
 (0)