-
-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Useful information
Repository Pre-requisites
Automated Approach
- Run the
Prereqs.ps1file, 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...
- 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 [5.1.0 release](https://github.com/cake-build/cake/milestone/93?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake: - Using the Cake Socal accounts let people know that the release is away to happen. Use something like the following
We are starting to prepare our next release, 5.1.0 (https://github.com/cake-build/cake/milestone/93?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/- Bluesky
- Retweet the above from the cake-contrib account
- Mastodon
- Retweet the above from the cake-contrib account
- Twitter
- Retweet the above from the cake-contrib account
- Bluesky
GitHub Issues Pre-requisites
- Make sure all issues within the milestone are tagged with either Bug, Feature, Improvement, Documentation, Breaking change, or Build
- Make sure all issues associated with the milestone are closed
- Make sure that all issues only have 1 label associated with them
- 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
- Create a branch locally to match the name of the release, for example,
git checkout -b release/5.1.0 develop - Update
ReleaseNotes.mdto include the next version number as a placeholder and save the file - Create release notes on GitHub using the
ReleaseNotestask (.\build.ps1 --target=ReleaseNotes) - Update
ReleaseNotes.mdwith generated content (making sure to keep the formatting the same) - Build everything (
./build.ps1) to make sure it works. - Commit the changes to
ReleaseNotes.mdandSolutionInfo.cs. Use comment like(build) Updated version and release notes - At this point, if you want to share the work to date, and validate something, push the local release branch to GitHub
- Assuming everything is ok, switch to
mainbranch (git checkout main) - Merge release branch to the
maingit merge --no-ff release/5.1.0 - Build everything (
./build.ps1) to make sure it works (we can never be too sure). - Push
mainbranch. - Make sure that all builds succeed before going any further.
- Assuming that everything went ok, go to the draft release in GitHub and click Edit
- Click the Publish Release button
- This will trigger another build in AppVeyor, but this time with a tag.
- Switch to
developbranchgit checkout develop - Merge release branch into develop
git merge --no-ff release/5.1.0 - Resolve any merge conflicts
- Bump the Cake Tool Version number in
.config\dotnet-tools.jsonto the latest released version, i.e. the version you just released - Build everything (
./build.ps1) to make sure it works. - Commit the changes to
.config\dotnet-tools.json. Use commit message like(build) Updated Cake Tool to version 5.1.0 - Push
developbranch. - Delete the local release branch that was created
git branch -d release/5.1.0(and the remote one, if pushed to GitHubgit push origin --delete release/5.1.0)
After a release/hotfix
- Make sure that everything has been pushed correctly to NuGet
N/ACake (deprecated with v2.0.0)- Cake.Tool
- Cake.Frosting
N/ACake.CoreCLR (deprecated with v2.0.0)- Cake.Core
- Cake.Common
- Cake.NuGet
- Cake.Cli
- Cake.DotNetTool.Module
- Cake.Testing
- Cake.Testing.Xunit
- Cake.Testing.Xunit.v3
- Move to example repository
- Bump the Cake Tool Version number in
.config\dotnet-tools.jsonto the latest released version, i.e. the version you just released - Build everything (
./build.ps1or./build.sh) to make sure it works. - Commit changes. Use message similar to
(build) Updated Cake tool to version 5.1.0 - Push branch
- Bump the Cake Tool Version number in
- Move to resources repository
- Open the
dotnet-tool/.config/dotnet-tools.jsonfile - Update the Cake version number to be the same as the version that you have just released
- Commit changes. Use message similar to
(build) Updated Cake tool to version 5.1.0 - Push branch
git push
- Open the
- Trigger new container builds on GitHub Actions.
- Move to bakery repository
- Create an issue
Update Cake to version 5.1.0 - Create a branch for example
git checkout -b feature/gh-xxx develop - Update Cake.Core to 5.1.0 in src\Cake.Bakery\Cake.Bakery.csproj
- Update Cake.Core to 5.1.0 in src\Cake.Scripting\Cake.Scripting.csproj
- Update Cake.Core to 5.1.0 in src\Cake.Scripting.Tests\Cake.Scripting.Tests.csproj
- Update Cake.NuGet to 5.1.0 in src\Cake.Bakery\Cake.Bakery.csproj
- Update Cake.Common to 5.1.0 in src\Cake.Scripting\Cake.Scripting.csproj
- Update Cake.Testing to 5.1.0 in src\Cake.Scripting.Tests\Cake.Scripting.Tests.csproj
- Build everything (
./build.ps1or./build.sh) to make sure it works. - Commit changes. Use message similar to
(GH-xxx) Updated Cake tool to version 5.1.0 - Push the branch and submit a pull request
- Have someone else verify the contents
- Create an issue
- Move to website repository
- Create a branch for a new blog post
git checkout -b 5.1.0-Blog-Post master - You can get a draft blog post using the console
secrets\Processes\FetchContributors- dotnet restore
dotnet run -- "cake-build" "cake" "v5.0.0" "83509d84611f03f4399c6322ce996edabd940610" "../../../../cake-build/website/input/blog/" v5.1.0
- Bump the Cake Tool Version number in
.config\dotnet-tools.jsonto the latest released version, i.e. the version you just released - Commit changes to
.config\dotnet-tools.jsonfile using message similar to(build) Updated Cake tool to version 5.1.0
- Create a branch for a new blog post
- Commit blog post using a message similar to
v5.1.0 Blog Post - Push the branch and submit a pull request
- Have someone else verify the contents
- Merge the Pull Request
- Go to cakebuild.net Make sure that it works as expected.
- Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like
@channel Version 5.1.0 of the Cake has just been released, https://cakebuild.net/blog/2025/10/cake-v5.1.0-released :cake: :rocket: - Using the Cake Social accounts promote the blog post i.e.
Version 5.1.0 of the Cake has just been released, https://cakebuild.net/blog/2025/10/cake-v5.1.0-released 🍰 🚀- Twitter
- Retweet the above from the cake-contrib account
- Bluesky
- Retweet the above from the cake-contrib account
- Mastodon
- Retweet the above from the cake-contrib account
- Twitter
- Go to reddit and submit link reddit.com/r/cakebuild,
- reddit/cakebuild - https://www.reddit.com/r/cakebuild/comments/1ny43gv/just_released_cake_v510/
- 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 and create a new post
- Go to Medium
- 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
DevOpsCsharpRelease NotesDotnetContinuous Integration - Click on
Publish Now - https://cakebuildnet.medium.com/cake-v5-1-0-released-07475b8057df
- .NET Foundation
- Submit a request for content amplification by the .NET Foundation
- 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!
Metadata
Metadata
Assignees
Labels
No labels