toys-release 0.5.0 → 0.5.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 +4 -4
- data/CHANGELOG.md +6 -0
- data/docs/guide.md +18 -0
- data/lib/toys/release/version.rb +1 -1
- data/toys/.lib/toys/release/component.rb +3 -1
- data/toys/.lib/toys/release/repository.rb +1 -0
- data/toys/retry.rb +5 -5
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a7293946a297f770d016721fc0c23d6af64847c830496dc173ac133a25a95a0e
|
|
4
|
+
data.tar.gz: f288f26ec61f1748a9ab6079fdbabe48ade23c249d824b9cc851ac86c5a6ef96
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 55cff29c6532c9c50e5676e9caed891bd1c6e6b6725254a53fbdc46af9db823104dd867da7e9893f216903d22d2c42afddb00f9a345203480c46e08de99b20af
|
|
7
|
+
data.tar.gz: a0507b33a1293001d011206b0f499784c87d43cb0d58d6bc8e401a4c94481e264c61aa97d8384a0ad29e3f6038b1de6c817967a537278458609dc56f89cc8965
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Release History
|
|
2
2
|
|
|
3
|
+
### v0.5.1 / 2026-01-27
|
|
4
|
+
|
|
5
|
+
* FIXED: Fixed additional cases of releases attempting to release components whose names are substrings of other components
|
|
6
|
+
* FIXED: Fixed several issues with the retry tool
|
|
7
|
+
* DOCS: Document the touch-component and no-touch-component tags
|
|
8
|
+
|
|
3
9
|
### v0.5.0 / 2026-01-27
|
|
4
10
|
|
|
5
11
|
* BREAKING CHANGE: Disabled GitHub check validation by default, because GitHub started adding hidden checks we can't account for
|
data/docs/guide.md
CHANGED
|
@@ -514,6 +514,24 @@ and affect the behavior of that and other commits.
|
|
|
514
514
|
can even include multiple revert-commit tags if the commit reverts more than
|
|
515
515
|
one previous commit.
|
|
516
516
|
|
|
517
|
+
* **touch-component:** This tag indicates that the commit should be treated
|
|
518
|
+
as if it touches a specified component, even if it does not actually modify
|
|
519
|
+
that component's files. For example:
|
|
520
|
+
|
|
521
|
+
```
|
|
522
|
+
fix: Fix the build
|
|
523
|
+
touch-component: my_gem
|
|
524
|
+
```
|
|
525
|
+
|
|
526
|
+
* **no-touch-component:** This tag indicates that the commit should be
|
|
527
|
+
treated as if it does *not* touch a specified component, even if it
|
|
528
|
+
modifies that component's files. For example:
|
|
529
|
+
|
|
530
|
+
```
|
|
531
|
+
fix: Fix the build
|
|
532
|
+
no-touch-component: my_gem
|
|
533
|
+
```
|
|
534
|
+
|
|
517
535
|
### Running on the command line
|
|
518
536
|
|
|
519
537
|
The implementation of Toys-Release is done via Toys (i.e. command line) tools.
|
data/lib/toys/release/version.rb
CHANGED
|
@@ -293,7 +293,9 @@ module Toys
|
|
|
293
293
|
dir = settings.directory
|
|
294
294
|
dir = "#{dir}/" unless dir.end_with?("/")
|
|
295
295
|
|
|
296
|
-
|
|
296
|
+
escaped_name = ::Regexp.escape(name)
|
|
297
|
+
return true if dir == "./" || /(^|\n)touch-component:\s+#{escaped_name}(\s|$)/i.match?(commit.message)
|
|
298
|
+
return false if /(^|\n)no-touch-component:\s+#{escaped_name}(\s|$)/i.match?(commit.message)
|
|
297
299
|
commit.modified_paths.any? do |file|
|
|
298
300
|
(file.start_with?(dir) || settings.include_globs.any? { |pattern| ::File.fnmatch?(pattern, file) }) &&
|
|
299
301
|
settings.exclude_globs.none? { |pattern| ::File.fnmatch?(pattern, file) }
|
|
@@ -680,6 +680,7 @@ module Toys
|
|
|
680
680
|
files = output.split("\n")
|
|
681
681
|
components = all_components.find_all do |component|
|
|
682
682
|
dir = component.directory
|
|
683
|
+
dir = "#{dir}/" unless dir.end_with?("/")
|
|
683
684
|
files.any? { |file| file.start_with?(dir) }
|
|
684
685
|
end
|
|
685
686
|
components.each_with_object({}) do |component, result|
|
data/toys/retry.rb
CHANGED
|
@@ -71,7 +71,9 @@ def run
|
|
|
71
71
|
verify_release_pr
|
|
72
72
|
setup_params
|
|
73
73
|
release_sha = setup_git
|
|
74
|
-
|
|
74
|
+
@repository.at_sha(release_sha) do
|
|
75
|
+
perform_pending_releases(release_sha)
|
|
76
|
+
end
|
|
75
77
|
end
|
|
76
78
|
|
|
77
79
|
def setup_objects
|
|
@@ -112,13 +114,11 @@ def setup_params
|
|
|
112
114
|
end
|
|
113
115
|
set(:dry_run, /^t/i.match?(::ENV["TOYS_RELEASE_DRY_RUN"].to_s)) if dry_run.nil?
|
|
114
116
|
::ENV["GEM_HOST_API_KEY"] = rubygems_api_key if rubygems_api_key
|
|
115
|
-
set(:release_ref, @pull_request.merge_commit_sha) unless release_ref
|
|
116
117
|
end
|
|
117
118
|
|
|
118
119
|
def setup_git
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
@repository.current_sha
|
|
120
|
+
@repository.git_prepare_branch(git_remote, branch: @pull_request.base_ref)
|
|
121
|
+
@repository.current_sha(release_ref || @pull_request.merge_commit_sha)
|
|
122
122
|
end
|
|
123
123
|
|
|
124
124
|
def create_performer(release_sha)
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: toys-release
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.5.
|
|
4
|
+
version: 0.5.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Daniel Azuma
|
|
@@ -82,10 +82,10 @@ homepage: https://github.com/dazuma/toys
|
|
|
82
82
|
licenses:
|
|
83
83
|
- MIT
|
|
84
84
|
metadata:
|
|
85
|
-
changelog_uri: https://dazuma.github.io/toys/gems/toys-release/v0.5.
|
|
85
|
+
changelog_uri: https://dazuma.github.io/toys/gems/toys-release/v0.5.1/file.CHANGELOG.html
|
|
86
86
|
source_code_uri: https://github.com/dazuma/toys/tree/main/toys-release
|
|
87
87
|
bug_tracker_uri: https://github.com/dazuma/toys/issues
|
|
88
|
-
documentation_uri: https://dazuma.github.io/toys/gems/toys-release/v0.5.
|
|
88
|
+
documentation_uri: https://dazuma.github.io/toys/gems/toys-release/v0.5.1
|
|
89
89
|
rdoc_options: []
|
|
90
90
|
require_paths:
|
|
91
91
|
- lib
|