bake-gem 0.12.0 → 0.13.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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/bake/gem/release/version.rb +1 -1
- data/bake/gem/release.rb +2 -0
- data/bake/gem.rb +2 -0
- data/context/getting-started.md +19 -51
- data/lib/bake/gem/helper.rb +1 -0
- data/lib/bake/gem/shell.rb +1 -0
- data/lib/bake/gem/version.rb +1 -1
- data/lib/bake/gem.rb +1 -0
- data/license.md +2 -1
- data/readme.md +4 -0
- data/releases.md +4 -0
- data.tar.gz.sig +0 -0
- metadata +4 -3
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 92e701ad0396f8ba45c9392081df802445fdf23e0181518927806d7d425b9979
|
|
4
|
+
data.tar.gz: fd7c9dffebf368a8d080351163e6a9202fddc59cf4da6143d5184c1022c4e270
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 35eba973249b282bc4dafd5fcdf8ee58442a2a64bdcc8bc44a3f5c44e6c38ce014917b9300e2f94892413469ba49d3192d0e8c3667e7c652b5f289d9b5634a11
|
|
7
|
+
data.tar.gz: 69140b5f782db2d5ddbaae4789cf8357b41b07fe99302ff519f19f2982f7e9f2e2760cf75780211cf9f6783b4bbaf2055c6ea2353255d22fb88dd49be1ba3f42
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/bake/gem/release/version.rb
CHANGED
|
@@ -28,7 +28,7 @@ def increment(bump, message: "Bump version.")
|
|
|
28
28
|
gemspec = helper.gemspec
|
|
29
29
|
|
|
30
30
|
helper.update_version(bump) do |version|
|
|
31
|
-
Console.
|
|
31
|
+
Console.info(self, "Updated version:", version: version)
|
|
32
32
|
|
|
33
33
|
# Ensure that any subsequent tasks use the correct version!
|
|
34
34
|
gemspec.version = version.join
|
data/bake/gem/release.rb
CHANGED
data/bake/gem.rb
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Released under the MIT License.
|
|
4
4
|
# Copyright, 2021-2025, by Samuel Williams.
|
|
5
|
+
# Copyright, 2025, by Copilot.
|
|
5
6
|
|
|
6
7
|
# Initialize the gem context with helper for gem operations.
|
|
7
8
|
# @parameter context [Bake::Context] The bake execution context.
|
|
@@ -64,6 +65,7 @@ def release(tag: true)
|
|
|
64
65
|
end
|
|
65
66
|
|
|
66
67
|
@helper.push_release(current_branch: current_branch)
|
|
68
|
+
context["after_gem_release"]&.call(name: @helper.gemspec.name, version: version, tag: tag_name, path: path)
|
|
67
69
|
|
|
68
70
|
return {
|
|
69
71
|
name: @helper.gemspec.name,
|
data/context/getting-started.md
CHANGED
|
@@ -32,13 +32,13 @@ Before using `bake-gem`, ensure you have:
|
|
|
32
32
|
The most typical process for releasing a gem locally:
|
|
33
33
|
|
|
34
34
|
``` bash
|
|
35
|
-
$ bake gem:release:
|
|
35
|
+
$ bake gem:release:patch
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
-
This command will:
|
|
38
|
+
This single command will:
|
|
39
39
|
1. **Guard against consecutive version bumps** - Prevents accidentally bumping version twice
|
|
40
40
|
2. **Check repository cleanliness** - Ensures no uncommitted changes
|
|
41
|
-
3. **Increment the version** - Updates your version file (
|
|
41
|
+
3. **Increment the patch version** - Updates your version file (e.g., 1.0.0 → 1.0.1)
|
|
42
42
|
4. **Commit the version change** - Creates a commit with the version bump
|
|
43
43
|
5. **Build the gem in a clean worktree** - Isolates the build process
|
|
44
44
|
6. **Push to RubyGems** - Publishes your gem
|
|
@@ -46,17 +46,27 @@ This command will:
|
|
|
46
46
|
|
|
47
47
|
### Version Increment Options
|
|
48
48
|
|
|
49
|
-
Choose the appropriate version increment:
|
|
49
|
+
Choose the appropriate version increment for a complete release:
|
|
50
50
|
|
|
51
51
|
``` bash
|
|
52
52
|
# For bug fixes (1.0.0 -> 1.0.1)
|
|
53
|
-
$ bake gem:release:
|
|
53
|
+
$ bake gem:release:patch
|
|
54
54
|
|
|
55
55
|
# For new features (1.0.0 -> 1.1.0)
|
|
56
|
-
$ bake gem:release:
|
|
56
|
+
$ bake gem:release:minor
|
|
57
57
|
|
|
58
58
|
# For breaking changes (1.0.0 -> 2.0.0)
|
|
59
|
-
$ bake gem:release:
|
|
59
|
+
$ bake gem:release:major
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
For more control, you can also use the traditional two-step process:
|
|
63
|
+
|
|
64
|
+
``` bash
|
|
65
|
+
# Step 1: Bump version and commit
|
|
66
|
+
$ bake gem:release:version:patch # or minor/major
|
|
67
|
+
|
|
68
|
+
# Step 2: Build and release
|
|
69
|
+
$ bake gem:release
|
|
60
70
|
```
|
|
61
71
|
|
|
62
72
|
## Advanced Workflows
|
|
@@ -157,8 +167,8 @@ $ git status
|
|
|
157
167
|
# 2. Run tests
|
|
158
168
|
$ bundle exec rake test # or your test command
|
|
159
169
|
|
|
160
|
-
# 3. Release with patch version increment
|
|
161
|
-
$ bake gem:release:
|
|
170
|
+
# 3. Release with patch version increment (single command)
|
|
171
|
+
$ bake gem:release:patch
|
|
162
172
|
|
|
163
173
|
# Output:
|
|
164
174
|
# Updated version: v1.2.4
|
|
@@ -184,45 +194,3 @@ $ git checkout main
|
|
|
184
194
|
$ git pull
|
|
185
195
|
$ bake gem:release
|
|
186
196
|
```
|
|
187
|
-
|
|
188
|
-
## Troubleshooting
|
|
189
|
-
|
|
190
|
-
### Common Issues
|
|
191
|
-
|
|
192
|
-
**"Repository has uncommitted changes"**
|
|
193
|
-
```bash
|
|
194
|
-
$ git status # Check what's uncommitted
|
|
195
|
-
$ git add . # Stage changes
|
|
196
|
-
$ git commit -m "Prepare for release" # Or stash them
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
**"Last commit appears to be a version bump"**
|
|
200
|
-
```bash
|
|
201
|
-
# Make some changes first, or use --force if intentional
|
|
202
|
-
$ git log -1 # Check the last commit message
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
**"Multiple gemspecs found"**
|
|
206
|
-
```bash
|
|
207
|
-
# Specify which gemspec to use or remove extras
|
|
208
|
-
$ ls *.gemspec
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
**"No version file found"**
|
|
212
|
-
```bash
|
|
213
|
-
# Ensure your version file follows the expected pattern:
|
|
214
|
-
# VERSION = "1.0.0"
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
### Getting Help
|
|
218
|
-
|
|
219
|
-
List all available gem commands:
|
|
220
|
-
``` bash
|
|
221
|
-
$ bake list | grep gem
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
Get help for specific commands:
|
|
225
|
-
``` bash
|
|
226
|
-
$ bake gem:release --help
|
|
227
|
-
```
|
|
228
|
-
````
|
data/lib/bake/gem/helper.rb
CHANGED
data/lib/bake/gem/shell.rb
CHANGED
data/lib/bake/gem/version.rb
CHANGED
data/lib/bake/gem.rb
CHANGED
data/license.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# MIT License
|
|
2
2
|
|
|
3
|
-
Copyright, 2021-
|
|
3
|
+
Copyright, 2021-2025, by Samuel Williams.
|
|
4
|
+
Copyright, 2025, by Copilot.
|
|
4
5
|
|
|
5
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
7
|
of this software and associated documentation files (the "Software"), to deal
|
data/readme.md
CHANGED
|
@@ -14,6 +14,10 @@ Please see the [project documentation](https://ioquatix.github.io/bake-gem/) for
|
|
|
14
14
|
|
|
15
15
|
Please see the [project releases](https://ioquatix.github.io/bake-gem/releases/index) for all releases.
|
|
16
16
|
|
|
17
|
+
### v0.13.0
|
|
18
|
+
|
|
19
|
+
- Add `after_gem_release` hook for post-release actions.
|
|
20
|
+
|
|
17
21
|
### v0.12.0
|
|
18
22
|
|
|
19
23
|
- Add `guard_last_commit_not_version_bump` method to prevent consecutive version bumps.
|
data/releases.md
CHANGED
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bake-gem
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.13.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Samuel Williams
|
|
8
|
+
- Copilot
|
|
8
9
|
bindir: bin
|
|
9
10
|
cert_chain:
|
|
10
11
|
- |
|
|
@@ -84,14 +85,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
84
85
|
requirements:
|
|
85
86
|
- - ">="
|
|
86
87
|
- !ruby/object:Gem::Version
|
|
87
|
-
version: '3.
|
|
88
|
+
version: '3.3'
|
|
88
89
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
89
90
|
requirements:
|
|
90
91
|
- - ">="
|
|
91
92
|
- !ruby/object:Gem::Version
|
|
92
93
|
version: '0'
|
|
93
94
|
requirements: []
|
|
94
|
-
rubygems_version:
|
|
95
|
+
rubygems_version: 4.0.3
|
|
95
96
|
specification_version: 4
|
|
96
97
|
summary: Release management for Ruby gems.
|
|
97
98
|
test_files: []
|
metadata.gz.sig
CHANGED
|
Binary file
|