tebako-release 0.2.0

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.
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2026 [Ribose Inc](https://www.ribose.com).
4
+ # All rights reserved.
5
+ # This file is a part of tamatebako
6
+
7
+ module TebakoRelease
8
+ VERSION = "0.2.0"
9
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2026 [Ribose Inc](https://www.ribose.com).
4
+ # All rights reserved.
5
+ # This file is a part of tamatebako
6
+
7
+ require_relative "tebako_release/version"
8
+ require_relative "tebako_release/error"
9
+ require_relative "tebako_release/adapter"
10
+ require_relative "tebako_release/config"
11
+ require_relative "tebako_release/platform"
12
+ require_relative "tebako_release/bundler"
13
+ require_relative "tebako_release/uploader"
14
+ require_relative "tebako_release/signer"
15
+
16
+ # The tebako factories' release machinery — the single owner of the
17
+ # per-leg publish uploader and the no-fold OpenPGP release signer every
18
+ # runtime factory consumes (spec 00 §10: one owner; factories declare
19
+ # identity + policy through .configure, never a copy of the machinery).
20
+ module TebakoRelease
21
+ class << self
22
+ # The consuming factory's identity + policy, declared once in its
23
+ # adapter file (scripts/release_adapter.rb by convention). Every
24
+ # cross-repo value the machinery needs flows through here — never a
25
+ # second hand-written copy of the machinery itself.
26
+ def configure(**)
27
+ @config = Config.new(**)
28
+ end
29
+
30
+ # Sign-only consumers (and the factories' own sign legs) need nothing
31
+ # but the repo name; TEBAKO_RELEASE_REPO is that minimal declaration.
32
+ def config
33
+ @config ||= Config.from_env
34
+ end
35
+
36
+ # Test seam: reset the memoized env-derived config.
37
+ def reset_config!
38
+ @config = nil
39
+ end
40
+ end
41
+ end
metadata ADDED
@@ -0,0 +1,72 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tebako-release
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Ribose Inc
8
+ bindir: exe
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: octokit
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '7.1'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '7.1'
26
+ description: 'The single owner of the tebako factories'' release machinery: the de-rendezvoused
27
+ per-leg uploader (shards + sidecars, byte-immutable keeps, convergence and rate-limit
28
+ ride-outs) and the no-fold OpenPGP release signer. Factories consume the gem; they
29
+ never carry copies of the machinery.'
30
+ email:
31
+ - open.source@ribose.com
32
+ executables:
33
+ - tebako-release
34
+ extensions: []
35
+ extra_rdoc_files: []
36
+ files:
37
+ - LICENSE.md
38
+ - README.md
39
+ - exe/tebako-release
40
+ - lib/tebako_release.rb
41
+ - lib/tebako_release/adapter.rb
42
+ - lib/tebako_release/bundler.rb
43
+ - lib/tebako_release/config.rb
44
+ - lib/tebako_release/error.rb
45
+ - lib/tebako_release/platform.rb
46
+ - lib/tebako_release/signer.rb
47
+ - lib/tebako_release/uploader.rb
48
+ - lib/tebako_release/version.rb
49
+ homepage: https://github.com/tamatebako/tebako-release-tooling
50
+ licenses:
51
+ - BSD-2-Clause
52
+ metadata:
53
+ rubygems_mfa_required: 'true'
54
+ rdoc_options: []
55
+ require_paths:
56
+ - lib
57
+ required_ruby_version: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '3.3'
62
+ required_rubygems_version: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ requirements: []
68
+ rubygems_version: 4.0.16
69
+ specification_version: 4
70
+ summary: 'Release machinery for the tebako runtime factories: per-leg publish + OpenPGP
71
+ signing'
72
+ test_files: []