bake-releases 0.3.0 → 0.4.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
- checksums.yaml.gz.sig +0 -0
- data/bake/releases.rb +3 -3
- data/context/getting-started.md +96 -0
- data/context/index.yaml +13 -0
- data/lib/bake/releases/version.rb +1 -1
- data/readme.md +9 -25
- data/releases.md +13 -4
- data.tar.gz.sig +0 -0
- metadata +6 -9
- 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: 86f9861e37bb64db6d6a5a6583b2f70613389ff1f8ec69263fae3c9a8b0a0a81
|
4
|
+
data.tar.gz: 64fff622bd7931611c3bb33c7d985d282726eae238251a9de6680a7700bcbe99
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 971d7c8784e29fbdb192adc74071889a7d4cb093c74643684025f9a978fbc6e00e9de51bc33455615bfe032b91c60386c08668ac44af5561a40d93fa58d20ebb
|
7
|
+
data.tar.gz: 8b1b48b9cdf594b39ddf73025af791c893162413d27646268678432941cfbe5ff6db44e623e00254b414b8ca6ccb259353ca96566edfd913fad212e4b2b3beb1
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/bake/releases.rb
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
# @parameter version [String] The version number to release.
|
11
11
|
def update(version)
|
12
12
|
self.update_document do |document|
|
13
|
-
if node = document.find_header(
|
13
|
+
if node = document.find_header("Unreleased")
|
14
14
|
# Create a new text node with the version number:
|
15
15
|
child = Markly::Node.new(:text)
|
16
16
|
child.string_content = version.to_s
|
@@ -25,11 +25,11 @@ end
|
|
25
25
|
private
|
26
26
|
|
27
27
|
def releases_path(root = context.root)
|
28
|
-
File.join(root,
|
28
|
+
File.join(root, "releases.md")
|
29
29
|
end
|
30
30
|
|
31
31
|
def update_document(path = self.releases_path)
|
32
|
-
require
|
32
|
+
require "markly"
|
33
33
|
|
34
34
|
if File.exist?(path)
|
35
35
|
document = Markly.parse(File.read(path))
|
@@ -0,0 +1,96 @@
|
|
1
|
+
# Getting Started
|
2
|
+
|
3
|
+
This guide explains how to use `bake-releases` to manage release documentation for your Ruby gem.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add the gem to your project:
|
8
|
+
|
9
|
+
```bash
|
10
|
+
$ bundle add bake-releases
|
11
|
+
```
|
12
|
+
|
13
|
+
## Core Concepts
|
14
|
+
|
15
|
+
`bake-releases` manages a `releases.md` document that tracks changes to your Ruby gem over time. It integrates seamlessly with `bake-gem` to automatically update version numbers when releasing gems.
|
16
|
+
|
17
|
+
## Usage
|
18
|
+
|
19
|
+
### Initial Setup
|
20
|
+
|
21
|
+
1. Create a `releases.md` file in your project root with the following structure:
|
22
|
+
|
23
|
+
```markdown
|
24
|
+
# Releases
|
25
|
+
|
26
|
+
## Unreleased
|
27
|
+
|
28
|
+
- New feature description here.
|
29
|
+
- Changed behavior description here.
|
30
|
+
- Bug fix description here.
|
31
|
+
```
|
32
|
+
|
33
|
+
2. Add release management to your `bake.rb` file:
|
34
|
+
|
35
|
+
```ruby
|
36
|
+
# bake.rb
|
37
|
+
|
38
|
+
def after_gem_release_version_increment(version)
|
39
|
+
context['releases:update'].call(version)
|
40
|
+
end
|
41
|
+
```
|
42
|
+
|
43
|
+
### Releasing Changes
|
44
|
+
|
45
|
+
When you release your gem using `bake gem:release`, the "Unreleased" section will automatically be renamed to the version number (e.g., `## v1.2.3`).
|
46
|
+
|
47
|
+
## Best Practices for Release Notes
|
48
|
+
|
49
|
+
### Format Guidelines
|
50
|
+
|
51
|
+
- **Use `## Unreleased` section** for changes that haven't been released yet. The bake task automatically converts this to a versioned section when you release.
|
52
|
+
|
53
|
+
- **Use `## v0.0.0` format** for released versions. This format is automatically generated by the bake task.
|
54
|
+
|
55
|
+
- **Use `### Subsection`** for organizing more elaborate release notes within a version when needed (optional).
|
56
|
+
|
57
|
+
### Content Guidelines
|
58
|
+
|
59
|
+
- **Be concise but descriptive** - Users should understand the impact without reading code.
|
60
|
+
- **Focus on user impact** - Describe what changed for the user, not implementation details.
|
61
|
+
- **Focus on externally visible changes** - Only mention changes that affect users. Internal improvements like "Improving tests" or "Updating code" are uninteresting for release notes unless there is nothing else to report.
|
62
|
+
- **Use active voice** - "Added support for..." rather than "Support was added for...".
|
63
|
+
- **Link to issues/PRs when helpful** - Provides additional context for complex changes.
|
64
|
+
- **Group related changes** - Multiple small fixes can be combined into one entry.
|
65
|
+
|
66
|
+
### Example Structure
|
67
|
+
|
68
|
+
```markdown
|
69
|
+
# Releases
|
70
|
+
|
71
|
+
## Unreleased
|
72
|
+
|
73
|
+
- Support for custom release templates.
|
74
|
+
- Integration with GitHub releases API.
|
75
|
+
- Improved error messages for invalid markdown.
|
76
|
+
- Fixed issue with nested header parsing.
|
77
|
+
|
78
|
+
## v0.2.1
|
79
|
+
|
80
|
+
- Fixed compatibility with Ruby 3.2.
|
81
|
+
- Corrected timestamp formatting in release notes.
|
82
|
+
|
83
|
+
## v0.2.0
|
84
|
+
|
85
|
+
- New `releases:validate` task for checking format.
|
86
|
+
- Support for custom release note templates.
|
87
|
+
- **Breaking**: Renamed `update_releases` to `releases:update`.
|
88
|
+
- Improved performance for large release documents.
|
89
|
+
|
90
|
+
### Worker Pool Support
|
91
|
+
|
92
|
+
This version introduces optional worker pool support for handling concurrent release operations:
|
93
|
+
|
94
|
+
- Set `RELEASES_WORKER_POOL=true` to enable concurrent processing.
|
95
|
+
- Reduces blocking when processing multiple release documents.
|
96
|
+
```
|
data/context/index.yaml
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
# Automatically generated context index for Utopia::Project guides.
|
2
|
+
# Do not edit then files in this directory directly, instead edit the guides and then run `bake utopia:project:agent:context:update`.
|
3
|
+
---
|
4
|
+
description: Releases document management.
|
5
|
+
metadata:
|
6
|
+
documentation_uri: https://ioquatix.github.io/bake-releases/
|
7
|
+
funding_uri: https://github.com/sponsors/ioquatix/
|
8
|
+
source_code_uri: https://github.com/ioquatix/bake-releases.git
|
9
|
+
files:
|
10
|
+
- path: getting-started.md
|
11
|
+
title: Getting Started
|
12
|
+
description: This guide explains how to use `bake-releases` to manage release documentation
|
13
|
+
for your Ruby gem.
|
data/readme.md
CHANGED
@@ -1,35 +1,19 @@
|
|
1
1
|
# Bake::Releases
|
2
2
|
|
3
|
-
|
3
|
+
Please see the [project releases](https://ioquatix.github.io/bake-releases/releases/index) for all releases.
|
4
4
|
|
5
|
-
|
5
|
+
### v0.4.0
|
6
6
|
|
7
|
-
|
7
|
+
- Add documentation and agent context.
|
8
8
|
|
9
|
-
###
|
9
|
+
### v0.3.0
|
10
10
|
|
11
|
-
|
12
|
-
# bake.rb
|
11
|
+
- Rename `changes` -\> `releases`.
|
13
12
|
|
14
|
-
|
15
|
-
context['releases:update'].call(version)
|
16
|
-
end
|
17
|
-
```
|
13
|
+
### v0.2.0
|
18
14
|
|
19
|
-
|
15
|
+
- Directly use supplied version.
|
20
16
|
|
21
|
-
|
17
|
+
### v0.1.0
|
22
18
|
|
23
|
-
|
24
|
-
2. Create your feature branch (`git checkout -b my-new-feature`).
|
25
|
-
3. Commit your releases (`git commit -am 'Add some feature'`).
|
26
|
-
4. Push to the branch (`git push origin my-new-feature`).
|
27
|
-
5. Create new Pull Request.
|
28
|
-
|
29
|
-
### Developer Certificate of Origin
|
30
|
-
|
31
|
-
In order to protect users of this project, we require all contributors to comply with the [Developer Certificate of Origin](https://developercertificate.org/). This ensures that all contributions are properly licensed and attributed.
|
32
|
-
|
33
|
-
### Community Guidelines
|
34
|
-
|
35
|
-
This project is best served by a collaborative and respectful environment. Treat each other professionally, respect differing viewpoints, and engage constructively. Harassment, discrimination, or harmful behavior is not tolerated. Communicate clearly, listen actively, and support one another. If any issues arise, please inform the project maintainers.
|
19
|
+
- Initial implementation.
|
data/releases.md
CHANGED
@@ -1,8 +1,17 @@
|
|
1
1
|
# Releases
|
2
2
|
|
3
|
-
##
|
3
|
+
## v0.4.0
|
4
4
|
|
5
|
-
|
5
|
+
- Add documentation and agent context.
|
6
6
|
|
7
|
-
|
8
|
-
|
7
|
+
## v0.3.0
|
8
|
+
|
9
|
+
- Rename `changes` -\> `releases`.
|
10
|
+
|
11
|
+
## v0.2.0
|
12
|
+
|
13
|
+
- Directly use supplied version.
|
14
|
+
|
15
|
+
## v0.1.0
|
16
|
+
|
17
|
+
- Initial implementation.
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bake-releases
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Williams
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain:
|
11
10
|
- |
|
@@ -37,7 +36,7 @@ cert_chain:
|
|
37
36
|
Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
|
38
37
|
voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
|
39
38
|
-----END CERTIFICATE-----
|
40
|
-
date:
|
39
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
41
40
|
dependencies:
|
42
41
|
- !ruby/object:Gem::Dependency
|
43
42
|
name: bake
|
@@ -67,13 +66,13 @@ dependencies:
|
|
67
66
|
- - "~>"
|
68
67
|
- !ruby/object:Gem::Version
|
69
68
|
version: '0.8'
|
70
|
-
description:
|
71
|
-
email:
|
72
69
|
executables: []
|
73
70
|
extensions: []
|
74
71
|
extra_rdoc_files: []
|
75
72
|
files:
|
76
73
|
- bake/releases.rb
|
74
|
+
- context/getting-started.md
|
75
|
+
- context/index.yaml
|
77
76
|
- lib/bake/releases/version.rb
|
78
77
|
- license.md
|
79
78
|
- readme.md
|
@@ -85,7 +84,6 @@ metadata:
|
|
85
84
|
documentation_uri: https://ioquatix.github.io/bake-releases/
|
86
85
|
funding_uri: https://github.com/sponsors/ioquatix/
|
87
86
|
source_code_uri: https://github.com/ioquatix/bake-releases.git
|
88
|
-
post_install_message:
|
89
87
|
rdoc_options: []
|
90
88
|
require_paths:
|
91
89
|
- lib
|
@@ -93,15 +91,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
93
91
|
requirements:
|
94
92
|
- - ">="
|
95
93
|
- !ruby/object:Gem::Version
|
96
|
-
version: '3.
|
94
|
+
version: '3.2'
|
97
95
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
98
96
|
requirements:
|
99
97
|
- - ">="
|
100
98
|
- !ruby/object:Gem::Version
|
101
99
|
version: '0'
|
102
100
|
requirements: []
|
103
|
-
rubygems_version: 3.
|
104
|
-
signing_key:
|
101
|
+
rubygems_version: 3.6.9
|
105
102
|
specification_version: 4
|
106
103
|
summary: Releases document management.
|
107
104
|
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|