http_connection_pool 0.1.0 → 0.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: dcde2d73c540f08460cedccdbe23d1b963a6efadb10572932b33c27ba7e2ad24
4
- data.tar.gz: 01e68de6a8cff18d5aa24479a78342016fbf11d424a21a612e28158114a7ebbc
3
+ metadata.gz: 7eda7bcf22d08a247318605caf1b01ced7de85553cbc5f8fa26bce19645281c5
4
+ data.tar.gz: 393a2e5f62a4ccb668321deb9678a58c2a34f683b93a13edd76a7378bd6eb2c7
5
5
  SHA512:
6
- metadata.gz: 56d902f8c8cec43e09a689c934f7f6c2632db1066f107abbfebc7c85fa1b114f6f83c5ec3e3c83bf15444377b68fa24c7bb8874211328237ca579d0360e7b22a
7
- data.tar.gz: 1d134c8c37cec6111439e1761dcd6e9e88efccdb138805ce37c906ba8b19492b12e41547b5f58d705724f25ca2fcb8e02ddb417f35e44f1db17d148ebae03b56
6
+ metadata.gz: a2a5d74ba19a9ccdf798bd04dd55dfcc29f0d2006f0d8b91c71eeb7ddf3e3445eef18864f83e3d88ad6fa8a6645148bd3dce3989fe5def2af9ec351ea4edd058
7
+ data.tar.gz: 9605d8e616846ebfbea278318b1be8821ca1341cc78042e044a9c7889d13f6f238ae79e295c192e3e7708a23ad746dd463cd85a5b0d95f3f41202647455a59ed
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # HttpConnectionPool
2
2
 
3
+ [![CI](https://github.com/bbarberBPL/http_connection_pool/actions/workflows/ci.yml/badge.svg)](https://github.com/bbarberBPL/http_connection_pool/actions/workflows/ci.yml)
4
+
3
5
  Thread-safe (and Fiber-scheduler-aware) persistent HTTP connection pooling for
4
6
  the [http.rb](https://github.com/httprb/http) gem.
5
7
 
@@ -477,13 +479,45 @@ bundle exec rake build:checksum # build, then write SHA-256 + SHA-512 to check
477
479
  ```
478
480
 
479
481
  `rake build:checksum` records both digests under `checksums/` in the standard
480
- `sha256sum -c` / `sha512sum -c` format, so a published artifact can be verified
481
- against this repository. The built `.gem` is never committed; only its
482
- checksums are.
482
+ `sha256sum -c` / `sha512sum -c` format. Neither the built `.gem` nor its
483
+ checksums are committed (both directories are gitignored); the release workflow
484
+ runs `build:checksum` against the exact gem it just published and attaches the
485
+ digests to the GitHub Release, so the published artifact is what gets verified.
486
+
487
+ #### Releasing
488
+
489
+ Releases are cut by bumping the version locally and pushing a matching tag; a
490
+ GitHub Actions workflow then tests and publishes to RubyGems over OIDC (no API
491
+ key is stored anywhere). The maintainer pushes the tag — the workflow runs the
492
+ `gem push`.
493
+
494
+ ```bash
495
+ bundle exec rake bump:patch # 0.1.0 -> 0.1.1; rewrites version.rb
496
+ git add lib/http_connection_pool/version.rb
497
+ git commit -m 'Release v0.1.1'
498
+ git tag v0.1.1
499
+ git push && git push --tags # the tag push triggers the release workflow
500
+ ```
483
501
 
484
- Publishing to RubyGems is a manual, maintainer-only step this project
485
- deliberately ships no automated push task. Regenerate the checksums whenever
486
- the version changes, immediately before publishing.
502
+ Use `bump:minor` or `bump:major` for those components. On the `v*.*.*` tag,
503
+ `.github/workflows/release.yml` verifies the tag matches
504
+ `HttpConnectionPool::VERSION`, re-runs the specs, publishes via
505
+ `rubygems/release-gem` (which builds and `gem push`es over OIDC), then records
506
+ SHA-256/SHA-512 digests of the published gem and creates a GitHub Release with
507
+ the gem and checksum files attached.
508
+
509
+ **One-time setup (maintainer, on rubygems.org):** register this repository as a
510
+ Trusted Publisher before the first release. On rubygems.org, add a GitHub
511
+ Actions trusted publisher for repository `bbarberBPL/http_connection_pool` and
512
+ workflow `release.yml` (for the not-yet-published gem, add it as a *pending*
513
+ trusted publisher under your profile's OIDC settings; afterwards it lives on the
514
+ gem's *Trusted Publishers* page). Until this exists, the publish step fails.
515
+
516
+ The gem sets `rubygems_mfa_required`, so all privileged interactive operations
517
+ (yank, ownership, manual pushes, API-key management) require your authenticator
518
+ app. OIDC Trusted Publishing satisfies this MFA requirement for automated
519
+ releases — the verified GitHub Actions identity is the second factor — so no
520
+ one-time-password prompt appears in CI.
487
521
 
488
522
  ## License
489
523
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module HttpConnectionPool
4
- VERSION = '0.1.0'
4
+ VERSION = '0.1.1'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: http_connection_pool
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - bbarberBPL
@@ -77,9 +77,13 @@ files:
77
77
  - lib/http_connection_pool/pool.rb
78
78
  - lib/http_connection_pool/registry.rb
79
79
  - lib/http_connection_pool/version.rb
80
+ homepage: https://rubygems.org/gems/http_connection_pool
80
81
  licenses:
81
82
  - MIT
82
- metadata: {}
83
+ metadata:
84
+ homepage_uri: https://rubygems.org/gems/http_connection_pool
85
+ source_code_uri: https://github.com/bbarberBPL/http_connection_pool
86
+ rubygems_mfa_required: 'true'
83
87
  rdoc_options: []
84
88
  require_paths:
85
89
  - lib
@@ -94,7 +98,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
94
98
  - !ruby/object:Gem::Version
95
99
  version: '0'
96
100
  requirements: []
97
- rubygems_version: 4.0.14
101
+ rubygems_version: 3.6.9
98
102
  specification_version: 4
99
103
  summary: Thread-safe persistent HTTP connection pool for the http.rb gem
100
104
  test_files: []