Skip to content

Cake 6.0.0 Release #57

@devlead

Description

@devlead

Useful information

Repository Pre-requisites

Automated Approach

  • Run the 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...

  • 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 [6.0.0 release](https://github.com/cake-build/cake/milestone/94?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • Using the Cake Social accounts let people know that the release is away to happen. Use something like the following We are starting to prepare our next release, 6.0.0 (https://github.com/cake-build/cake/milestone/94?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

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 any of the following is true:
    • You are releasing a major version of Cake (e.g.: 5.0.0, 6.0.0, 7.0.0, etc.). Addin Discoverer generates a report for each major version of Cake therefore it's important that it be updated to generate a report for this new major version you are about to release.
    • The recommended .NET frameworks that addins should target has changed. The reports generated by Addin Discoverer indicates whether a given addins targets the recommended frameworks or not. Therefore AddinDisco needs to be made aware when the recommendation changes.

When doing a release

  • Create a branch locally to match the name of the release, for example, git checkout -b release/6.0.0 develop
  • Update ReleaseNotes.md to include the next version number as a placeholder and save the file
  • Create release notes on GitHub using the ReleaseNotes task (.\build.ps1 --target=ReleaseNotes)
  • Update ReleaseNotes.md with generated content (making sure to keep the formatting the same)
  • Build everything (./build.ps1) to make sure it works.
  • Commit the changes to ReleaseNotes.md and SolutionInfo.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 main branch (git checkout main)
  • Merge release branch to the main git merge --no-ff release/6.0.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • 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 develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/6.0.0
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in .config\dotnet-tools.json to 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 6.0.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/6.0.0 (and the remote one, if pushed to GitHub git push origin --delete release/6.0.0)

After a release/hotfix

  • Make sure that everything has been pushed correctly to NuGet
  • Move to example repository
    • Bump the Cake Tool Version number in .config\dotnet-tools.json to the latest released version, i.e. the version you just released
    • Build everything (./build.ps1 or ./build.sh) to make sure it works.
    • Commit changes. Use message similar to (build) Updated Cake tool to version 6.0.0
    • Push branch
  • Move to resources repository
    • Open the dotnet-tool/.config/dotnet-tools.json file
    • 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 6.0.0
    • Push branch git push
  • Trigger new container builds on GitHub Actions.
  • Move to website repository
    • Create a branch for a new blog post git checkout -b 6.0.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.1.0" "9dcd8e7114f6761e4ee3a3a85c01497aea18652f" "../../../../cake-build/website/input/blog/" v6.0.0
    • Bump the Cake Tool Version number in .config\dotnet-tools.json to the latest released version, i.e. the version you just released
    • Commit changes to .config\dotnet-tools.json file using message similar to (build) Updated Cake tool to version 6.0.0
  • Commit blog post using a message similar to v6.0.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 6.0.0 of the Cake has just been released, https://cakebuild.net/blog/2025/11/cake-v6.0.0-released :cake: :rocket:
  • Using the Cake Social accounts promote the blog post i.e. Version 6.0.0 of the Cake has just been released, https://cakebuild.net/blog/2025/11/cake-v6.0.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
  • Go to reddit and submit link reddit.com/r/cakebuild,
  • 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 tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click on Publish Now
    • https://cakebuildnet.medium.com/xxx
  • .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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions