reissue 0.4.7 → 0.4.8

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: 497ea9bf5abf5081d1177217a0083ad682edf5d39ed7c729e8949c31e47e1d53
4
- data.tar.gz: 0c4660c3d271b95fcbc0575bf91a0826a91348d6b48ac383a5ab9058887afdf3
3
+ metadata.gz: 2f08d9caa1ad2c88dad863836f1a6bacfc6146d6d4470be14bba933ba64e3be7
4
+ data.tar.gz: d01ed1faae5c5cfc1c972dbc37b9512c33ffd7a1276058dd6dd681a0d7099483
5
5
  SHA512:
6
- metadata.gz: 8dcd012366336939860c89e503526a2d46879159ab7e10c9f571d3157142ffe613d2b641da75b67359bd8fa49af8dc2ffd171e09df32794fe230b9da24293910
7
- data.tar.gz: e90cd39f283c3bb983c24bb45f7a0c3fe2b6519d650adc411c9c0e69572eba8b59535935aabc9e225cb04f70da7401ed99dd74f151ef513b112bd1f494ea2e03
6
+ metadata.gz: 89ba27a236b9bbd3ac28c677d98f7cb8bc37d74a1e6b41e4ad7f2d4c39c3b1a905b0c5f0a9c76ba9dfc8239257c6465f40137a9f99ecaa51740e4a7ecdd52f3b
7
+ data.tar.gz: 18c127dfc3f50dce363bf1346673ea54d734cc6d8fdedd30dcb72a6e49198a4ce582e5106da33f2bfee60f4c988faff78bd036324c264db454e8d73dd633496a
data/CHANGELOG.md CHANGED
@@ -5,6 +5,8 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](http://keepachangelog.com/)
6
6
  and this project adheres to [Semantic Versioning](http://semver.org/).
7
7
 
8
+ ## [0.4.8] - 2025-12-19
9
+
8
10
  ## [0.4.7] - 2025-12-10
9
11
 
10
12
  ### Fixed
@@ -20,19 +22,3 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
20
22
  ### Changed
21
23
 
22
24
  - All critical git operations now use comprehensive error checking (d87ffd3)
23
-
24
- ## [0.4.6] - 2025-12-05
25
-
26
- ### Added
27
-
28
- - NOTIFY_APP_NAME ENV var for CI runs in 5700751d (e2c75ff)
29
- - Support for alphanumery patch version tag matching in 5c17ce36 (e2c75ff)
30
- - Info in the README about adding trailers in development of Reissue (68117e0)
31
-
32
- ### Fixed
33
-
34
- - Duplicate changelog entries with incorrect release dates. (1e03b68)
35
-
36
- ### Changed
37
-
38
- - Branch naming convention to use distinct prefixes for finalize vs reissue (d1add14)
data/README.md CHANGED
@@ -6,7 +6,7 @@ Keep your version numbers and changelogs consistent and up-to-date with minimal
6
6
 
7
7
  ## Bottom Line Up Front
8
8
 
9
- When releasing gems, you typically run `rake build:checksum` to build the gem and generate the checksum,
9
+ When releasing gems, you typically run `rake build:checksum` to build the gem and generate checksums,
10
10
  then `rake release` to push the `.gem` file to [rubygems.org](https://rubygems.org).
11
11
 
12
12
  With Reissue, the process remains the same, but you get automatic version bumping and changelog management included.
@@ -286,25 +286,36 @@ Version trailers are case-insensitive:
286
286
 
287
287
  After checking out the repo, run `bin/setup` to install dependencies. Then run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt.
288
288
 
289
- ### Using Git Trailers for Changelog Entries
289
+ ## Automated Releases with GitHub Actions
290
290
 
291
- Reissue builds its changelog from git trailers. When making commits, add trailers that adhere to the Keep a Changelog format.
291
+ ### For This Gem (Reissue)
292
292
 
293
- ```bash
294
- git commit -m "Add breaking API changes
293
+ Use the GitHub Actions workflow for streamlined releases:
295
294
 
296
- Added: New Reissue API
297
- Changed: API of Reissue switched from foo to bar
298
- Version: major"
299
- ```
295
+ 1. Go to Actions tab in GitHub
296
+ 2. Select "Release gem to RubyGems.org" workflow
297
+ 3. Click "Run workflow"
298
+ 4. The workflow will:
299
+ - Finalize the changelog with the release date
300
+ - Build and publish the gem to RubyGems.org using Trusted Publishing
301
+ - Create a PR with the next version bump
302
+ 5. Merge the version bump PR to continue development
300
303
 
301
- ## Releasing This Gem
304
+ ### For Other Gems Using Reissue
305
+
306
+ Reissue provides a shared release workflow that any gem can use. See [SHARED_WORKFLOW_README.md](.github/workflows/SHARED_WORKFLOW_README.md) for setup instructions and configuration options.
307
+
308
+ ### Manual Release
309
+
310
+ For local releases (requires RubyGems API credentials configured locally, not recommended):
302
311
 
303
312
  1. Run `rake build:checksum` to build the gem and generate checksums
304
313
  2. Run `rake release` to push to [rubygems.org](https://rubygems.org)
305
314
  3. The version will automatically bump and the changelog will be updated
306
315
  4. Push the changes to the repository
307
316
 
317
+ The GitHub Actions workflow with Trusted Publishing is the recommended approach.
318
+
308
319
  ## Contributing
309
320
 
310
321
  Bug reports and pull requests are welcome on GitHub at https://github.com/SOFware/reissue.
data/Rakefile CHANGED
@@ -19,3 +19,5 @@ Reissue::Task.create :reissue do |task|
19
19
  task.fragment = :git # Use git trailers for changelog entries
20
20
  task.push_finalize = :branch
21
21
  end
22
+
23
+ Rake.application.options.trace = true
data/lib/reissue/rake.rb CHANGED
@@ -73,8 +73,14 @@ module Reissue
73
73
  # Whether to commit the finalize change to the changelog. Default: true.
74
74
  attr_accessor :commit_finalize
75
75
 
76
- # Whether to commit the clear fragments change. Default: true.
77
- attr_accessor :commit_clear_fragments
76
+ # Whether to commit the clear fragments change.
77
+ # Returns false for :git fragments since there are no files to commit.
78
+ attr_writer :commit_clear_fragments
79
+
80
+ def commit_clear_fragments
81
+ return false if fragment == :git
82
+ @commit_clear_fragments
83
+ end
78
84
 
79
85
  # Whether to branch and push the changes. Default: :branch.
80
86
  # Requires commit_finialize to be true.
@@ -182,7 +188,7 @@ module Reissue
182
188
  run_command("git commit -m '#{bump_message}'", "Failed to commit version bump")
183
189
  tasker["#{name}:push"].invoke if push_reissue?
184
190
  else
185
- system("echo '#{bump_message}'")
191
+ puts bump_message
186
192
  end
187
193
 
188
194
  new_version
@@ -220,7 +226,7 @@ module Reissue
220
226
  run_command("git commit -m '#{finalize_message}'", "Failed to commit finalized changelog")
221
227
  tasker["#{name}:push"].invoke if push_finalize?
222
228
  else
223
- system("echo '#{finalize_message}'")
229
+ puts finalize_message
224
230
  end
225
231
  end
226
232
 
@@ -247,7 +253,7 @@ module Reissue
247
253
 
248
254
  desc "Push the current branch to the remote repository."
249
255
  task "#{name}:push" do
250
- run_command("git push origin HEAD", "Failed to push to remote repository")
256
+ run_command("git push --force-with-lease origin HEAD", "Failed to push to remote repository")
251
257
  end
252
258
 
253
259
  desc "Preview changelog entries that will be added from fragments or git trailers"
@@ -300,14 +306,15 @@ module Reissue
300
306
  desc "Clear fragments"
301
307
  task "#{name}:clear_fragments" do
302
308
  # Clear fragments after release if configured
303
- if fragment && clear_fragments
309
+ # Only run for directory-based fragments, not :git
310
+ if fragment && clear_fragments && fragment.is_a?(String)
304
311
  formatter.clear_fragments(fragment)
305
312
  clear_message = "Clear changelog fragments"
306
313
  if commit_clear_fragments
307
314
  run_command("git add #{fragment}", "Failed to stage cleared fragments")
308
315
  run_command("git commit -m '#{clear_message}'", "Failed to commit cleared fragments")
309
316
  else
310
- system("echo '#{clear_message}'")
317
+ puts clear_message
311
318
  end
312
319
  end
313
320
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Reissue
4
- VERSION = "0.4.7"
4
+ VERSION = "0.4.8"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reissue
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.7
4
+ version: 0.4.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Gay
@@ -67,7 +67,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  requirements: []
70
- rubygems_version: 3.7.2
70
+ rubygems_version: 3.6.7
71
71
  specification_version: 4
72
72
  summary: Keep your versions and changelogs up to date and prepared for release.
73
73
  test_files: []