Open Bertk opened 1 year ago
@coderpatros Could please send your feedback for the alternative solutions.
see also keep a changelog
What about GitHub Releases?
It's a great initiative. Releases can be used to turn simple git tags (for example a tag named v1.0.0) into rich release notes by manually adding release notes or it can pull annotated git tag messages and turn them into notes.
GitHub Releases create a non-portable changelog that can only be displayed to users within the context of GitHub. It's possible to make them look very much like the Keep a Changelog format, but it tends to be a bit more involved.
The current version of GitHub releases is also arguably not very discoverable by end-users, unlike the typical uppercase files (README, CONTRIBUTING, etc.). Another minor issue is that the interface doesn't currently offer links to commit logs between each release.
This issue is stale because it has been open for 3 months with no activity.
@mtsfoni
Possible DEV environment improvements:
I can create a PR for this 2 topics but only after a hint whether this will be merged. Happy New Year :rocket:
I did see your old pull request regarding this, but I didn't get to fully review it yet. Unfortunately, a lot of stuff piled up before I became a maintainer.
I liked the approach with Versionize(?) and ConventionalCommits. If I understood it correctly, the build would decide the new version number by the ConventionalCommits and automatically writes the changes, right?
Only fixes -> patch
feat -> minor
something with exclamation mark -> major.
That could then be combinable with "Generate Changelog from GH Releases" and the problem is solved?
Did something change your opinion about Versionize?
@mtsfoni I like the the conventional changelog of Versionize but not “bumps the version in your .csproj file”. The version number handling could be done by other tools much better e.g. Nerdbank.GitVersioning. I will look into Versionize options next. I also have concerns on the pull request and commit conventions. This will not work without continuous correction of commit messages.
@mtsfoni I created PR #811 which uses Nerdbank.GitVersioning and Versionize. I cannot test release.yml but the following topics should be verified/resolved
Could you give me a quick rundown how my workflows (what I personally need to do) for 'merging PR's' / 'releasing a new Version' after I merge this PR?
The PR currently just replaces semver.txt
with version.json
and adds nbgv dotnet tool. version.json
has the metadata for Nerdbank.Gitversioning and defines the version under development . The nbgv tool can be used with option prepare-release or nbgv set-version 3.0.6
.
You have the freedom to choose which tool you want to generate CHANGELOG.md and I attached one generated with changelog-from-release -r https://github.com/CycloneDX/cyclonedx-dotnet > CHANGELOG.md
.
@mtsfoni I used action Release Drafter which generates a draft release using labeled PRs . github/release-drafter.yml
file is used for configuration of label category, template, version resolver.
https://github.com/Bertk/arcade-light/blob/main/.github/workflows/draft.yml
The release note URL for the nuget package is invalid and therefore access fails.
This URL will work but the release note information should be available CHANGELOG.md file.
https://github.com/CycloneDX/cyclonedx-dotnet/blob/master/Directory.Build.props#:~:text=%3CPackageReleaseNotes%3ESee%20%24(PackageProjectUrl)/blob/master/CHANGELOG.md%23%24(VersionSuffix.Replace(%27.%27%2C%27%27))%20for%20release%20notes.%3C/PackageReleaseNotes%3E