Start the v0.2.0 roadmap
This commit is contained in:
64
docs/roadmap/v0.2.0.md
Normal file
64
docs/roadmap/v0.2.0.md
Normal 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.
|
||||||
Reference in New Issue
Block a user