Skip to content

ci: skip the GCP load balancer test on Release PRs too - #90

Merged
mogita merged 1 commit into
masterfrom
fix/cha-5511-skip-ruby-gcp-lb
Sep 17, 2026
Merged

mogita merged 1 commit into
masterfrom
fix/cha-5511-skip-ruby-gcp-lb

Conversation

@mogita

@mogita mogita commented Sep 17, 2026

Copy link
Copy Markdown
Collaborator

Ticket

CHA-5511

Problem

#89 made four of this repo's five test jobs skip on a release-please Release PR. integration-gcp-lb was left out on the grounds that it is a keep-alive probe rather than a gate, so skipping it would cost an exercise of the load balancer path.

That reasoning was wrong. spec/integration/gcp_lb_keepalive_spec.rb is an ordinary regression test for CHA-4943:

# CHA-4943: GCP SSL-proxy LBs close idle TLS around ~30s. The SDK pool must
# drop connections before that, otherwise the next request raises
# GetStreamRuby::TransportError (SSL_read: unexpected eof while reading).

it 'reuses the pooled client after 35s idle without TLS EOF' do
  ids, = create_test_users(1)
  sleep ENV.fetch('STREAM_GCP_LB_IDLE_SLEEP', '35').to_i
  expect { create_test_users(1) }.not_to raise_error

"Keep-alive" is HTTP connection reuse, not warming anything. It tests the SDK's connection-pool idle timeout, 35 of its 71 seconds are a hardcoded sleep, and a Release PR changes no SDK code.

Solution

Give it the same guard the other four jobs carry, and drop the comment that explained the exception.

Result

All five test jobs now behave identically on a Release PR. The wall time drops from 71s to 58s, which is this repo's CodeQL floor and cannot go lower.

How to verify

  1. This PR is not a Release PR, so GCP load balancer keep-alive should run as usual.
  2. On the next Release PR, all five test jobs should report Skipped.

This job was left out of the skip on the grounds that it is a keep-alive
probe rather than a gate. It is not. spec/integration/gcp_lb_keepalive_spec.rb
is an ordinary regression test for CHA-4943: the SDK's connection pool must
drop a pooled connection before the GCP SSL proxy closes it at ~30s idle, or
the next request raises TransportError. "Keep-alive" there is HTTP connection
reuse, not warming anything, and 35 of its 71 seconds are a hardcoded sleep.

A Release PR changes no SDK code, so it has nothing to regress. All five test
jobs now behave the same, and a Release PR waits on CodeQL alone: 58s rather
than 71s.
@mogita
mogita merged commit bb3d8c6 into master Sep 17, 2026
9 checks passed
@mogita
mogita deleted the fix/cha-5511-skip-ruby-gcp-lb branch September 17, 2026 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant