-
-
Notifications
You must be signed in to change notification settings - Fork 190
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Demo the use of CHANGELOG.md for managing library and tool versions #2095
Merged
nojaf
merged 11 commits into
fsprojects:master
from
baronfel:changelog-based-versioning
Feb 18, 2022
Merged
Changes from all commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
d87a864
swap out package references
baronfel 78fdc90
migrate from release notes to changelog file
baronfel b7ede83
set version and package release notes from the CHANGELOG files
baronfel ca56480
fix build script formatting
baronfel 9c1db35
pack at the solution level for increased speed
baronfel 1af88e8
minimize duplication for packaging in projects - centralize in Direct…
baronfel 10b3362
Remove Release Notes
baronfel ebd90fa
Add examples to CONTRIBUTING
baronfel c393e57
Add additional pointers for the changelog in CONTRIBUTING.md.
nojaf 51f2848
Update CHANGELOG.md with KeepAChangelog.
nojaf af68ef2
Add missing dates for older releases in CHANGELOG.md.
nojaf File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
<Project> | ||
<PropertyGroup> | ||
<!-- Set up version and package release note generation from this changelog. --> | ||
<ChangelogFile>$(MSBuildThisFileDirectory)CHANGELOG.md</ChangelogFile> | ||
<!-- Common packaging properties for all packages in this repo --> | ||
<Authors>Florian Verdonck, Jindřich Ivánek</Authors> | ||
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance> | ||
<GenerateDocumentationFile>true</GenerateDocumentationFile> | ||
<Description> | ||
This library aims at formatting F# source files based on a given configuration. | ||
Fantomas will ensure correct indentation and consistent spacing between elements in the source files. | ||
Some common use cases include: | ||
(1) Reformatting a code base to conform a universal page width | ||
(2) Converting legacy code from verbose syntax to light syntax | ||
(3) Formatting auto-generated F# signatures. | ||
</Description> | ||
<Copyright>Copyright © $([System.DateTime]::UtcNow.Year)</Copyright> | ||
<PackageTags>F# fsharp formatting beautifier indentation indenter</PackageTags> | ||
<EmbedUntrackedSources>true</EmbedUntrackedSources> | ||
<PublishRepositoryUrl>true</PublishRepositoryUrl> | ||
<DebugType>embedded</DebugType> | ||
<PackageIcon>fantomas_logo.png</PackageIcon> | ||
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> | ||
<PackageReadmeFile>README.md</PackageReadmeFile> | ||
</PropertyGroup> | ||
|
||
<ItemGroup Condition="'$(IsPackable)' == 'true'"> | ||
<None Include="$(MSBuildThisFileDirectory)fantomas_logo.png" Visible="false" Pack="true" PackagePath="" /> | ||
<None Include="$(MSBuildThisFileDirectory)README.md" Visible="false" Pack="true" PackagePath="" /> | ||
</ItemGroup> | ||
</Project> |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there any way to enforce this via our main build pipeline?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not easily, I suppose you could do some custom check like 'the commits in this PR must have changed CHANGELOG.md', but that's a bit finicky to get correct. I might suggest making a pull request template that reminds users/provides a checklist for them to work though (this template could point to sections of the CONTRIBUTING.md for clarification, for example).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, of course not everything needs to be in there as well.
For example, today I discovered there is an unused function in TokenParser. At some point, I'll submit a PR to remove it.
But such a thing should not really make the release notes.
Let me think about the proper guidance of this. If a bug was solved, we definitely need an entry there.
Sorry, this is taking me some time to merge this one in. I'd just want to go over this one slowly to make sure I grasp everything.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No worries at all - I want you to be completely comfortable with the process at the end of this, and the tool is very young, so I completely understand wanting to have a firm grasp on the mechanics.
If you prefer, I can remove the guidance about changelogs from the CONTRIBUTING doc, and you can keep the writing of changelogs as a release-time activity, as you do now. In that case nothing about your workflow would change at all.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, I need to give it some more thought but I like the idea that these things are captured sooner in the development cycle.
There is nothing complicated in mentioning you fixed a bug in the changelog.
I need to think about a set of practices when to add what message.
There really are upfront moments when you know it should be included in the release notes.
I welcome the idea that this becomes a joint effort.