getstream-ruby 12.1.0 → 12.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4016be74c2a1af41d065763e2113d6afb3ffa29a6adca9a3ccbbe31a047fd230
4
- data.tar.gz: 828b85d6d6ab88ad29b9e2da008ea364ca66271d86068c0166159870c34ce349
3
+ metadata.gz: 45ee274cbcb07bba9a8ccc3d98ad109a12da3c23d4b0d5f954234c76d11e5d2a
4
+ data.tar.gz: 7bd995e1b636b4aca59d3691381e0c648f7f9c1b5bdb448eddc8eb1a2051af01
5
5
  SHA512:
6
- metadata.gz: 0a2a69ac9c317cde814b4175e34e78d9ba9fd849a2bea3766bc0c2e3e3f23d305541f7ae9fb09de53b9520de7a22814aa7d80ddcf4f9fb3ca4b0413d32693c87
7
- data.tar.gz: 39849ea8ce346216102aefe53eefc451a2ee5138b29e3a2cf1e885052bd025ba2f9db12375ae115ed1b2eecbc8ca840f3f35d5fcd62edfad89474b697f7c7ff4
6
+ metadata.gz: f73d9982d97e03ebee603df71e4734f4b90641d95570ba0341f86129236b0a34747599a7edaaa9664eba7416a5b903ba868f23f9f8dd289d484edcb97b587106
7
+ data.tar.gz: ceb9b08697c902691c696fc1fcf3c1f28a72a70110400e8c99bad3c56ab301e7b47a3420e787851476121b597078c4b3110042a8b538a8e57aaf2d2663a9adfe
data/README.md CHANGED
@@ -249,6 +249,25 @@ make test-integration # Run integration tests only
249
249
  make test-all # Run all tests (unit + integration)
250
250
  ```
251
251
 
252
+ Anything under `spec/integration/` talks to a live Stream app and needs credentials.
253
+ `make test` excludes that directory and needs none.
254
+
255
+ CI follows the same split:
256
+
257
+ | When | What runs | Gates |
258
+ | --- | --- | --- |
259
+ | Pull request | `make test`, `format-check`, `lint`, `security` | `🧪 Tests`, once it is required on `master` |
260
+ | Daily at 11:00 UTC | `spec/integration/` | no, a red run opens an issue |
261
+ | Release PR merged | nothing on the default branch, the unit lane on `N.x` | `N.x` only |
262
+
263
+ `master` has no branch protection yet. `🧪 Tests` is the single check to require there,
264
+ alongside `👮 Conventional PR title`.
265
+
266
+ A Release PR skips the unit lane and `🧪 Tests` still reports satisfied: release-please
267
+ only bumps the version and rewrites the changelog. Its runs are created held at
268
+ `action_required` until someone clicks **Approve and run**, because release-please opens
269
+ the PR with `GITHUB_TOKEN`. The skip only applies while the diff is nothing but what release-please writes, down to the version line in each version file, so a code or dependency change pushed onto a Release PR by hand runs the unit lane like any other PR.
270
+
252
271
  #### Code Quality
253
272
  ```bash
254
273
  make format # Auto-format code with RuboCop
@@ -386,20 +405,43 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/getstr
386
405
 
387
406
  ## Release Process
388
407
 
389
- Releases use two paths, both handled by `.github/workflows/release.yml`:
390
-
391
- - **Default**: automatic release when a PR is merged to `main`/`master`. The PR title drives the semver bump.
392
- - **Fallback**: manual release via the `Release` workflow's `workflow_dispatch` (admin use). Select a `version_bump` (`patch`/`minor`/`major`). `use_current_version=true` skips the bump and publishes whatever is already in `lib/getstream_ruby/version.rb`.
393
-
394
- Automatic semver bump rules:
395
-
396
- - `feat:` -> minor
397
- - `fix:` (or `bug:`) -> patch
398
- - `feat!:` or `<type>(scope)!:` (the `!` marker) -> major
399
-
400
- PRs with any other prefix do not trigger a release.
401
-
402
- The release pipeline runs lint (`make format-check && make lint && make security`), the unit suite (`make test`), and all three integration suites (chat, feed, video) on the merged commit before publishing to RubyGems. Each step is idempotent; a failed run can be re-dispatched from the Actions UI.
408
+ Releases are driven by [release-please](https://github.com/googleapis/release-please).
409
+
410
+ - Merge PRs to `master` with conventional-commit titles, using **Squash and merge**. The
411
+ title becomes the commit subject and decides the next version: `feat:` is a minor,
412
+ `fix:` and `perf:` are a patch, `feat!:` or `<type>(scope)!:` is a major. Other types
413
+ (`chore`, `ci`, `docs`, `test`, `refactor`) ship nothing.
414
+ - Squashing is a convention here, not yet enforced. The repo still has
415
+ `allow_merge_commit: true`, `allow_rebase_merge: true` and
416
+ `squash_merge_commit_title: COMMIT_OR_PR_TITLE`, and until someone with admin sets
417
+ those to `false`, `false` and `PR_TITLE` (as getstream-go has), two things silently
418
+ skip a release: a merge commit, whose subject is not conventional and whose body only
419
+ yields a plain `feat:`/`fix:` prefix, never `feat!:`; and a single-commit PR, which
420
+ squashes to that commit's subject rather than the PR title. `pr_title.yml` only checks
421
+ the PR title field, so it passes in both cases.
422
+ - release-please keeps a Release PR open with the version bump in
423
+ `lib/getstream_ruby/version.rb` and `CHANGELOG.md`. It is opened by
424
+ `github-actions[bot]`, so approve it and run its held checks like any other PR. Never
425
+ edit the version by hand.
426
+ - Merging the Release PR creates the tag and the GitHub Release on that merge commit and pushes the gem to RubyGems, with no further test run: the Release PR adds only the version bump and changelog to an already-tested `master`. A hotfix release from `N.x` runs the unit lane first, since its commits were pushed without a PR. A tag, a GitHub Release and a gem push cannot be withdrawn, a failed push can be retried.
427
+
428
+ If the release job fails after the Release PR merged, the release stays pending and every
429
+ later push to `master` logs a warning naming the commit to go back to, rather than
430
+ failing. Recovery in both that case and a failed gem push is "Re-run failed jobs" on the
431
+ run for that merge commit. Once GitHub has retired the run, dispatch `Release` from `master`
432
+ with `publish_tag` set to the tag (for example `v12.1.1`), which builds and pushes that
433
+ tag without touching release-please.
434
+
435
+ To force a specific version, type `Release-As: X.Y.Z` in the commit message box of the
436
+ squash dialog when merging a PR; the PR description is not copied there. To hotfix while
437
+ `master` carries unreleased work, branch `N.x` from the last tag, cherry-pick the fix,
438
+ and merge the Release PR that release-please opens against that branch.
439
+
440
+ `last-release-sha` in `release-please-config.json` is temporary. `v12.1.0` sits on a bump
441
+ commit the previous workflow created off-branch and never pushed, so release-please
442
+ cannot reach it by walking `master` and would otherwise treat the whole history as
443
+ unreleased. Delete the key once a release-please-created release exists on `master`; the
444
+ walk stops at that release commit before it reaches the pin.
403
445
 
404
446
  ## License
405
447
 
@@ -136,14 +136,14 @@ module GetStreamRuby
136
136
  if use_env
137
137
  env_request_timeout = ENV.fetch('STREAM_REQUEST_TIMEOUT', nil) || ENV.fetch('STREAM_TIMEOUT', nil)
138
138
  @request_timeout = (request_timeout || timeout || env_request_timeout || 30).to_i
139
- @max_conns_per_host = (max_conns_per_host || ENV.fetch('STREAM_MAX_CONNS_PER_HOST', nil) || 5).to_i
139
+ @max_conns_per_host = (max_conns_per_host || ENV.fetch('STREAM_MAX_CONNS_PER_HOST', nil) || 100).to_i
140
140
  # 25s sits under GCP SSL-proxy idle (~30s) and AWS ALB idle (60s) so
141
141
  # net_http_persistent drops the conn before the LB does (CHA-4943).
142
142
  @idle_timeout = (idle_timeout || ENV.fetch('STREAM_IDLE_TIMEOUT', nil) || 25).to_i
143
143
  @connect_timeout = (connect_timeout || ENV.fetch('STREAM_CONNECT_TIMEOUT', nil) || 10).to_i
144
144
  else
145
145
  @request_timeout = (request_timeout || timeout || 30).to_i
146
- @max_conns_per_host = (max_conns_per_host || 5).to_i
146
+ @max_conns_per_host = (max_conns_per_host || 100).to_i
147
147
  @idle_timeout = (idle_timeout || 25).to_i
148
148
  @connect_timeout = (connect_timeout || 10).to_i
149
149
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module GetStreamRuby
4
4
 
5
- VERSION = '12.1.0'
5
+ VERSION = '12.1.1'
6
6
 
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: getstream-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 12.1.0
4
+ version: 12.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - GetStream
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-09-10 00:00:00.000000000 Z
11
+ date: 2026-10-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dotenv