Start the v0.2.0 roadmap

This commit is contained in:
2026-10-07 16:11:11 +00:00
parent 60175d6690
commit 9e480f0b4f

64
docs/roadmap/v0.2.0.md Normal file
View File

@@ -0,0 +1,64 @@
# ReleaseKit v0.2.0 roadmap
Status: Draft scope for the next release.
This roadmap catalogs improvements to ReleaseKit v0.1.0. Each item records its
rationale, target state, and scope of work. A staged implementation plan will
follow once the release scope is finalized.
The priorities in [ADR 0002](../adr/0002-routine-releases.md) guide this work:
minimize application-owned release code, duplicated mechanics, and routine
developer decisions through a standard, minimal API.
## 1. Use the application's module-selected ReleaseKit version in CI
### Rationale and current baseline
The maintained [CI template](../../examples/woodpecker/tag-delivery.yml) selects
ReleaseKit through a separate `RELEASEKIT_VERSION` value and invokes its command
with an explicit `@version`. The [adoption guidance](../consumers/delivery.md#woodpecker-tag-workflows)
instructs consumers to maintain that workflow pin.
Audita demonstrates the resulting duplication: its local release wrapper builds
ReleaseKit using the application's module dependencies, while CI independently
selects ReleaseKit v0.1.0. A dependency upgrade can leave CI using an older tool.
Maintainers must remember to coordinate both declarations.
Using the application's module-selected version for both paths gives upgrades
one dependency declaration and keeps local publication and CI delivery aligned.
### Target end state
For applications that declare ReleaseKit as a module dependency, the standard
CI integration uses the ReleaseKit version selected by the released source's
module configuration. The workflow verifies the triggering tag and commit and
checks out that source before resolving and building the release tool.
Local publication and CI delivery use the same module-based selection approach.
Updating the application's ReleaseKit dependency updates both paths. The
consumer workflow supplies the CI event, environment, and credentials; the
application profile continues to supply product and delivery settings.
Tool bootstrap and dependency preparation remain distinct from offline
validation and builds. Source publication and hosted delivery retain separate
outcomes. ReleaseKit's own source bootstrap and consumers using a separately
installed tool remain supported use cases.
### Work needed
- Revise the maintained CI template to establish the tagged checkout before
selecting and building the module's ReleaseKit command. Remove the separate
version setting from this module-based integration and keep bootstrap logic
small and reusable.
- Update adoption and upgrade guidance to explain module-based selection,
compatible Go environments, dependency preparation, and migration from the
existing workflow pin. Explain the applicable bootstrap for consumers that
use a separately installed tool.
- Adapt workflow verification to exercise tool selection from the tagged
module configuration, including a dependency-version change, while preserving
tag/commit checks and existing source-only and binary delivery behavior.
- Apply the revised integration to Audita as the first consumer migration and
confirm that its local wrapper and CI use the same module-selected tool.
Completion should leave downstream maintainers with one ReleaseKit dependency
update for this integration and a maintained template they can adopt directly.