cake-build / cake-build/processes

Cake 4.1.0 Release

Open
#52 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
PowerShell
Stars
0
Forks
4
PR merge metrics
No merged PRs in 30d

Description

## Useful information

* [AppVeyor builds](https://ci.appveyor.com/project/cakebuild/cake)
* [GitHub Actions](https://github.com/cake-build/cake/actions)
* [Bitrise MacOS](https://app.bitrise.io/app/42eaef77e8db4a5c) / [Bitrise Debian](https://app.bitrise.io/app/ea0c6b3c61eb1e79)
* [Azure Pipelines](https://dev.azure.com/cake-build/Cake/_build)

## Repository Pre-requisites

### Automated Approach
- [x] Run the [`Prereqs.ps1`](https://github.com/cake-build/processes/blob/master/cake/Prereqs.ps1) file, using the following as an example `.\Prereqs.ps1 -GithubUsername devlead` (use your own username). This will clone a new version of all required repositories.

## Let people know that things are happening...

- [x] Please go to the General Channel in the Slack Team for Cake-Contrib and let people know that a release is away. Use a message similar to the following `@channel We will soon start preparing for the [4.1.0 release](https://github.com/cake-build/cake/milestone/90?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:`
- [x] Using the Cake Twitter account, tweet to let people know that the release is away to happen. Use something like the following `We are starting to prepare our next release, 4.1.0 (https://github.com/cake-build/cake/milestone/90?closed=1). This is your friendly reminder that if you haven't pinned to a specific version of Cake, you should do it now :-) 📌 🍰 https://cakebuild.net/docs/writing-builds/reproducible-builds/`
- [x] Retweet the above from the cake-contrib Twitter account

## GitHub Issues Pre-requisites

- [x] Make sure all issues within the milestone are tagged with either Bug, Feature, Improvement, Documentation, Breaking change, or Build
- [x] Make sure all issues associated with the milestone are closed
- [x] Make sure that all issues only have 1 label associated with them
- [x] Raise an issue in the Cake.AddinDiscoverer repo **if there are any breaking changes** so the discoverer can be modified to generate a new markdown report and also an Excel report to track which addins are compatible with this new release of Cake.

## When doing a release

- [x] Create a branch locally to match the name of the release, for example, `git checkout -b release/4.1.0 develop`
- [x] Update `ReleaseNotes.md` to include the next version number as a placeholder and save the file
- [x] Create release notes on GitHub using the `ReleaseNotes` task (`.\build.ps1 --target=ReleaseNotes`)
- [x] Update `ReleaseNotes.md` with generated content (making sure to keep the formatting the same)
- [x] Build everything (`./build.ps1`) to make sure it works.
- [x] Commit the changes to `ReleaseNotes.md` and `SolutionInfo.cs`. Use comment like `(build) Updated version and release notes`
- [x] At this point, if you want to share the work to date, and validate something, push the local release branch to GitHub
- [x] Assuming everything is ok, switch to `main` branch (`git checkout main`)
- [x] Merge release branch to the `main` `git merge --no-ff release/4.1.0`
- [x] Build everything (`./build.ps1`) to make sure it works (we can never be too sure).
- [x] Push `main` branch.
- [x] Make sure that all builds succeed before going any further.
- [x] [AppVeyor](https://ci.appveyor.com/project/cakebuild/cake)
- [x] [Bitrise Ubuntu](https://app.bitrise.io/app/ea0c6b3c61eb1e79#/builds)
- [x] [Bitrise OSX](https://app.bitrise.io/app/42eaef77e8db4a5c#/builds)
- [x] Assuming that everything went ok, go to the draft release in GitHub and click Edit
- [x] Click the Publish Release button
- [x] This will trigger another build in AppVeyor, but this time with a tag.
- [x] Switch to `develop` branch `git checkout develop`
- [x] Merge release branch into develop `git merge --no-ff release/4.1.0`
- [x] Resolve any merge conflicts
- [x] Bump the Cake Tool Version number in `.config\dotnet-tools.json` to the latest released version, i.e. the version you just released
- [x] Build everything (`./build.ps1`) to make sure it works.
- [x] Commit the changes to `.config\dotnet-tools.json`. Use commit message like `(build) Updated Cake Tool to version 4.1.0`
- [x] Push `develop` branch.
- [x] Delete the local release branch that was created `git branch -d release/4.1.0` (and the remote one, if pushed to GitHub `git push origin --delete release/4.1.0`)

## After a release/hotfix

- [x] Make sure that everything has been pushed correctly to NuGet
- `N/A` [Cake](https://www.nuget.org/packages/Cake/) (_deprecated with v2.0.0_)
- [x] [Cake.Tool](https://www.nuget.org/packages/Cake.Tool/)
- [x] [Cake.Frosting](https://www.nuget.org/packages/Cake.Frosting/)
- `N/A` [Cake.CoreCLR](https://www.nuget.org/packages/Cake.CoreCLR/) (_deprecated with v2.0.0_)
- [x] [Cake.Core](https://www.nuget.org/packages/Cake.Core/)
- [x] [Cake.Common](https://www.nuget.org/packages/Cake.Common/)
- [x] [Cake.NuGet](https://www.nuget.org/packages/Cake.NuGet/)
- [x] [Cake.Cli](https://www.nuget.org/packages/Cake.Cli/)
- [x] [Cake.DotNetTool.Module](https://www.nuget.org/packages/Cake.DotNetTool.Module/)
- [x] [Cake.Testing](https://www.nuget.org/packages/Cake.Testing/)
- [x] [Cake.Testing.Xunit](https://www.nuget.org/packages/Cake.Testing.Xunit/)
- [x] Move to [example](https://github.com/cake-build/example) repository
- [x] Bump the Cake Tool Version number in `.config\dotnet-tools.json` to the latest released version, i.e. the version you just released
- [x] Build everything (`./build.ps1` or `./build.sh`) to make sure it works.
- [x] Commit changes. Use message similar to `(build) Updated Cake tool to version 4.1.0`
- [x] Push branch
- [x] Move to [resources](https://github.com/cake-build/resources) repository
- [x] Open the `dotnet-tool/.config/dotnet-tools.json` file
- [x] Update the Cake version number to be the same as the version that you have just released
- [x] Commit changes. Use message similar to `(build) Updated Cake tool to version 4.1.0`
- [x] Push branch `git push`
- [ ] Trigger new container builds on [GitHub Actions](https://github.com/cake-build/docker/actions).
- [ ] Move to [bakery](https://github.com/cake-build/bakery) repository
- [ ] Create an issue `Update Cake to version 4.1.0`
- [ ] Create a branch for example `git checkout -b feature/gh-xxx develop`
- [ ] Update Cake.Core to 4.1.0 in src\Cake.Bakery\Cake.Bakery.csproj
- [ ] Update Cake.Core to 4.1.0 in src\Cake.Scripting\Cake.Scripting.csproj
- [ ] Update Cake.Core to 4.1.0 in src\Cake.Scripting.Tests\Cake.Scripting.Tests.csproj
- [ ] Update Cake.NuGet to 4.1.0 in src\Cake.Bakery\Cake.Bakery.csproj
- [ ] Update Cake.Common to 4.1.0 in src\Cake.Scripting\Cake.Scripting.csproj
- [ ] Update Cake.Testing to 4.1.0 in src\Cake.Scripting.Tests\Cake.Scripting.Tests.csproj
- [ ] Build everything (`./build.ps1` or `./build.sh`) to make sure it works.
- [ ] Commit changes. Use message similar to `(GH-xxx) Updated Cake tool to version 4.1.0`
- [ ] Push the branch and submit a pull request
- [ ] Have someone else verify the contents
- [x] Move to [website](https://github.com/cake-build/website) repository
- [x] Create a branch for a new blog post `git checkout -b 4.1.0-Blog-Post master`
- [x] You can get a draft blog post using the console `secrets\Processes\FetchContributors`
- dotnet restore
- `dotnet run -- "cake-build" "cake" "v4.0.0" "a19ff93e1383ef8bc2fe0a1885a3fc011c60242e" "../../../../cake-build/website/input/blog/" v4.1.0`
- [x] Bump the Cake Tool Version number in `.config\dotnet-tools.json` to the latest released version, i.e. the version you just released
- [x] Commit changes to `.config\dotnet-tools.json` file using message similar to `(build) Updated Cake tool to version 4.1.0`
- [x] Commit blog post using a message similar to `v4.1.0 Blog Post`
- [x] Push the branch and submit a pull request
- [ ] Have someone else verify the contents
- [ ] Merge the Pull Request
- [ ] Go to [develop.cakebuild.net](https://develop.cakebuild.net) once you receive the Azure notification in Slack to say that the development site is deployed. Make sure that it works as expected.
- [ ] Go to [cakebuild.net](https://cakebuild.net) once you receive the Azure notification in Slack to say that the development site is deployed. Make sure that it works as expected.
- [ ] Go to the [Cake-Contrib Slack Team](https://cake-contrib.slack.com) and in the General Room let people know that it was released. Use something like `@channel Version 4.1.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.Tool :cake: :rocket: `
- [ ] Go to reddit and submit link [reddit.com/r/cakebuild](https://www.reddit.com/r/cakebuild),
- [ ] reddit/cakebuild - https://www.reddit.com/r/cakebuild/...
- [ ] cross-post to reddit/dotnet - https://www.reddit.com/r/dotnet/...
- [ ] cross-post to reddit/csharp - https://www.reddit.com/r/csharp/...
- [ ] post to reddit/devops - https://www.reddit.com/r/devops/...
- [ ] Go to [LinkedIn](https://www.linkedin.com/company/17902391/) and create a new post
- https://www.linkedin.com/...
- [ ] Go to [Medium](https://medium.com/@cakebuildnet)
- [ ] Log into Medium as the cake-build twitter user
- [ ] Click on the Cake logo at top right of screen, then click on Stories
- [ ] Click on Import a Story
- [ ] Enter url of blog post and click Import (if this errors out, just try it again)
- [ ] Click on see your story
- [ ] Click Publish and enter the tags`DevOps` `Csharp` `Release Notes` `Dotnet` `Continuous Integration`
- [ ] Click on `Publish Now`
- https://cakebuildnet.medium.com/...
- [ ] .NET Foundation Newsletter
- [ ] Submit news to form [forms.office.com/r/8hAv7S659s](https://forms.office.com/r/8hAv7S659s)
- [ ] Submit a request for [content amplification](https://github.com/dotnet-foundation/content) by the .NET Foundation
- [ ] https://github.com/dotnet-foundation/content/issues/...
- [ ] Go to the Cake Slack Channel and share the links to Medium, LinkedIn, and Reddit so that other team members can share them
- [ ] Go and have a drink!

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.