Skip to content

Commit

Permalink
Add notes for releases. (#2614)
Browse files Browse the repository at this point in the history
* Add notes for releases.

* Apply suggestions from code review

Co-authored-by: dawe <dawedawe@posteo.de>

* Add section on artifacts.

* Add 5.1.3 version

Co-authored-by: dawe <dawedawe@posteo.de>
  • Loading branch information
nojaf and dawedawe authored Nov 14, 2022
1 parent eacc87a commit 2ad671f
Show file tree
Hide file tree
Showing 3 changed files with 82 additions and 2 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Changelog

## [Unreleased]
## [5.1.3] - 2022-11-14

### Fixed
* Idempotency problem with anonymous types in discriminated unions. [#2621](https://github.com/fsprojects/fantomas/issues/2621)
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/contributors/Pull request ground rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -164,4 +164,4 @@ A user should only need to deal with style changes when they have explicitly [ch
In case no major or minor branch was created yet, please reach out to the maintainers.
The maintainers will frequently rebase this branch on top of the main branch and release alpha/beta packages accordingly.

<fantomas-nav previous="./The%20Missing%20Comment.html" next="./Glossary.html"></fantomas-nav>
<fantomas-nav previous="./The%20Missing%20Comment.html" next="./Releases.html"></fantomas-nav>
80 changes: 80 additions & 0 deletions docs/docs/contributors/Releases.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
category: Contributors
categoryindex: 2
index: 12
---
# Releases

Releases in Fantomas are not automated and require some manual steps by the maintainers.

## Preparation

The [CHANGELOG.md](https://github.com/fsprojects/fantomas/blob/main/CHANGELOG.md) needs a new header with an official release tag:

```md
## [5.1.0] - 2022-11-04
```

It is custom to have the next version merged into the `main` branch and locally publish from there.

Verify that all recent PRs and closed issues are listed in the changelog. Normally, this should be ok as we require a changelog entry before we merge a PR.

## NuGet push

To publish the new versions to NuGet:

> dotnet fsi build.fsx --push
The `--push` will try and publish the `*.nupkg` files created by the build in the `bin` folder.
`Fantomas.Client` will be excluded and requires a specific pipeline to publish.

The pipeline does assume that the `NUGET_KEY` environment variable is set with a valid NuGet key.

## GitHub release

A new GitHub release entry should be created for official versions. This will notify users who have subscribed to releases.
In the past some alpha or beta releases have had a GitHub release, it depends on the occasion.

### Tag

Create a new tag based on the main branch. The assumption is that the `CHANGELOG` file contains the tag version you are about to create.

### Release title

For a revision release you can use the current date (example: `October 13th Release`), for a minor or major releas pick the month name (example: `September`).

### Description

Some parts of the description are fixed, some depend on the occasions:

```md
# Title

<!-- Optional intro paragraph -->

<!-- Copy the sections of the changelog -->

<!-- Optional special thanks -->
Special thanks to @x, @y and @z!

<!-- Link to published version on NuGet -->
[https://www.nuget.org/packages/fantomas/5.0.4](https://www.nuget.org/packages/fantomas/5.0.4)
```

The format of the title is `# version` (example: `# 5.0.5`). This differs from the notation used in the changelog file!
For minors and majors a codename (inside a `<sub>` tag) is used. All codenames so far have been song titles by the band Ghost (example `# 5.1.0 <sub>Kaisarion</sub> - 11/2022`).
With the exception of `v5, "Get Back"`.

The list of people to thank is compiled by cross referencing the changelog entries. The author of the GitHub release is omitted.
Don't be shy to include other names of people who have contributed in alternative ways when the occasion calls for it.

### Artifacts

Upload the `*.nupkg` files to the release artifacts.

## Spread the word

Share the newly created release on our Discord server in the `#announcements` channel.
Optionally share (minor or major) releases on other social media.

<fantomas-nav previous="./Pull%20request%20ground%20rules.html" next="./Glossary.html"></fantomas-nav>

0 comments on commit 2ad671f

Please sign in to comment.