ipfs / ipfs/boxo

Source GitHub Release description from CHANGELOG.md

Open
#268 3 comments 0 reactions 1 assignee Assigned to @galargh View on GitHub
dif/medium P3
Dominant language
Go
Stars
316
Forks
163
Avg merge
4d 12h
Merged PRs (30d)
8

Description

Currently we use [Unified CI](https://github.com/protocol/.github) for tagging releases based on `version.json`, but we'd like to minimize the effort for cutting releases so that we can cut them more frequently.

So I propose we instead cut releases using https://github.com/pl-strflt/changelog-driven-release. Basically the workflow would look like:

- Accumulate changes in the [Unreleased] section of the CHANGELOG
- These should be added as commits are added, and the CHANGELOG update should happen as part of the PR for a feature
- CI enforcement of this is tracked here: https://github.com/ipfs/boxo/issues/267
- When ready to release, change `[Unreleased]` to `[vX.Y.Z] YYYY-mm-dd`, which is then detected by CI as a release and results in a new tag and a GitHub release with the changelog contents in the release notes.

Other requirements:

* We currently run Kubo tests for each release, until enough are moved into Boxo, so we need to run releases on a `release-vX.Y.Z` branch and merge into `release` which should trigger the release. This way we don't have to "freeze" `main` while we do a release. Once the release is complete, merge `release` into `main` (which should NOT trigger a release). This is different than most folks, who just merge to `main` which triggers a release based on the tip of `main`...we do NOT want this behavior.
* We love all the checks that Unified CI does for releases and would like to keep them (release checker workflow, which runs gorelease et al to verify the release version, call out breaking changes, etc.)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.