diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1a2cba6..8d3470d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,6 +8,7 @@ on: jobs: sqlite: runs-on: ubuntu-latest + timeout-minutes: 15 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1 @@ -19,6 +20,7 @@ jobs: javascript: runs-on: ubuntu-latest + timeout-minutes: 15 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 @@ -31,6 +33,7 @@ jobs: compatibility: runs-on: ubuntu-latest + timeout-minutes: 15 strategy: fail-fast: false matrix: @@ -49,6 +52,7 @@ jobs: redis: runs-on: ubuntu-latest + timeout-minutes: 15 services: redis: image: redis:7 @@ -69,6 +73,7 @@ jobs: postgresql: runs-on: ubuntu-latest + timeout-minutes: 15 services: postgres: image: postgres:18 @@ -95,6 +100,7 @@ jobs: mysql: runs-on: ubuntu-latest + timeout-minutes: 15 # Both clients speak MySQL but report different adapter names, negotiate # different connection collations, and name the same error code # differently, so passing on one proves nothing about the other. @@ -129,6 +135,7 @@ jobs: static: runs-on: ubuntu-latest + timeout-minutes: 15 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1 @@ -148,6 +155,7 @@ jobs: - compatibility - redis runs-on: ubuntu-latest + timeout-minutes: 15 permissions: contents: write id-token: write diff --git a/test/integration/synchronous_invocation_test.rb b/test/integration/synchronous_invocation_test.rb index 875c599..1f88711 100644 --- a/test/integration/synchronous_invocation_test.rb +++ b/test/integration/synchronous_invocation_test.rb @@ -588,7 +588,10 @@ def wait(timeout:) database_adapter = SolidObjects.database_adapter database_adapter.define_singleton_method(:configured_busy_handler_timeout) { |_connection| nil } - SolidObjects::Record.connection_pool.with_connection do + SolidObjects::Record.connection_pool.with_connection do |connection| + connection.raw_connection.busy_handler_timeout = configured_sqlite_busy_handler_timeout + assert_equal 0, connection.select_value("PRAGMA busy_timeout").to_i + CounterActor.ref("unrestorable").increment assert_nothing_raised do