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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f8a6eefa3ca28d33dce4b5ecc6202d8ac6c574caa2016a272a9cc5ae45c867d7
4
- data.tar.gz: ff8d76b23b5ef5149b5ce9b70a98de5de24bf849ce65a22399f095bb3e1eccbb
3
+ metadata.gz: 86f9861e37bb64db6d6a5a6583b2f70613389ff1f8ec69263fae3c9a8b0a0a81
4
+ data.tar.gz: 64fff622bd7931611c3bb33c7d985d282726eae238251a9de6680a7700bcbe99
5
5
  SHA512:
6
- metadata.gz: fa33a838a02f30694e0ae58c32cc74365f0e4ffa00f0f2483bf557951d5f1d30715ab4898eb2efe008b4d6cdb897c9296bc7252e68a11159984575262bebecb0
7
- data.tar.gz: ff8367175fb2fdfdab86085c1c429b4146dff6481692a50e2bcfa9cbd2ba8fdb4e5fb05bbf48ee9bad63f210eab4232092fee41421566beccfbc19da6afb464d
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('Unreleased')
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, 'releases.md')
28
+ File.join(root, "releases.md")
29
29
  end
30
30
 
31
31
  def update_document(path = self.releases_path)
32
- require 'markly'
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
+ ```
@@ -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.
@@ -5,6 +5,6 @@
5
5
 
6
6
  module Bake
7
7
  module Releases
8
- VERSION = "0.3.0"
8
+ VERSION = "0.4.1"
9
9
  end
10
10
  end
data/readme.md CHANGED
@@ -1,35 +1,19 @@
1
1
  # Bake::Releases
2
2
 
3
- A tool for managing a `releases.md` document.
3
+ Please see the [project releases](https://ioquatix.github.io/bake-releases/releases/index) for all releases.
4
4
 
5
- [![Development Status](https://github.com/ioquatix/bake-releases/workflows/Test/badge.svg)](https://github.com/ioquatix/bake-releases/actions?workflow=Test)
5
+ ### v0.4.0
6
6
 
7
- ## Usage
7
+ - Add documentation and agent context.
8
8
 
9
- ### Combining with `Bake::Gem`
9
+ ### v0.3.0
10
10
 
11
- ``` ruby
12
- # bake.rb
11
+ - Rename `changes` -\> `releases`.
13
12
 
14
- def after_gem_release_version_increment(version)
15
- context['releases:update'].call(version)
16
- end
17
- ```
13
+ ### v0.2.0
18
14
 
19
- ## Contributing
15
+ - Directly use supplied version.
20
16
 
21
- We welcome contributions to this project.
17
+ ### v0.1.0
22
18
 
23
- 1. Fork it.
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
- ## 0.1.0
3
+ ## v0.4.0
4
4
 
5
- ## v0.0.0
5
+ - Add documentation and agent context.
6
6
 
7
- - Foo
8
- - Bar
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.3.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: 2024-08-23 00:00:00.000000000 Z
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.1'
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.5.11
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