Git Product home page Git Product logo

processes's Introduction

processes

Steps that are taken by Cake Team during deployment of various components

processes's People

Contributors

augustoproiete avatar devlead avatar gep13 avatar nils-a avatar pascalberger avatar patriksvensson avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

processes's Issues

Cake 0.27.2 Release

Useful information

Repository Pre-requisites

  • Run the Prereqs.ps1 file, using the following as an example .\Prereqs.ps1 -GithubUsername gep13 (use your own username). This will clone a new version of all required repositories.

Let people know that things are happening...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.27.1 release](https://github.com/cake-build/cake/milestone/50) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.27.1 release](https://github.com/cake-build/cake/milestone/50) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 0.27.1 release (https://github.com/cake-build/cake/milestone/50) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 0.27.1 (https://github.com/cake-build/cake/milestone/50). 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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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

When doing a hotfix

  • Create branch locally to match the name of the hotfix, for example git checkout -b hotfix/0.27.1 main
  • If there is an open Pull Request, which is targetting the wrong base branch, do the following (where 2133 is the number of PR on GitHub)
    • git fetch origin pull/2133/head:pr2133
    • git checkout pr2133
    • git rebase --onto hotfix/0.27.1 develop
    • git checkout hotfix/0.27.1
    • git merge --no-ff pr2133
  • Update releasenotes.md to include next version number as a placeholder and save the file
  • Create release notes on GitHub using the ReleaseNotes task (.\build.ps1 -Target ReleaseNotes or ./build.sh --target releasenotes
  • Update releasenotes.md with generated content (making sure to keep the formatting the same)
  • Build everything (./build.ps1 or ./build.sh) 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 hotfix branch to GitHub
  • Assuming everything is ok, switch to main branch (git checkout main)
  • Merge hotfix branch into main git merge --no-ff hotfix/0.6.4
  • Build everything (./build.ps1 or ./build.sh) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor and Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task. Hash is 16fb3186c43c26fcee6608df32e786f27f3601ee69e1e20ddeb9b581f015864a
  • Switch to develop branch git checkout develop
  • Merge hotfix branch into develop git merge --no-ff hotfix/0.6.4
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.ps1 and build.sh to the latest released version, i.e. the version you just released
  • Commit the changes to build.ps1 and build.sh. Use commit message like (build) Updated Cake tool to version 0.13.0
  • Build everything (./build.ps1 or ./build.sh) to make sure it works.
  • Push develop branch.
  • Delete the local hotfix branch that was created git branch -d hotfix/0.6.4 (and the remote one, if pushed to GitHub git push origin --delete hotfix/0.6.4)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-0.7.0
  • Open the Formula/cake.rb
  • Update the url (line 4) to be the new download location
  • Update the sha256 (line 5) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 0.12.0 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 0.13.0
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 0.13.0
  • Push branch git push
  • Switch to the master branch git checkout master
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 0.7.0-Blog-Post develop
  • Create Blog Post i.e. .\input\blog\2017-03-07-cake-v0.18.0-released.md
  • You can get contibutors using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.17.0" "v0.18.0" "authors.text"
  • Bump the Cake Tool Version number in tools\package.config to the latest released version, i.e. the version you just released
  • Commit changes to tools\package.config file using message similar to (build) Updated Cake tool to version 0.14.0
  • Commit blog post using message similar to v0.14.0 Blog Post
  • Push branch and submit pull request
  • Make sure that the AppVeyor build succeeds successfully
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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.
  • Switch to develop branch git checkout develop
  • Update local develop branch git fetch then git rebase origin/develop
  • Delete local branch that was created git branch -d 0.7.0-Blog-Post
  • Switch to master branch git checkout master
  • Merge develop to master git merge --no-ff develop NOTE: This will also update the documentation for the various Addins/Tools on the site, so if any new aliases have been added, these will be included in the build.
  • Push master branch git push
  • Go to 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 Gitter Room and let people know that it was released. Use something like @/all Version 0.27.1 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 0.27.1 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the On .Net Link submission form and add link to the post
  • Go to reddit and submit link reddit.com/r/dotnet,
  • Go to LinkedIn and create a new post
    • Click on Manage Page
    • Add link and then click Post
  • Go to Medium and import the story.
    • 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
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
  • 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!

Cake 0.32.0 Release

Useful information

Repository Pre-requisites

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • Run the Prereqs.ps1 file, using the following as an example .\Prereqs.ps1 -GithubUsername gep13 (use your own username). This will clone a new version of all required repositories.

Let people know that things are happening...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.32.0 release](https://github.com/cake-build/cake/milestone/56?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.32.0 release](https://github.com/cake-build/cake/milestone/56?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 0.32.0 release ( https://github.com/cake-build/cake/milestone/56?closed=1 ) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 0.32.0 (https://github.com/cake-build/cake/milestone/56?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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/0.32.0 develop
  • Update releasenotes.md to include 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/0.32.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task 2cc8ead783887dfc116624f3e5b36d2eb1a31c9328afa644235b69df80f8670a
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/0.32.0
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.config 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 build.ps1 and build.sh NOTE: There will be other changes to the *.json files as well, commit everything. Use commit message like (build) Updated Cake tool to version 0.32.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/0.32.0 (and the remote one, if pushed to GitHub git push origin --delete release/0.32.0)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-0.32.0
  • Open the Formula/cake.rb
  • Update the url (line 4) to be the new download location
  • Update the sha256 (line 5) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 0.32.0 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 0.32.0
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 0.32.0
  • Push branch git push
  • Switch to the master branch git checkout master
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Trigger new container builds on Azure Pipelines.
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 0.32.0-Blog-Post develop
  • Create Blog Post i.e. .\input\blog\2019-01-03-cake-v0.32.0-released.md
  • You can get contibutors using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.31.0" "ee6d9104db0382021a937d7fdeb5ea53b9095587" "../../../../cake-build/website/input/blog/" "v0.32.0"
  • Bump the Cake Tool Version number in tools\package.config to the latest released version, i.e. the version you just released
  • Commit changes to tools\package.config file using message similar to (build) Updated Cake tool to version 0.32.0
  • Commit blog post using message similar to v0.32.0 Blog Post
  • Push branch and submit pull request
  • Make sure that the AppVeyor build succeeds successfully
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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.
  • Switch to develop branch git checkout develop
  • Update local develop branch git fetch then git rebase origin/develop
  • Delete local branch that was created git branch -d 0.32.0-Blog-Post
  • Switch to master branch git checkout master
  • Merge develop to master git merge --no-ff develop NOTE: This will also update the documentation for the various Addins/Tools on the site, so if any new aliases have been added, these will be included in the build.
  • Push master branch git push
  • Go to 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 Gitter Room and let people know that it was released. Use something like @/all Version 0.32.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 0.32.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the On .Net Link submission form and add link to the post
  • Go to reddit and submit link reddit.com/r/dotnet,
  • Go to LinkedIn and create a new post
    • Click on Manage Page
    • Add link and then click Post
  • Go to Medium and import the story.
    • 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
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
  • 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!

Cake 0.38.1 Release

Useful information

Repository Pre-requisites

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • Run the Prereqs.ps1 file, using the following as an example .\Prereqs.ps1 -GithubUsername gep13 (use your own username). This will clone a new version of all required repositories.

Let people know that things are happening...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.35.0 release](https://github.com/cake-build/cake/milestone/60?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.35.0 release](https://github.com/cake-build/cake/milestone/60?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 0.35.0 release ( https://github.com/cake-build/cake/milestone/60?closed=1 ) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 0.35.0 (https://github.com/cake-build/cake/milestone/60?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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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 there are any breaking changes so the discoverer can be modified to generate a new markdown report and also Excel report to track which addins are compatible with this new release of Cake.

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/0.35.0 develop
  • Update releasenotes.md to include 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/0.35.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task ENTERARCHIVEHASH
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/0.35.0
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.config 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 build.ps1 and build.sh NOTE: There will be other changes to the *.json files as well, commit everything. Use commit message like (build) Updated Cake tool to version 0.35.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/0.35.0 (and the remote one, if pushed to GitHub git push origin --delete release/0.35.0)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-0.35.0
  • Open the Formula/cake.rb
  • Update the url (line 4) to be the new download location
  • Update the sha256 (line 5) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 0.35.0 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 0.35.0
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 0.35.0
  • Push branch git push
  • Checkout master git checkout master
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Trigger new container builds on Azure Pipelines.
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 0.35.0-Blog-Post master
  • You can get draft blog post using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.34.1" "d4a0b3a07caa6a3873cb0da58766ffdb7ce22e11" "\cake0.35.0\repositories\devlead\website\input\blog" "v0.35.0"
  • Bump the Cake Tool Version number in build.config to the latest released version, i.e. the version you just released
  • Commit changes to build.config file using message similar to (build) Updated Cake tool to version 0.35.0
  • Commit blog post using message similar to v0.35.0 Blog Post
  • Push branch and submit pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 Gitter Room and let people know that it was released. Use something like @/all Version 0.35.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 0.35.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the On .Net Link submission form and add link to the post
  • Go to reddit and submit link reddit.com/r/dotnet,
    • [ENTER URL HERE]
  • Go to LinkedIn and create a new post
    • Start a post
    • [ENTER URL HERE]
  • 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 Store
    • Enter url of blog post and click Import (if this errors out, just try it again)
    • ~~ Import failed this time so used medium Create post API to create draft with canonicalUrl ~~
    • Click on see your story
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
    • [ENTER URL HERE]
  • .NET Foundation Newsletter
  • 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!

Rotate codecov keys for cake-contrib

Background

Due to a security breach at codecov we're rotating the codecov keys.

image

Related: https://cake-build.slack.com/archives/C03B4CZ12/p1618492212087100 and https://cake-build.slack.com/archives/C03B4CZ10/p1618539830046400

cake-build

cake-build org has not granted access to codecov, so there's nothing to do for cake-build.

cake-contrib

Announcement in https://cake-contrib.slack.com/archives/C4PTD6RJ8/p1618565736012800

  • Cake.7zip
  • Cake.AliaSql
  • cake.asciidoctorj
  • Cake.Board
  • Cake.Bower
  • Cake.Chocolatey.Module
  • Cake.CodeAnalysisReporting
  • Cake.Codecov
  • CakeContrib.Guidelines
  • Cake.Coveralls
  • Cake.DocFx
  • Cake.DotNetTool.Module
  • Cake.DotNetVersionDetector
  • Cake.Email
  • Cake.Email.Common
  • Cake.Ember
  • Cake.EntityFramework
  • Cake.Fastlane
  • Cake.Figlet
  • Cake.FileHelpers
  • Cake.Ftp
  • Cake.Gem
  • Cake.Gradle
  • Cake.Graph
  • Cake.Grunt
  • Cake.Gulp
  • Cake.Hg
  • Cake.HgVersion
  • Cake.HockeyApp
  • Cake.Homebrew
  • Cake.Http
  • Cake.Incubator
  • Cake.Issues
  • Cake.Issues.DocFx
  • Cake.Issues.EsLint
  • Cake.Issues.InspectCode
  • Cake.Issues.Markdownlint
  • Cake.Issues.MsBuild
  • Cake.Issues.PullRequests
  • Cake.Issues.PullRequests.AppVeyor
  • Cake.Issues.PullRequests.AzureDevOps
  • Cake.Issues.PullRequests.GitHubActions
  • Cake.Issues.Reporting
  • Cake.Issues.Reporting.Generic
  • Cake.Issues.Reporting.Sarif
  • Cake.Issues.Sarif
  • Cake.Issues.Terraform
  • Cake.Json
  • Cake.Karma
  • Cake.Markdown-Pdf
  • Cake.MobileCenter
  • Cake.MsDeploy
  • Cake.Netlify
  • Cake.Npm
  • Cake.Npm.Module
  • Cake.Paket
  • Cake.Plist
  • Cake.Prca
  • Cake.Prca.Issues.DocFx
  • Cake.Prca.Issues.EsLint
  • Cake.Prca.Issues.InspectCode
  • Cake.Prca.Issues.Markdownlint
  • Cake.Prca.Issues.MsBuild
  • Cake.Prca.PullRequests.Tfs
  • Cake.ProtobufTools
  • Cake.Recipe.Tests
  • Cake.ReSharperReports
  • Cake.SemVer
  • Cake.SendGrid
  • Cake.SqlPackage
  • Cake.Squirrel
  • Cake.SSRS
  • Cake.StrongNameSigner
  • Cake.Svn
  • Cake.T4
  • Cake.Terraform
  • Cake.Tfx
  • Cake.Transifex
  • Cake.Twitter
  • Cake.Unity
  • Cake.UrlLoadDirective.Module
  • Cake.VsCode
  • Cake.VsMetrics
  • Cake.Warp
  • Cake.Webpack
  • Cake.WindowsAppStore
  • Cake.Xamarin
  • Cake.Yaml
  • Cake.Yeoman

Cake 1.0.0-rc0002 Release

As this is a pre-release to Cake 1.0.0 might not complete all steps.

Useful information

Repository Pre-requisites

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • Run the Prereqs.ps1 file, using the following as an example .\Prereqs.ps1 -GithubUsername gep13 (use your own username). This will clone a new version of all required repositories.

Let people know that things are happening...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [1.0.0-rc0002 release](https://github.com/cake-build/cake/milestone/74?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [1.0.0-rc0002 release](https://github.com/cake-build/cake/milestone/74?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 1.0.0-rc0002 release ( https://github.com/cake-build/cake/milestone/74?closed=1 ) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 1.0.0-rc0002 (https://github.com/cake-build/cake/milestone/74?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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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 there are any breaking changes so the discoverer can be modified to generate a new markdown report and also Excel report to track which addins are compatible with this new release of Cake.

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/1.0.0-rc0002 release/1.0.0
  • Update releasenotes.md to include 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/1.0.0-rc0002
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task ENTERARCHIVEHASH
  • Switch to release/1.0.0 branch git checkout release/1.0.0
  • Merge release branch into release/1.0.0 git merge --no-ff release/1.0.0-rc0002
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.config to the latest released version, i.e. the version you just released
  • Build everything (./build.ps1) to make sure it works.
  • Commit the changes tobuild.config. Use commit message like (build) Updated Cake tool to version 1.0.0-rc0002
  • Push release/1.0.0 branch.
  • Delete the local release branch that was created git branch -d release/1.0.0-rc0002 (and the remote one, if pushed to GitHub git push origin --delete release/1.0.0-rc0002)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-1.0.0-rc0002
  • Open the Formula/cake.rb
  • Update the url (line 7) to be the new download location
  • Update the sha256 (line 8) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 1.0.0-rc0002 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 1.0.0-rc0002
  • Push branch
  • Move to resources repository
  • Switch to the release/1.0.0 branch git checkout release/1.0.0
  • Open the packages.config 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 1.0.0-rc0002
  • Push branch git push
  • Checkout master git checkout master
  • Merge changes from release/1.0.0 branch git merge --no-ff release/1.0.0
  • Push branch git push
  • Trigger new container builds on Azure Pipelines.
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 1.0.0-rc0002-Blog-Post master
  • You can get draft blog post using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v1.0.0-rc0001" "61083a9138d23ddbbd7089aefe7689922ffe8368" "website\input\blog" "v1.0.0"
  • Bump the Cake Tool Version number in build.config to the latest released version, i.e. the version you just released
  • Commit changes to build.config file using message similar to (build) Updated Cake tool to version 1.0.0-rc0002
  • Commit blog post using message similar to v1.0.0-rc0002 Blog Post
  • Push branch and submit pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to develop.cakebuild.net once you receive the Azure notification in Slack to say that the release/1.0.0ment site is deployed. Make sure that it works as expected.
  • Go to cakebuild.net once you receive the Azure notification in Slack to say that the release/1.0.0ment site is deployed. Make sure that it works as expected.
  • Go to the Cake-Contrib Gitter Room and let people know that it was released. Use something like @/all Version 1.0.0-rc0002 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 1.0.0-rc0002 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the On .Net Link submission form and add link to the post
  • Go to reddit and submit link reddit.com/r/dotnet,
  • 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)
    • Import failed this time so used medium Create post API to create draft with canonicalUrl
    • Click on see your story
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
    • https://cakebuildnet.medium.com/cake-v1-0-0-rc0002-released-853ba23195a1
  • .NET Foundation Newsletter
  • 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!

Cake 0.38.3 & 0.38.4 Release

Useful information

Repository Pre-requisites

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • 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...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.38.3 release](https://github.com/cake-build/cake/milestone/68?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.38.3 release](https://github.com/cake-build/cake/milestone/68?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 0.38.3 release ( https://github.com/cake-build/cake/milestone/68?closed=1 ) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 0.38.3 (https://github.com/cake-build/cake/milestone/68?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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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 there are any breaking changes so the discoverer can be modified to generate a new markdown report and also Excel report to track which addins are compatible with this new release of Cake.

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/0.38.3 develop
  • Update releasenotes.md to include 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/0.38.3
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task 983d73d69f0801dfb6678e3c12acc0cbdbf09c1420520b7778c382aa28b8b9b8
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/0.38.3
  • Resolve any merge conflicts

SORRY ๐Ÿฅณ

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • 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...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.38.4 release](https://github.com/cake-build/cake/milestone/69?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.38.4 release](https://github.com/cake-build/cake/milestone/69?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 0.38.4 release ( https://github.com/cake-build/cake/milestone/69?closed=1 ) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 0.38.4 (https://github.com/cake-build/cake/milestone/69?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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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 there are any breaking changes so the discoverer can be modified to generate a new markdown report and also Excel report to track which addins are compatible with this new release of Cake.

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/0.38.4 hotfix/0.38.3
  • Update releasenotes.md to include 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/0.38.4
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task 95629cf444d6c07ad79b60a390fa9c2ef22bd8fef113cb82018de245ce09b659
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/0.38.4
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.config 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 build.ps1 and build.sh NOTE: There will be other changes to the *.json files as well, commit everything. Use commit message like (build) Updated Cake tool to version 0.38.4
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/0.38.4 (and the remote one, if pushed to GitHub git push origin --delete release/0.38.4)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-0.38.4
  • Open the Formula/cake.rb
  • Update the url (line 4) to be the new download location
  • Update the sha256 (line 5) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 0.38.4 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 0.38.4
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 0.38.4
  • Push branch git push
  • Checkout master git checkout master
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Trigger new container builds on Azure Pipelines.
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 0.38.3-Blog-Post master
  • You can get draft blog post using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.38.2" "9fb2f407b3a6a05fa66eeb3a154169ff775108a3" "\cake0.38.3\repositories\devlead\website\input\blog" "v0.38.3"
  • Bump the Cake Tool Version number in build.config to the latest released version, i.e. the version you just released
  • Commit changes to build.config file using message similar to (build) Updated Cake tool to version 0.38.4
  • Commit blog post using message similar to v0.38.3 Blog Post
  • Push branch and submit pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 Gitter Room and let people know that it was released. Use something like @/all Version 0.38.4 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 0.38.4 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to reddit and submit link reddit.com/r/dotnet,
  • 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 Store
    • Enter url of blog post and click Import (if this errors out, just try it again)
    • ~~ Import failed this time so used medium Create post API to create draft with canonicalUrl ~~
    • Click on see your story
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
    • https://medium.com/@cakebuildnet/cake-v0-38-3-and-v0-38-4-released-709c5fef4c00
  • .NET Foundation Newsletter
  • 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!

Cake 1.0.0-rc0003 Release

As this is a pre-release to Cake 1.0.0 might not complete all steps.

Useful information

Repository Pre-requisites

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
  • N/A 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 Excel report to track which addins are compatible with this new release of Cake.

Let people know that things are happening...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [1.0.0-rc0003 release](https://github.com/cake-build/cake/milestone/75?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [1.0.0-rc0003 release](https://github.com/cake-build/cake/milestone/75?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 1.0.0-rc0003 release ( https://github.com/cake-build/cake/milestone/75?closed=1 ) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 1.0.0-rc0003 (https://github.com/cake-build/cake/milestone/75?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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter account

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • Run the Prereqs.ps1 file, using the following as an example .\Prereqs.ps1 -GithubUsername gep13 (use your own username). This will clone a new version of all required repositories.

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/1.0.0-rc0003 release/1.0.0
  • Update releasenotes.md to include 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/1.0.0-rc0003
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • N/A From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task ENTERARCHIVEHASH
  • Switch to release/1.0.0 branch git checkout release/1.0.0
  • Merge release branch into release/1.0.0 git merge --no-ff release/1.0.0-rc0003
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.config to the latest released version, i.e. the version you just released
  • Build everything (./build.ps1) to make sure it works.
  • Commit the changes tobuild.config. Use commit message like (build) Updated Cake tool to version 1.0.0-rc0003
  • Push release/1.0.0 branch.
  • Delete the local release branch that was created git branch -d release/1.0.0-rc0003 (and the remote one, if pushed to GitHub git push origin --delete release/1.0.0-rc0003)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • N/A Move to homebrew repository
  • N/A Create a new branch for current release git checkout -b cake-1.0.0-rc0003
  • N/A Open the Formula/cake.rb
  • N/A Update the url (line 7) to be the new download location
  • N/A Update the sha256 (line 8) to be the value that was generated earlier by the Publish-HomeBrew task
  • N/A Commit the changes to cake.rb NOTE: Commit message should use the following format cake 1.0.0-rc0003 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • N/A Push the new branch to your fork
  • N/A Open a PR against the master branch of Homebrew/homebrew-core
  • N/A Move to example repository
  • N/A Open the tools/packages.config file
  • N/A Update the Cake version number to be the same as the version that you have just released
  • N/A Build everything (./build.ps1 or ./build.sh) to make sure it works.
  • N/A Commit changes. Use message similar to (build) Updated Cake tool to version 1.0.0-rc0003
  • N/A Push branch
  • N/A Move to resources repository
  • N/A Switch to the release/1.0.0 branch git checkout release/1.0.0
  • N/A Open the packages.config file
  • N/A Update the Cake version number to be the same as the version that you have just released
  • N/A Commit changes. Use message similar to (build) Updated Cake tool to version 1.0.0-rc0003
  • N/A Push branch git push
  • N/A Checkout master git checkout master
  • N/A Merge changes from release/1.0.0 branch git merge --no-ff release/1.0.0
  • N/A Push branch git push
  • N/A Trigger new container builds on Azure Pipelines.
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 1.0.0-rc0003-Blog-Post master
  • You can get draft blog post using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v1.0.0-rc0001" "61083a9138d23ddbbd7089aefe7689922ffe8368" "website\input\blog" "v1.0.0"
  • Bump the Cake Tool Version number in build.config to the latest released version, i.e. the version you just released
  • Commit changes to build.config file using message similar to (build) Updated Cake tool to version 1.0.0-rc0003
  • Commit blog post using message similar to v1.0.0-rc0003 Blog Post
  • Push branch and submit pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to develop.cakebuild.net once you receive the Azure notification in Slack to say that the release/1.0.0ment site is deployed. Make sure that it works as expected.
  • Go to cakebuild.net once you receive the Azure notification in Slack to say that the release/1.0.0ment site is deployed. Make sure that it works as expected.
  • Go to the Cake-Contrib Gitter Room and let people know that it was released. Use something like @/all Version 1.0.0-rc0003 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 1.0.0-rc0003 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the On .Net Link submission form and add link to the post
  • Go to reddit and submit link reddit.com/r/dotnet,
  • Go to LinkedIn and create a new post
  • Go to Medium (Blocked, needs 2FA)
    • 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)
    • N/A Import failed this time so used medium Create post API to create draft with canonicalUrl
    • Click on see your story
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
    • https://cakebuildnet.medium.com/cake-1-0-release-candidate-3-3dd6d8787776
  • .NET Foundation Newsletter
  • 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! ๐Ÿบ ๐Ÿป ๐Ÿท ๐Ÿน ๐Ÿธ

Cake 0.37.0 release

Useful information

Repository Pre-requisites

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • 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...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.37.0 release](https://github.com/cake-build/cake/milestone/63?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.37.0 release](https://github.com/cake-build/cake/milestone/63?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 0.37.0 release ( https://github.com/cake-build/cake/milestone/63?closed=1 ) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 0.37.0 (https://github.com/cake-build/cake/milestone/63?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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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 there are any breaking changes so the discoverer can be modified to generate a new markdown report and also Excel report to track which addins are compatible with this new release of Cake.

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/0.37.0 develop
  • Update releasenotes.md to include 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/0.37.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task bcde9e209f17bd76c0ccc52d0e888f537777b5cd8148b3bb9a0d3b55c7b5a7af
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/0.37.0
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.config 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 build.ps1 and build.sh NOTE: There will be other changes to the *.json files as well, commit everything. Use commit message like (build) Updated Cake tool to version 0.37.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/0.37.0 (and the remote one, if pushed to GitHub git push origin --delete release/0.37.0)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-0.37.0
  • Open the Formula/cake.rb
  • Update the url (line 4) to be the new download location
  • Update the sha256 (line 5) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 0.37.0 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 0.37.0
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 0.37.0
  • Push branch git push
  • Checkout master git checkout master
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Trigger new container builds on Azure Pipelines.
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 0.37.0-Blog-Post master
  • You can get draft blog post using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.36.0" "f3b5f6d338bdba4c509e5bef05b6b45966225f42" "\cake0.37.0\repositories\devlead\website\input\blog" "v0.37.0"
  • Bump the Cake Tool Version number in tools\package.config to the latest released version, i.e. the version you just released
  • Commit changes to tools\package.config file using message similar to (build) Updated Cake tool to version 0.37.0
  • Commit blog post using message similar to v0.37.0 Blog Post
  • Push branch and submit pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 Gitter Room and let people know that it was released. Use something like @/all Version 0.37.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 0.37.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to reddit and submit link reddit.com/r/dotnet,
  • 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 Store
    • Enter url of blog post and click Import (if this errors out, just try it again)
    • Import failed this time so used medium Create post API to create draft with canonicalUrl
    • Click on see your story
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
    • https://medium.com/@cakebuildnet/cake-v0-37-0-released-e47c6b669e27
  • .NET Foundation Newsletter
  • 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!

Cake 1.0.0-rc0001 Pre-Release

As this is a pre-release to Cake 1.0.0 might not complete all steps.

Useful information

Repository Pre-requisites

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • Run the Prereqs.ps1 file, using the following as an example .\Prereqs.ps1 -GithubUsername gep13 (use your own username). This will clone a new version of all required repositories.

Let people know that things are happening...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [1.0.0-rc0001 release](https://github.com/cake-build/cake/milestone/72?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [1.0.0-rc0001 release](https://github.com/cake-build/cake/milestone/72?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 1.0.0-rc0001 release ( https://github.com/cake-build/cake/milestone/72?closed=1 ) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 1.0.0-rc0001 (https://github.com/cake-build/cake/milestone/72?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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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 there are any breaking changes so the discoverer can be modified to generate a new markdown report and also Excel report to track which addins are compatible with this new release of Cake.

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/1.0.0 develop
  • Update releasenotes.md to include 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/1.0.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task ENTERARCHIVEHASH
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/1.0.0
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.config to the latest released version, i.e. the version you just released
  • Build everything (./build.ps1) to make sure it works.
  • Commit the changes tobuild.config. Use commit message like (build) Updated Cake tool to version 1.0.0-rc0001
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/1.0.0 (and the remote one, if pushed to GitHub git push origin --delete release/1.0.0)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-1.0.0-rc0001
  • Open the Formula/cake.rb
  • Update the url (line 7) to be the new download location
  • Update the sha256 (line 8) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 1.0.0-rc0001 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 1.0.0-rc0001
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 1.0.0-rc0001
  • Push branch git push
  • Checkout master git checkout master
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Trigger new container builds on Azure Pipelines.
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 1.0.0-rc0001-Blog-Post master
  • You can get draft blog post using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.34.1" "d4a0b3a07caa6a3873cb0da58766ffdb7ce22e11" "\cake1.0.0-rc0001\repositories\devlead\website\input\blog" "v1.0.0-rc0001"
  • Bump the Cake Tool Version number in build.config to the latest released version, i.e. the version you just released
  • Commit changes to build.config file using message similar to (build) Updated Cake tool to version 1.0.0-rc0001
  • Commit blog post using message similar to v1.0.0-rc0001 Blog Post
  • Push branch and submit pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 Gitter Room and let people know that it was released. Use something like @/all Version 1.0.0-rc0001 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 1.0.0-rc0001 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the On .Net Link submission form and add link to the post
  • Go to reddit and submit link reddit.com/r/dotnet,
  • 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)
    • ~~ Import failed this time so used medium Create post API to create draft with canonicalUrl ~~
    • Click on see your story
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
    • https://cakebuildnet.medium.com/cake-v1-0-0-rc1-released-2ea4d1f18e1a
  • .NET Foundation Newsletter
  • 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!

Cake 0.35.0 release

Useful information

Repository Pre-requisites

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • Run the Prereqs.ps1 file, using the following as an example .\Prereqs.ps1 -GithubUsername gep13 (use your own username). This will clone a new version of all required repositories.

Let people know that things are happening...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.35.0 release](https://github.com/cake-build/cake/milestone/60?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.35.0 release](https://github.com/cake-build/cake/milestone/60?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 0.35.0 release ( https://github.com/cake-build/cake/milestone/60?closed=1 ) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 0.35.0 (https://github.com/cake-build/cake/milestone/60?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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/0.35.0 develop
  • Update releasenotes.md to include 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/0.35.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task 32ab434ecea37e49385d3c932d12f660f20e30bca2cba293f215eb68f634e214
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/0.35.0
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.config 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 build.ps1 and build.sh NOTE: There will be other changes to the *.json files as well, commit everything. Use commit message like (build) Updated Cake tool to version 0.35.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/0.35.0 (and the remote one, if pushed to GitHub git push origin --delete release/0.35.0)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-0.35.0
  • Open the Formula/cake.rb
  • Update the url (line 4) to be the new download location
  • Update the sha256 (line 5) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 0.35.0 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 0.35.0
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 0.35.0
  • Push branch git push
  • Checkout master git checkout master
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Trigger new container builds on Azure Pipelines.
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 0.35.0-Blog-Post master
  • You can get draft blog post using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.34.1" "d4a0b3a07caa6a3873cb0da58766ffdb7ce22e11" "\cake0.35.0\repositories\devlead\website\input\blog" "v0.35.0"
  • Bump the Cake Tool Version number in tools\package.config to the latest released version, i.e. the version you just released
  • Commit changes to tools\package.config file using message similar to (build) Updated Cake tool to version 0.35.0
  • Commit blog post using message similar to v0.35.0 Blog Post
  • Push branch and submit pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 Gitter Room and let people know that it was released. Use something like @/all Version 0.35.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 0.35.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the On .Net Link submission form and add link to the post
    • Believe this is retired?
  • Go to reddit and submit link reddit.com/r/dotnet,
  • 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 Store
    • Enter url of blog post and click Import (if this errors out, just try it again)
    • Import failed this time so used medium Create post API to create draft with canonicalUrl
    • Click on see your story
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
    • https://medium.com/@cakebuildnet/cake-v0-35-0-released-33799cc65e3b
  • .NET Foundation Newsletter
  • 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!

Cake 0.34.0 Release

Useful information

Repository Pre-requisites

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • Run the Prereqs.ps1 file, using the following as an example .\Prereqs.ps1 -GithubUsername gep13 (use your own username). This will clone a new version of all required repositories.

Let people know that things are happening...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.34.0 release](https://github.com/cake-build/cake/milestone/59?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.34.0 release](https://github.com/cake-build/cake/milestone/59?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 0.34.0 release ( https://github.com/cake-build/cake/milestone/59?closed=1 ) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 0.34.0 (https://github.com/cake-build/cake/milestone/59?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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/0.34.0 develop
  • Update releasenotes.md to include 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/0.34.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task effc6e0bef0f5b6453017060c9a7882389dc1c369bc615d6d1370729b05ea304
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/0.34.0
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.config 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 build.ps1 and build.sh NOTE: There will be other changes to the *.json files as well, commit everything. Use commit message like (build) Updated Cake tool to version 0.34.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/0.34.0 (and the remote one, if pushed to GitHub git push origin --delete release/0.34.0)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-0.34.0
  • Open the Formula/cake.rb
  • Update the url (line 4) to be the new download location
  • Update the sha256 (line 5) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 0.34.0 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 0.34.0
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 0.34.0
  • Push branch git push
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Trigger new container builds on Azure Pipelines.
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 0.34.0-Blog-Post master
  • Create Blog Post i.e. .\input\blog\2019-01-03-cake-v0.34.0-released.md
  • You can get contibutors using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.33.0" "ec5c3dc4f7eaa3dbd539316326ffea2b7380a997" "../../../../cake-build/website/input/blog/" "v0.34.0"
  • Bump the Cake Tool Version number in tools\package.config to the latest released version, i.e. the version you just released
  • Commit changes to tools\package.config file using message similar to (build) Updated Cake tool to version 0.34.0
  • Commit blog post using message similar to v0.34.0 Blog Post
  • Push branch and submit pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 Gitter Room and let people know that it was released. Use something like @/all Version 0.34.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 0.34.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the On .Net Link submission form and add link to the post
  • Go to reddit and submit link reddit.com/r/dotnet,
  • 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 Store
    • Enter url of blog post and click Import (if this errors out, just try it again)
    • Import failed this time so used medium Create post API to create draft with canonicalUrl
    • Click on see your story
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
    • https://medium.com/@cakebuildnet/cake-v0-34-0-released-e99342d07e00
  • .NET Foundation Newsletter
  • 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!

Cake 0.34.1 release

Useful information

Repository Pre-requisites

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • Run the Prereqs.ps1 file, using the following as an example .\Prereqs.ps1 -GithubUsername gep13 (use your own username). This will clone a new version of all required repositories.

Let people know that things are happening...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.34.1 release](https://github.com/cake-build/cake/milestone/61?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.34.1 release](https://github.com/cake-build/cake/milestone/61?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 0.34.1 release ( https://github.com/cake-build/cake/milestone/61?closed=1 ) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 0.34.1 (https://github.com/cake-build/cake/milestone/61?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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/0.34.1 develop
  • Update releasenotes.md to include 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/0.34.1
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task ENTERARCHIVEHASH
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/0.34.1
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.config 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 build.ps1 and build.sh NOTE: There will be other changes to the *.json files as well, commit everything. Use commit message like (build) Updated Cake tool to version 0.34.1
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/0.34.1 (and the remote one, if pushed to GitHub git push origin --delete release/0.34.1)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-0.34.1
  • Open the Formula/cake.rb
  • Update the url (line 4) to be the new download location
  • Update the sha256 (line 5) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 0.34.1 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 0.34.1
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 0.34.1
  • Push branch git push
  • Checkout master git checkout master
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Trigger new container builds on Azure Pipelines.
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 0.34.1-Blog-Post master
  • Create Blog Post i.e. .\input\blog\2019-01-03-cake-v0.34.1-released.md
  • You can get contibutors using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.34.0" "cd4010407e7c63d76d0774737de09a8a58c0e0f1" "../../../../cake-build/website/input/blog/" "v0.34.1"
  • Bump the Cake Tool Version number in tools\package.config to the latest released version, i.e. the version you just released
  • Commit changes to tools\package.config file using message similar to (build) Updated Cake tool to version 0.34.1
  • Commit blog post using message similar to v0.34.1 Blog Post
  • Push branch and submit pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 Gitter Room and let people know that it was released. Use something like @/all Version 0.34.1 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 0.34.1 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the On .Net Link submission form and add link to the post
  • Go to reddit and submit link reddit.com/r/dotnet,
  • 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 Store
    • Enter url of blog post and click Import (if this errors out, just try it again)
    • Import failed this time so used medium Create post API to create draft with canonicalUrl
    • Click on see your story
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
    • https://medium.com/@cakebuildnet/cake-v0-34-1-released-515f2cb0e2e6
  • .NET Foundation Newsletter
  • 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!

Cake 0.38.0 Release

Useful information

Repository Pre-requisites

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • Run the Prereqs.ps1 file, using the following as an example .\Prereqs.ps1 -GithubUsername gep13 (use your own username). This will clone a new version of all required repositories.

Let people know that things are happening...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.35.0 release](https://github.com/cake-build/cake/milestone/60?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.35.0 release](https://github.com/cake-build/cake/milestone/60?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 0.35.0 release ( https://github.com/cake-build/cake/milestone/60?closed=1 ) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 0.35.0 (https://github.com/cake-build/cake/milestone/60?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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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 there are any breaking changes so the discoverer can be modified to generate a new markdown report and also Excel report to track which addins are compatible with this new release of Cake.

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/0.35.0 develop
  • Update releasenotes.md to include 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/0.35.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task ENTERARCHIVEHASH
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/0.35.0
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.config 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 build.ps1 and build.sh NOTE: There will be other changes to the *.json files as well, commit everything. Use commit message like (build) Updated Cake tool to version 0.35.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/0.35.0 (and the remote one, if pushed to GitHub git push origin --delete release/0.35.0)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-0.35.0
  • Open the Formula/cake.rb
  • Update the url (line 4) to be the new download location
  • Update the sha256 (line 5) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 0.35.0 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 0.35.0
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 0.35.0
  • Push branch git push
  • Checkout master git checkout master
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Trigger new container builds on Azure Pipelines.
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 0.35.0-Blog-Post master
  • You can get draft blog post using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.34.1" "d4a0b3a07caa6a3873cb0da58766ffdb7ce22e11" "\cake0.35.0\repositories\devlead\website\input\blog" "v0.35.0"
  • Bump the Cake Tool Version number in tools\package.config to the latest released version, i.e. the version you just released
  • Commit changes to tools\package.config file using message similar to (build) Updated Cake tool to version 0.35.0
  • Commit blog post using message similar to v0.35.0 Blog Post
  • Push branch and submit pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 Gitter Room and let people know that it was released. Use something like @/all Version 0.35.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 0.35.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the On .Net Link submission form and add link to the post
  • Go to reddit and submit link reddit.com/r/dotnet,
    • [ENTER URL HERE]
  • Go to LinkedIn and create a new post
    • Start a post
    • [ENTER URL HERE]
  • 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 Store
    • Enter url of blog post and click Import (if this errors out, just try it again)
    • ~~ Import failed this time so used medium Create post API to create draft with canonicalUrl ~~
    • Click on see your story
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
    • [ENTER URL HERE]
  • .NET Foundation Newsletter
  • 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!

Cake 0.30.0 Release

Useful information

Repository Pre-requisites

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • Run the Prereqs.ps1 file, using the following as an example .\Prereqs.ps1 -GithubUsername gep13 (use your own username). This will clone a new version of all required repositories.

Let people know that things are happening...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.30.0 release](https://github.com/cake-build/cake/milestone/53?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.30.0 release](https://github.com/cake-build/cake/milestone/53?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 0.30.0 release ( https://github.com/cake-build/cake/milestone/53?closed=1 ) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 0.30.0 (https://github.com/cake-build/cake/milestone/53?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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/0.30.0 develop
  • Update releasenotes.md to include 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/0.30.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task c5baf6c8c9c17a16b092192756b1283b537d805c360807be25908a91159c7e66
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/0.30.0
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.ps1 and build.sh 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 build.ps1 and build.sh NOTE: There will be other changes to the *.json files as well, commit everything. Use commit message like (build) Updated Cake tool to version 0.30.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/0.30.0 (and the remote one, if pushed to GitHub git push origin --delete release/0.30.0)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-0.30.0
  • Open the Formula/cake.rb
  • Update the url (line 4) to be the new download location
  • Update the sha256 (line 5) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 0.30.0 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 0.30.0
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 0.30.0
  • Push branch git push
  • Switch to the master branch git checkout master
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 0.30.0-Blog-Post develop
  • Create Blog Post i.e. .\input\blog\2018-07-06-cake-v0.30.0-released.md
  • You can get contibutors using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.30.0" "v0.30.0" "authors.text"
  • Bump the Cake Tool Version number in tools\package.config to the latest released version, i.e. the version you just released
  • Commit changes to tools\package.config file using message similar to (build) Updated Cake tool to version 0.30.0
  • Commit blog post using message similar to v0.30.0 Blog Post
  • Push branch and submit pull request
  • Make sure that the AppVeyor build succeeds successfully
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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.
  • Switch to develop branch git checkout develop
  • Update local develop branch git fetch then git rebase origin/develop
  • Delete local branch that was created git branch -d 0.30.0-Blog-Post
  • Switch to master branch git checkout master
  • Merge develop to master git merge --no-ff develop NOTE: This will also update the documentation for the various Addins/Tools on the site, so if any new aliases have been added, these will be included in the build.
  • Push master branch git push
  • Go to 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 Gitter Room and let people know that it was released. Use something like @/all Version 0.30.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 0.30.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the On .Net Link submission form and add link to the post
  • Go to reddit and submit link reddit.com/r/dotnet,
  • Go to LinkedIn and create a new post
    • Click on Manage Page
    • Add link and then click Post
  • Go to Medium and import the story.
    • 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
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
  • 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!

Cake 1.2.0 Release

Useful information

Repository Pre-requisites

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • 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...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [1.2.0 release](https://github.com/cake-build/cake/milestone/79?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [1.2.0 release](https://github.com/cake-build/cake/milestone/79?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 1.2.0 release ( https://github.com/cake-build/cake/milestone/79?closed=1 ) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 1.2.0 (https://github.com/cake-build/cake/milestone/79?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/
  • Retweet the above from the cake-contrib twitter 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 there are any breaking changes so the discoverer can be modified to generate a new markdown report and also Excel report to track which addins are compatible with this new release of Cake.

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/1.2.0 develop
  • Update releasenotes.md to include 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.
  • - [x] 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/1.2.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task b54e2c67d8de0c88994576ff937471f1f330340915d07f9b189332c37a6e0b27
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/1.2.0
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.config to the latest released version, i.e. the version you just released
  • Build everything (./build.ps1) to make sure it works.
  • Commit the changes tobuild.config. Use commit message like (build) Updated Cake tool to version 1.2.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/1.2.0 (and the remote one, if pushed to GitHub git push origin --delete release/1.2.0)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-1.2.0
  • Open the Formula/cake.rb
  • Update the url (line 7) to be the new download location
  • Update the sha256 (line 8) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 1.2.0 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 1.2.0
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 1.2.0
  • Push branch git push
  • Checkout master git checkout master
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Trigger new container builds on Azure Pipelines.
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 1.2.0-Blog-Post master
  • You can get draft blog post using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run -- "cake-build" "cake" "v1.1.0" "e36b6dfe4875ab1ba901957377d09ec996dcf38e" "../../website/input/blog/" v1.2.0
  • Bump the Cake Tool Version number in build.config to the latest released version, i.e. the version you just released
  • Commit changes to build.config file using message similar to (build) Updated Cake tool to version 1.2.0
  • Commit blog post using message similar to v1.2.0 Blog Post
  • Push branch and submit pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 Gitter Room and let people know that it was released. Use something like @/all Version 1.2.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 1.2.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • 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)
    • ~~ Import failed this time so used medium Create post API to create draft with canonicalUrl ~~
    • Click on see your story
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
    • https://cakebuildnet.medium.com/cake-v1-2-0-released-e8848535246e
  • .NET Foundation Newsletter
  • 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!

Cake 0.38.2 Release

Useful information

Repository Pre-requisites

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • Run the Prereqs.ps1 file, using the following as an example .\Prereqs.ps1 -GithubUsername gep13 (use your own username). This will clone a new version of all required repositories.

Let people know that things are happening...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.35.0 release](https://github.com/cake-build/cake/milestone/60?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.35.0 release](https://github.com/cake-build/cake/milestone/60?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 0.35.0 release ( https://github.com/cake-build/cake/milestone/60?closed=1 ) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 0.35.0 (https://github.com/cake-build/cake/milestone/60?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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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 there are any breaking changes so the discoverer can be modified to generate a new markdown report and also Excel report to track which addins are compatible with this new release of Cake.

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/0.35.0 develop
  • Update releasenotes.md to include 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/0.35.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task ENTERARCHIVEHASH
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/0.35.0
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.config 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 build.ps1 and build.sh NOTE: There will be other changes to the *.json files as well, commit everything. Use commit message like (build) Updated Cake tool to version 0.35.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/0.35.0 (and the remote one, if pushed to GitHub git push origin --delete release/0.35.0)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-0.35.0
  • Open the Formula/cake.rb
  • Update the url (line 4) to be the new download location
  • Update the sha256 (line 5) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 0.35.0 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 0.35.0
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 0.35.0
  • Push branch git push
  • Checkout master git checkout master
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Trigger new container builds on Azure Pipelines.
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 0.35.0-Blog-Post master
  • You can get draft blog post using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.34.1" "d4a0b3a07caa6a3873cb0da58766ffdb7ce22e11" "\cake0.35.0\repositories\devlead\website\input\blog" "v0.35.0"
  • Bump the Cake Tool Version number in build.config to the latest released version, i.e. the version you just released
  • Commit changes to build.config file using message similar to (build) Updated Cake tool to version 0.35.0
  • Commit blog post using message similar to v0.35.0 Blog Post
  • Push branch and submit pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 Gitter Room and let people know that it was released. Use something like @/all Version 0.35.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 0.35.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the On .Net Link submission form and add link to the post
  • Go to reddit and submit link reddit.com/r/dotnet,
  • 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 Store
    • Enter url of blog post and click Import (if this errors out, just try it again)
    • ~~ Import failed this time so used medium Create post API to create draft with canonicalUrl ~~
    • Click on see your story
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
    • https://medium.com/@cakebuildnet/cake-v0-38-2-released-4a93e473af72
  • .NET Foundation Newsletter
  • 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!

Cake v0.27.1 Release

This is a Hotfix Release

Useful information

Repository Pre-requisites

Manual Approach

  • Add the CAKE_GITHUB_USERNAME and CAKE_GITHUB_PASSWORD environment variables into your system. These should be of a user who has access to the Cake GitHub Repository.
  • Make sure develop branch of cake-build/cake is up to date git fetch then git rebase origin/develop.
  • Make sure main branch of cake-build/cake is up to date git fetch then git rebase origin/main.
  • Make sure develop branch of cake-build/website is up to date git fetch then git rebase origin/develop.
  • Make sure master branch of cake-build/website is up to date git fetch then git rebase origin/master.
  • Make sure master branch of cake-build/example is up to date git fetch then git rebase origin/master.
  • Make sure develop branch of cake-build/resources is up to date git fetch then git rebase origin/develop.
  • Make sure master branch of cake-build/resources is up to date git fetch then git rebase origin/master.
  • Make sure that all issues associated with pull requests getting released in this milestone are associated with the milestone, or that the pull request is associated with the milestone, if no issue was created.
  • Make sure you have a fork of Homebrew/homebrew-core
  • Make sure upstream points at Homebrew/homebrew-core
  • Make sure master branch of Homebrew/homebrew-core is up to date; git fetch then git rebase upstream/master.

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • Run the Prereqs.ps1 file, using the following as an example .\Prereqs.ps1 -GithubUsername gep13 (use your own username). This will clone a new version of all required repositories.

Let people know that things are happening...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.27.1 release](https://github.com/cake-build/cake/milestone/50) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.27.1 release](https://github.com/cake-build/cake/milestone/50) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 0.27.1 release (https://github.com/cake-build/cake/milestone/50) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 0.27.1 (https://github.com/cake-build/cake/milestone/50). 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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/0.7.0 develop
  • Update releasenotes.md to include 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/0.7.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/0.7.0
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.ps1 and build.sh 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 build.ps1 and build.sh NOTE: There will be other changes to the *.json files as well, commit everything. Use commit message like (build) Updated Cake tool to version 0.13.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/0.7.0 (and the remote one, if pushed to GitHub git push origin --delete release/0.7.0)

When doing a hotfix

  • Create branch locally to match the name of the hotfix, for example git checkout -b hotfix/0.27.1 main
  • If there is an open Pull Request, which is targetting the wrong base branch, do the following (where 2133 is the number of PR on GitHub)
    • git fetch origin pull/2133/head:pr2133
    • git checkout pr2133
    • git rebase --onto hotfix/0.27.1 develop
    • git checkout hotfix/0.27.1
    • git merge --no-ff pr2133
  • Update releasenotes.md to include next version number as a placeholder and save the file
  • Create release notes on GitHub using the ReleaseNotes task (.\build.ps1 -Target ReleaseNotes or ./build.sh --target releasenotes
  • Update releasenotes.md with generated content (making sure to keep the formatting the same)
  • Build everything (./build.ps1 or ./build.sh) 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 hotfix branch to GitHub
  • Assuming everything is ok, switch to main branch (git checkout main)
  • Merge hotfix branch into main git merge --no-ff hotfix/0.6.4
  • Build everything (./build.ps1 or ./build.sh) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor and Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task
  • Switch to develop branch git checkout develop
  • Merge hotfix branch into develop git merge --no-ff hotfix/0.6.4
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.ps1 and build.sh to the latest released version, i.e. the version you just released
  • Commit the changes to build.ps1 and build.sh. Use commit message like (build) Updated Cake tool to version 0.13.0
  • Build everything (./build.ps1 or ./build.sh) to make sure it works.
  • Push develop branch.
  • Delete the local hotfix branch that was created git branch -d hotfix/0.6.4 (and the remote one, if pushed to GitHub git push origin --delete hotfix/0.6.4)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-0.7.0
  • Open the Formula/cake.rb
  • Update the url (line 4) to be the new download location
  • Update the sha256 (line 5) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 0.12.0 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 0.13.0
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 0.13.0
  • Push branch git push
  • Switch to the master branch git checkout master
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 0.7.0-Blog-Post develop
  • Create Blog Post i.e. .\input\blog\2017-03-07-cake-v0.18.0-released.md
  • You can get contibutors using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.17.0" "v0.18.0" "authors.text"
  • Bump the Cake Tool Version number in tools\package.config to the latest released version, i.e. the version you just released
  • Commit changes to tools\package.config file using message similar to (build) Updated Cake tool to version 0.14.0
  • Commit blog post using message similar to v0.14.0 Blog Post
  • Push branch and submit pull request
  • Make sure that the AppVeyor build succeeds successfully
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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.
  • Switch to develop branch git checkout develop
  • Update local develop branch git fetch then git rebase origin/develop
  • Delete local branch that was created git branch -d 0.7.0-Blog-Post
  • Switch to master branch git checkout master
  • Merge develop to master git merge --no-ff develop NOTE: This will also update the documentation for the various Addins/Tools on the site, so if any new aliases have been added, these will be included in the build.
  • Push master branch git push
  • Go to 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 Gitter Room and let people know that it was released. Use something like @/all Version 0.27.1 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 0.27.1 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the On .Net Link submission form and add link to the post
  • Go to reddit and submit link reddit.com/r/dotnet,
  • Go to LinkedIn and create a new post
    • Click on Manage Page
    • Add link and then click Post
  • Go to Medium and import the story.
    • 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
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
  • 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!

Cake 3.0.0 Release

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...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [3.0.0 release](https://github.com/cake-build/cake/milestone/81?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [3.0.0 release](https://github.com/cake-build/cake/milestone/81?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the [3.0.0 release](https://github.com/cake-build/cake/milestone/81?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • 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, 3.0.0 (https://github.com/cake-build/cake/milestone/81?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/
  • Retweet the above from the cake-contrib twitter 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 there are any breaking changes so the discoverer can be modified to generate a new markdown report and also Excel report to track which addins are compatible with this new release of Cake.

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/3.0.0 develop
  • Update ReleaseNotes.md to include 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/3.0.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both 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/3.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 3.0.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/3.0.0 (and the remote one, if pushed to GitHub git push origin --delete release/3.0.0)

After a release/hotfix

  • Make sure that everything has 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 3.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 3.0.0
    • Push branch git push
  • Trigger new container builds on GitHub Actions.
  • Move to bakery repository
    • Create an issue Update Cake to version 3.0.0
    • Create a branch for example git checkout -b feature/gh-xxx develop
    • Update Cake.Core to 3.0.0 in src\Cake.Bakery\Cake.Bakery.csproj
    • Update Cake.Core to 3.0.0 in src\Cake.Scripting\Cake.Scripting.csproj
    • Update Cake.Core to 3.0.0 in src\Cake.Scripting.Tests\Cake.Scripting.Tests.csproj
    • Update Cake.NuGet to 3.0.0 in src\Cake.Bakery\Cake.Bakery.csproj
    • Update Cake.Common to 3.0.0 in src\Cake.Scripting\Cake.Scripting.csproj
    • Update Cake.Testing to 3.0.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 3.0.0
    • Push branch and submit pull request
    • Have someone else verify the contents
  • Move to website repository
    • Create a branch for a new blog post git checkout -b 3.0.0-Blog-Post master
    • You can get draft blog post using the console secrets\Processes\FetchContributors
      • dotnet restore
      • dotnet run -- "cake-build" "cake" "v2.3.0" "02aaa086f62edc032ea505c45a2038a552828054" "../../../../cake-build/website/input/blog/" v3.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 3.0.0
  • Commit blog post using message similar to v3.0.0 Blog Post
  • Push branch and submit pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 Gitter Room and let people know that it was released. Use something like @/all Version 3.0.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.Tool :cake: :rocket:
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 3.0.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,
    • 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 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/...
  • .NET Foundation Newsletter
  • Submit news to form forms.office.com/r/8hAv7S659s
  • Submit 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!

Update process with new web page release process

Some notes before I forget them

  • Now users Azure DevOps
  • Release stages and not branches (no more develop)
  • Add .NET foundation newsletter
  • Fix linked in beta not needed

Some changes were made in #13 template needs to be updated.

Cake 2.1.0 Release

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...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [2.1.0 release](https://github.com/cake-build/cake/milestone/84?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [2.1.0 release](https://github.com/cake-build/cake/milestone/84?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the [2.1.0 release](https://github.com/cake-build/cake/milestone/84?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • 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, 2.1.0 (https://github.com/cake-build/cake/milestone/84?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/
  • Retweet the above from the cake-contrib twitter 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 there are any breaking changes so the discoverer can be modified to generate a new markdown report and also Excel report to track which addins are compatible with this new release of Cake.

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/2.1.0 develop
  • Update ReleaseNotes.md to include 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/2.1.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both 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/2.1.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 2.1.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/2.1.0 (and the remote one, if pushed to GitHub git push origin --delete release/2.1.0)

After a release/hotfix

  • Make sure that everything has 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 2.1.0
    • Push branch
  • Move to resources repository
    • Open the packages.config 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 2.1.0
    • Push branch git push
  • Trigger new container builds on Azure Pipelines.
  • Move to website repository
    • Create a branch for a new blog post git checkout -b 2.1.0-Blog-Post master
    • You can get draft blog post using the console secrets\Processes\FetchContributors
      • dotnet restore
      • dotnet run -- "cake-build" "cake" "v2.0.0" "xxx" "../../website/input/blog/" v2.1.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 2.1.0
  • Commit blog post using message similar to v2.1.0 Blog Post
  • Push branch and submit pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 Gitter Room and let people know that it was released. Use something like @/all Version 2.1.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.Tool :cake: :rocket:
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 2.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,
  • 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/...
  • .NET Foundation Newsletter
  • Submit news to form forms.office.com/r/8hAv7S659s
  • Submit 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!

Cake 1.0.0 Release

Useful information

Repository Pre-requisites

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • Run the Prereqs.ps1 file, using the following as an example .\Prereqs.ps1 -GithubUsername gep13 (use your own username). This will clone a new version of all required repositories.

Let people know that things are happening...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [1.0.0 release](https://github.com/cake-build/cake/milestone/55?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [1.0.0 release](https://github.com/cake-build/cake/milestone/55?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 1.0.0 release ( https://github.com/cake-build/cake/milestone/55?closed=1 ) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 1.0.0 (https://github.com/cake-build/cake/milestone/55?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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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 there are any breaking changes so the discoverer can be modified to generate a new markdown report and also Excel report to track which addins are compatible with this new release of Cake.

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/1.0.0 develop
  • Update releasenotes.md to include 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/1.0.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task dc00c687d01a6001b2508ce5b16f405888598dfddeacb184e49a3051cb4710b8
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/1.0.0
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.config to the latest released version, i.e. the version you just released
  • Build everything (./build.ps1) to make sure it works.
  • Commit the changes tobuild.config. Use commit message like (build) Updated Cake tool to version 1.0.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/1.0.0 (and the remote one, if pushed to GitHub git push origin --delete release/1.0.0)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-1.0.0
  • Open the Formula/cake.rb
  • Update the url (line 7) to be the new download location
  • Update the sha256 (line 8) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 1.0.0 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 1.0.0
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 1.0.0
  • Push branch git push
  • Checkout master git checkout master
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Trigger new container builds on Azure Pipelines.
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 1.0.0-Blog-Post master
  • You can get draft blog post using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.38.5" "e3e497a4e63e25376a453435da9673352d674b2a" "\cake1.0.0\repositories\devlead\website\input\blog" "v1.0.0"
  • Bump the Cake Tool Version number in build.config to the latest released version, i.e. the version you just released
  • Commit changes to build.config file using message similar to (build) Updated Cake tool to version 1.0.0
  • Commit blog post using message similar to v1.0.0 Blog Post
  • Push branch and submit pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 Gitter Room and let people know that it was released. Use something like @/all Version 1.0.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 1.0.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to reddit and submit link reddit.com/r/cakebuild reddit.com/r/dotnet,
  • Go to reddit and cross post reddit.com/r/dotnet,
    • [ENTER URL HERE]
  • 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)
    • ~~ Import failed this time so used medium Create post API to create draft with canonicalUrl ~~
    • Click on see your story
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
    • https://cakebuildnet.medium.com/cake-v1-0-0-released-eaf8b81f85bd
  • .NET Foundation Newsletter
  • 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!

Cake 0.32.1 Release

Useful information

Repository Pre-requisites

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • Run the Prereqs.ps1 file, using the following as an example .\Prereqs.ps1 -GithubUsername gep13 (use your own username). This will clone a new version of all required repositories.

Let people know that things are happening...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.32.1 release](https://github.com/cake-build/cake/milestone/58?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.32.1 release](https://github.com/cake-build/cake/milestone/58?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 0.32.1 release ( https://github.com/cake-build/cake/milestone/58?closed=1 ) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 0.32.1 (https://github.com/cake-build/cake/milestone/58?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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/0.32.1 develop
  • Update releasenotes.md to include 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/0.32.1
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/0.32.1
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.config 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 build.ps1 and build.sh NOTE: There will be other changes to the *.json files as well, commit everything. Use commit message like (build) Updated Cake tool to version 0.32.1
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/0.32.1 (and the remote one, if pushed to GitHub git push origin --delete release/0.32.1)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-0.32.1
  • Open the Formula/cake.rb
  • Update the url (line 4) to be the new download location
  • Update the sha256 (line 5) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 0.32.1 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 0.32.1
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 0.32.1
  • Push branch git push
  • Switch to the master branch git checkout master
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Trigger new container builds on Azure Pipelines.
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 0.32.1-Blog-Post develop
  • Create Blog Post i.e. .\input\blog\2019-01-03-cake-v0.32.1-released.md
  • You can get contibutors using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.32.0" "ee6d9104db0382021a937d7fdeb5ea53b9095587" "../../../../cake-build/website/input/blog/" "v0.32.1"
  • Bump the Cake Tool Version number in tools\package.config to the latest released version, i.e. the version you just released
  • Commit changes to tools\package.config file using message similar to (build) Updated Cake tool to version 0.32.1
  • Commit blog post using message similar to v0.32.1 Blog Post
  • Push branch and submit pull request
  • Make sure that the AppVeyor build succeeds successfully
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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.
  • Switch to develop branch git checkout develop
  • Update local develop branch git fetch then git rebase origin/develop
  • Delete local branch that was created git branch -d 0.32.1-Blog-Post
  • Switch to master branch git checkout master
  • Merge develop to master git merge --no-ff develop NOTE: This will also update the documentation for the various Addins/Tools on the site, so if any new aliases have been added, these will be included in the build.
  • Push master branch git push
  • Go to 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 Gitter Room and let people know that it was released. Use something like @/all Version 0.32.1 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 0.32.1 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the On .Net Link submission form and add link to the post
  • Go to reddit and submit link reddit.com/r/dotnet,
  • Go to LinkedIn and create a new post
    • Click on Manage Page
    • Add link and then click Post
  • Go to Medium and import the story.
    • 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
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
  • 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!

Cake 1.3.0 Release

Useful information

Repository Pre-requisites

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • 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...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [1.3.0 release](https://github.com/cake-build/cake/milestone/80?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [1.3.0 release](https://github.com/cake-build/cake/milestone/80?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the [1.3.0 release](https://github.com/cake-build/cake/milestone/80?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • 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, 1.3.0 (https://github.com/cake-build/cake/milestone/80?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/
  • Retweet the above from the cake-contrib twitter 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
  • N/A 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 Excel report to track which addins are compatible with this new release of Cake.

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/1.3.0 develop
  • Update releasenotes.md to include 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/1.3.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task 52934fec19c02b668851b73d0fac9f3e6676be239e5bfef6af54b56fb91a244c
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/1.3.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 1.3.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/1.3.0 (and the remote one, if pushed to GitHub git push origin --delete release/1.3.0)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-1.3.0
  • Open the Formula/cake.rb
  • Update the url (line 4) to be the new download location
  • Update the sha256 (line 5) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 1.3.0 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 1.3.0
  • Push branch
  • Move to resources repository
  • Open the packages.config 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 1.3.0
  • Push branch git push
  • N/A Trigger new container builds on Azure Pipelines.
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 1.3.0-Blog-Post master
  • You can get draft blog post using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run -- "cake-build" "cake" "v1.2.0" "xxx" "../../website/input/blog/" v1.3.0
  • Bump the Cake Tool Version number in build.config to the latest released version, i.e. the version you just released
  • Commit changes to build.config file using message similar to (build) Updated Cake tool to version 1.3.0
  • Commit blog post using message similar to v1.3.0 Blog Post
  • Push branch and submit pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 Gitter Room and let people know that it was released. Use something like @/all Version 1.3.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 1.3.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • 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)
    • N/A ~~ Import failed this time so used medium Create post API to create draft with canonicalUrl ~~
    • Click on see your story
    • N/A Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
    • https://cakebuildnet.medium.com/cake-v1-3-0-released-eef2fe1dcdea
    • N/A .NET Foundation Newsletter
    • Submit news to form forms.office.com/r/8hAv7S659s
  • 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!

Cake 2.2.0 Release

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...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [2.2.0 release](https://github.com/cake-build/cake/milestone/85?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [2.2.0 release](https://github.com/cake-build/cake/milestone/85?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the [2.2.0 release](https://github.com/cake-build/cake/milestone/85?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • 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, 2.2.0 (https://github.com/cake-build/cake/milestone/85?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/
  • Retweet the above from the cake-contrib twitter 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 there are any breaking changes so the discoverer can be modified to generate a new markdown report and also Excel report to track which addins are compatible with this new release of Cake.

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/2.2.0 develop
  • Update ReleaseNotes.md to include 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/2.2.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both 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/2.2.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 2.2.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/2.2.0 (and the remote one, if pushed to GitHub git push origin --delete release/2.2.0)

After a release/hotfix

  • Make sure that everything has 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 2.2.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 2.2.0
    • Push branch git push
  • Trigger new container builds on GitHub Actions.
  • Move to bakery repository
    • Create an issue Update Cake to version 2.2.0
    • Create a branch for example git checkout -b feature/gh-172 develop
    • Update Cake.Core to 2.2.0in src\Cake.Bakery\Cake.Bakery.csproj
    • Update Cake.Core to 2.2.0 in src\Cake.Scripting\Cake.Scripting.csproj
    • Update Cake.Core to 2.2.0 in src\Cake.Scripting.Tests\Cake.Scripting.Tests.csproj
    • Update Cake.NuGet to 2.2.0 in src\Cake.Bakery\Cake.Bakery.csproj
    • Update Cake.Common to 2.2.0 in src\Cake.Scripting\Cake.Scripting.csproj
    • Update Cake.Testing to 2.2.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-172) Updated Cake tool to version 2.2.0
    • Push branch and submit pull request
    • Have someone else verify the contents
  • Move to website repository
    • Create a branch for a new blog post git checkout -b 2.2.0-Blog-Post master
    • You can get draft blog post using the console secrets\Processes\FetchContributors
      • dotnet restore
      • dotnet run -- "cake-build" "cake" "v2.1.0" "8861b463a4eb651f9e5149ee7f7ada47d03ae1ad" "../../../../devlead/website/input/blog/" v2.2.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 2.2.0
  • Commit blog post using message similar to v2.2.0 Blog Post
  • Push branch and submit pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 Gitter Room and let people know that it was released. Use something like @/all Version 2.2.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.Tool :cake: :rocket:
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 2.2.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,
  • 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/...
  • .NET Foundation Newsletter
  • Submit news to form forms.office.com/r/8hAv7S659s
  • Submit 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!

Cake 3.1.0 Release

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 [3.1.0 release](https://github.com/cake-build/cake/milestone/87?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • 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, 3.1.0 (https://github.com/cake-build/cake/milestone/87?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/
  • Retweet the above from the cake-contrib Twitter 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 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/3.1.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/3.1.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/3.1.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 3.1.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/3.1.0 (and the remote one, if pushed to GitHub git push origin --delete release/3.1.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 3.1.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 3.1.0
    • Push branch git push
  • Trigger new container builds on GitHub Actions.
  • Move to bakery repository
    • Create an issue Update Cake to version 3.1.0
    • Create a branch for example git checkout -b feature/gh-xxx develop
    • Update Cake.Core to 3.1.0 in src\Cake.Bakery\Cake.Bakery.csproj
    • Update Cake.Core to 3.1.0 in src\Cake.Scripting\Cake.Scripting.csproj
    • Update Cake.Core to 3.1.0 in src\Cake.Scripting.Tests\Cake.Scripting.Tests.csproj
    • Update Cake.NuGet to 3.1.0 in src\Cake.Bakery\Cake.Bakery.csproj
    • Update Cake.Common to 3.1.0 in src\Cake.Scripting\Cake.Scripting.csproj
    • Update Cake.Testing to 3.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 3.1.0
    • Push the branch and submit a pull request
    • Have someone else verify the contents
  • Move to website repository
    • Create a branch for a new blog post git checkout -b 3.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" "v3.0.0" "6a334f30ec989c44d6578a7e73843ed9f1167ca3" "../../../../cake-build/website/input/blog/" v3.1.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 blog post using a message similar to v3.1.0 Blog Post
  • Push the branch and submit a pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 and in the General Room let people know that it was released. Use something like @channel Version 3.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,
  • 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/...
  • .NET Foundation Newsletter
  • Submit news to form forms.office.com/r/8hAv7S659s
  • 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!

Frosting 0.38.4 Release

Useful information

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

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/0.35.0 develop
  • Create release notes on GitHub using the ReleaseNotes task (.\build.ps1 --target=CreateReleaseNotes)
  • Build everything (./build.ps1) to make sure it works.
  • 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 master branch (git checkout master)
  • Merge release branch to the master git merge --no-ff release/0.35.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push master branch.
  • Make sure that the AppVeyor build succeeds 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/0.35.0
  • Resolve any merge conflicts
  • Build everything (./build.ps1) to make sure it works.
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/0.35.0 (and the remote one, if pushed to GitHub git push origin --delete release/0.35.0)

After a release/hotfix

Cake 2.0.0-rc0001 Release

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...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [2.0.0-rc0001 release](https://github.com/cake-build/cake/milestone/71?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [2.0.0-rc0001 release](https://github.com/cake-build/cake/milestone/71?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the [2.0.0-rc0001 release](https://github.com/cake-build/cake/milestone/71?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • 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, 2.0.0-rc0001 (https://github.com/cake-build/cake/milestone/71?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/
  • Retweet the above from the cake-contrib twitter 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
  • N/A 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 Excel report to track which addins are compatible with this new release of Cake.

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/2.0.0-rc0001 develop
  • Update ReleaseNotes.md to include 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/2.0.0-rc0001
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both 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/2.0.0-rc0001
  • 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 2.0.0-rc0001
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/2.0.0-rc0001 (and the remote one, if pushed to GitHub git push origin --delete release/2.0.0-rc0001)

After a release/hotfix

Cake 4.0.0 Release

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 [4.0.0 release](https://github.com/cake-build/cake/milestone/89?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • 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.0.0 (https://github.com/cake-build/cake/milestone/89?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/
  • Retweet the above from the cake-contrib Twitter 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 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/4.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/4.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/4.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 4.0.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/4.0.0 (and the remote one, if pushed to GitHub git push origin --delete release/4.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 4.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 4.0.0
    • Push branch git push
  • Trigger new container builds on GitHub Actions.
  • Move to bakery repository
    • Create an issue Update Cake to version 4.0.0
    • Create a branch for example git checkout -b feature/gh-184 develop
    • Update Cake.Core to 4.0.0 in src\Cake.Bakery\Cake.Bakery.csproj
    • Update Cake.Core to 4.0.0 in src\Cake.Scripting\Cake.Scripting.csproj
    • Update Cake.Core to 4.0.0 in src\Cake.Scripting.Tests\Cake.Scripting.Tests.csproj
    • Update Cake.NuGet to 4.0.0 in src\Cake.Bakery\Cake.Bakery.csproj
    • Update Cake.Common to 4.0.0 in src\Cake.Scripting\Cake.Scripting.csproj
    • Update Cake.Testing to 4.0.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-184) Updated Cake tool to version 4.0.0
    • Push the branch and submit a pull request
    • Have someone else verify the contents
  • Move to website repository
    • Create a branch for a new blog post git checkout -b 4.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" "v3.2.0" "b11eb5fc9f203608d32c280b5e2b914eea3df379" "../../../../cake-build/website/input/blog/" v4.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 4.0.0
  • Commit blog post using a message similar to v4.0.0 Blog Post
  • Push the branch and submit a pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 and in the General Room let people know that it was released. Use something like @channel Version 4.0.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,
  • 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/...
  • .NET Foundation Newsletter
  • Submit news to form forms.office.com/r/8hAv7S659s
  • 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!

Cake 3.2.0 Release

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 [3.2.0 release](https://github.com/cake-build/cake/milestone/88?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • 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, 3.2.0 (https://github.com/cake-build/cake/milestone/88?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/
  • Retweet the above from the cake-contrib Twitter 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 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/3.2.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/3.2.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/3.2.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 3.2.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/3.2.0 (and the remote one, if pushed to GitHub git push origin --delete release/3.2.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 3.2.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 3.2.0
    • Push branch git push
  • Trigger new container builds on GitHub Actions.
  • Move to bakery repository
    • Create an issue Update Cake to version 3.2.0
    • Create a branch for example git checkout -b feature/gh-xxx develop
    • Update Cake.Core to 3.2.0 in src\Cake.Bakery\Cake.Bakery.csproj
    • Update Cake.Core to 3.2.0 in src\Cake.Scripting\Cake.Scripting.csproj
    • Update Cake.Core to 3.2.0 in src\Cake.Scripting.Tests\Cake.Scripting.Tests.csproj
    • Update Cake.NuGet to 3.2.0 in src\Cake.Bakery\Cake.Bakery.csproj
    • Update Cake.Common to 3.2.0 in src\Cake.Scripting\Cake.Scripting.csproj
    • Update Cake.Testing to 3.2.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 3.2.0
    • Push the branch and submit a pull request
    • Have someone else verify the contents
  • Move to website repository
    • Create a branch for a new blog post git checkout -b 3.2.0-Blog-Post master
    • You can get a draft blog post using the console secrets\Processes\FetchContributors
      • dotnet restore
      • dotnet run -- "cake-build" "cake" "v3.1.0" "4031007992d00c68100c2769942f76fec4a227c9" "../../../../cake-build/website/input/blog/" v3.2.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 3.2.0
  • Commit blog post using a message similar to v3.2.0 Blog Post
  • Push the branch and submit a pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 and in the General Room let people know that it was released. Use something like @channel Version 3.2.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,
  • 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/...
  • .NET Foundation Newsletter
  • Submit news to form forms.office.com/r/8hAv7S659s
  • 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!

Cake 0.28.0 Release

Useful information

Repository Pre-requisites

Manual Approach

  • Add the CAKE_GITHUB_USERNAME and CAKE_GITHUB_PASSWORD environment variables into your system. These should be of a user who has access to the Cake GitHub Repository.
  • Make sure develop branch of cake-build/cake is up to date git fetch then git rebase origin/develop.
  • Make sure main branch of cake-build/cake is up to date git fetch then git rebase origin/main.
  • Make sure develop branch of cake-build/website is up to date git fetch then git rebase origin/develop.
  • Make sure master branch of cake-build/website is up to date git fetch then git rebase origin/master.
  • Make sure master branch of cake-build/example is up to date git fetch then git rebase origin/master.
  • Make sure develop branch of cake-build/resources is up to date git fetch then git rebase origin/develop.
  • Make sure master branch of cake-build/resources is up to date git fetch then git rebase origin/master.
  • Make sure that all issues associated with pull requests getting released in this milestone are associated with the milestone, or that the pull request is associated with the milestone, if no issue was created.
  • Make sure you have a fork of Homebrew/homebrew-core
  • Make sure upstream points at Homebrew/homebrew-core
  • Make sure master branch of Homebrew/homebrew-core is up to date; git fetch then git rebase upstream/master.

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • Run the Prereqs.ps1 file, using the following as an example .\Prereqs.ps1 -GithubUsername gep13 (use your own username). This will clone a new version of all required repositories.

Let people know that things are happening...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.27.1 release](https://github.com/cake-build/cake/milestone/50) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.27.1 release](https://github.com/cake-build/cake/milestone/50) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 0.27.1 release (https://github.com/cake-build/cake/milestone/50) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 0.27.1 (https://github.com/cake-build/cake/milestone/50). 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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/0.7.0 develop
  • Update releasenotes.md to include 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/0.7.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/0.7.0
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.ps1 and build.sh 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 build.ps1 and build.sh NOTE: There will be other changes to the *.json files as well, commit everything. Use commit message like (build) Updated Cake tool to version 0.13.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/0.7.0 (and the remote one, if pushed to GitHub git push origin --delete release/0.7.0)

When doing a hotfix

  • Create branch locally to match the name of the hotfix, for example git checkout -b hotfix/0.27.1 main
  • If there is an open Pull Request, which is targetting the wrong base branch, do the following (where 2133 is the number of PR on GitHub)
    • git fetch origin pull/2133/head:pr2133
    • git checkout pr2133
    • git rebase --onto hotfix/0.27.1 develop
    • git checkout hotfix/0.27.1
    • git merge --no-ff pr2133
  • Update releasenotes.md to include next version number as a placeholder and save the file
  • Create release notes on GitHub using the ReleaseNotes task (.\build.ps1 -Target ReleaseNotes or ./build.sh --target releasenotes
  • Update releasenotes.md with generated content (making sure to keep the formatting the same)
  • Build everything (./build.ps1 or ./build.sh) 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 hotfix branch to GitHub
  • Assuming everything is ok, switch to main branch (git checkout main)
  • Merge hotfix branch into main git merge --no-ff hotfix/0.6.4
  • Build everything (./build.ps1 or ./build.sh) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor and Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task
  • Switch to develop branch git checkout develop
  • Merge hotfix branch into develop git merge --no-ff hotfix/0.6.4
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.ps1 and build.sh to the latest released version, i.e. the version you just released
  • Commit the changes to build.ps1 and build.sh. Use commit message like (build) Updated Cake tool to version 0.13.0
  • Build everything (./build.ps1 or ./build.sh) to make sure it works.
  • Push develop branch.
  • Delete the local hotfix branch that was created git branch -d hotfix/0.6.4 (and the remote one, if pushed to GitHub git push origin --delete hotfix/0.6.4)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-0.7.0
  • Open the Formula/cake.rb
  • Update the url (line 4) to be the new download location
  • Update the sha256 (line 5) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 0.12.0 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 0.13.0
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 0.13.0
  • Push branch git push
  • Switch to the master branch git checkout master
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 0.7.0-Blog-Post develop
  • Create Blog Post i.e. .\input\blog\2017-03-07-cake-v0.18.0-released.md
  • You can get contibutors using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.17.0" "v0.18.0" "authors.text"
  • Bump the Cake Tool Version number in tools\package.config to the latest released version, i.e. the version you just released
  • Commit changes to tools\package.config file using message similar to (build) Updated Cake tool to version 0.14.0
  • Commit blog post using message similar to v0.14.0 Blog Post
  • Push branch and submit pull request
  • Make sure that the AppVeyor build succeeds successfully
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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.
  • Switch to develop branch git checkout develop
  • Update local develop branch git fetch then git rebase origin/develop
  • Delete local branch that was created git branch -d 0.7.0-Blog-Post
  • Switch to master branch git checkout master
  • Merge develop to master git merge --no-ff develop NOTE: This will also update the documentation for the various Addins/Tools on the site, so if any new aliases have been added, these will be included in the build.
  • Push master branch git push
  • Go to 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 Gitter Room and let people know that it was released. Use something like @/all Version 0.27.1 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 0.27.1 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the On .Net Link submission form and add link to the post
  • Go to reddit and submit link reddit.com/r/dotnet,
  • Go to LinkedIn and create a new post
    • Click on Manage Page
    • Add link and then click Post
  • Go to Medium and import the story.
    • 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
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
  • 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!

Cake 0.33.0 Release

Useful information

Repository Pre-requisites

Manual Approach

  • Add the CAKE_GITHUB_USERNAME and CAKE_GITHUB_PASSWORD environment variables into your system. These should be of a user who has access to the Cake GitHub Repository.
  • Make sure develop branch of cake-build/cake is up to date git fetch then git rebase origin/develop.
  • Make sure main branch of cake-build/cake is up to date git fetch then git rebase origin/main.
  • Make sure develop branch of cake-build/website is up to date git fetch then git rebase origin/develop.
  • Make sure master branch of cake-build/website is up to date git fetch then git rebase origin/master.
  • Make sure master branch of cake-build/example is up to date git fetch then git rebase origin/master.
  • Make sure develop branch of cake-build/resources is up to date git fetch then git rebase origin/develop.
  • Make sure master branch of cake-build/resources is up to date git fetch then git rebase origin/master.
  • Make sure that all issues associated with pull requests getting released in this milestone are associated with the milestone, or that the pull request is associated with the milestone, if no issue was created.
  • Make sure you have a fork of Homebrew/homebrew-core
  • Make sure upstream points at Homebrew/homebrew-core
  • Make sure master branch of Homebrew/homebrew-core is up to date; git fetch then git rebase upstream/master.

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • Run the Prereqs.ps1 file, using the following as an example .\Prereqs.ps1 -GithubUsername gep13 (use your own username). This will clone a new version of all required repositories.

Let people know that things are happening...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.31.0 release](https://github.com/cake-build/cake/milestone/54?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.31.0 release](https://github.com/cake-build/cake/milestone/54?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 0.31.0 release ( https://github.com/cake-build/cake/milestone/54?closed=1 ) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 0.31.0 (https://github.com/cake-build/cake/milestone/54?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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/0.31.0 develop
  • Update releasenotes.md to include 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/0.31.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/0.31.0
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.config 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 build.ps1 and build.sh NOTE: There will be other changes to the *.json files as well, commit everything. Use commit message like (build) Updated Cake tool to version 0.31.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/0.31.0 (and the remote one, if pushed to GitHub git push origin --delete release/0.31.0)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-0.31.0
  • Open the Formula/cake.rb
  • Update the url (line 4) to be the new download location
  • Update the sha256 (line 5) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 0.31.0 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 0.31.0
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 0.31.0
  • Push branch git push
  • Switch to the master branch git checkout master
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 0.31.0-Blog-Post develop
  • Create Blog Post i.e. .\input\blog\2018-07-06-cake-v0.31.0-released.md
  • You can get contibutors and stub for blog post using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.30.0" "[last commit id develop]" "[path to website]/input/blog" "v0.31.0"
  • Bump the Cake Tool Version number in tools\package.config to the latest released version, i.e. the version you just released
  • Commit changes to tools\package.config file using message similar to (build) Updated Cake tool to version 0.31.0
  • Commit blog post using message similar to v0.31.0 Blog Post
  • Push branch and submit pull request
  • Make sure that the AppVeyor build succeeds successfully
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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.
  • Switch to develop branch git checkout develop
  • Update local develop branch git fetch then git rebase origin/develop
  • Delete local branch that was created git branch -d 0.31.0-Blog-Post
  • Switch to master branch git checkout master
  • Merge develop to master git merge --no-ff develop NOTE: This will also update the documentation for the various Addins/Tools on the site, so if any new aliases have been added, these will be included in the build.
  • Push master branch git push
  • Go to 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 Gitter Room and let people know that it was released. Use something like @/all Version 0.31.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 0.31.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the On .Net Link submission form and add link to the post
  • Go to reddit and submit link reddit.com/r/dotnet,
  • Go to LinkedIn and create a new post
    • Click on Manage Page
    • Add link and then click Post
  • Go to Medium and import the story.
    • 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
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
  • 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!

Frosting 0.38.5 Release

Useful information

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

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/0.38.5 develop
  • Create release notes on GitHub using the ReleaseNotes task (.\build.ps1 --target=CreateReleaseNotes)
  • Build everything (./build.ps1) to make sure it works.
  • 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 master branch (git checkout master)
  • Merge release branch to the master git merge --no-ff release/0.38.5
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push master branch.
  • Make sure that the AppVeyor build succeeds 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/0.38.5
  • Resolve any merge conflicts
  • Build everything (./build.ps1) to make sure it works.
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/0.38.5 (and the remote one, if pushed to GitHub git push origin --delete release/0.38.5)

After a release/hotfix

Cake Release Issue Template

Useful information

Repository Pre-requisites

Manual Approach

  • Add the CAKE_GITHUB_USERNAME and CAKE_GITHUB_PASSWORD environment variables into your system. These should be of a user who has access to the Cake GitHub Repository.
  • Make sure develop branch of cake-build/cake is up to date git fetch then git rebase origin/develop.
  • Make sure main branch of cake-build/cake is up to date git fetch then git rebase origin/main.
  • Make sure develop branch of cake-build/website is up to date git fetch then git rebase origin/develop.
  • Make sure master branch of cake-build/website is up to date git fetch then git rebase origin/master.
  • Make sure master branch of cake-build/example is up to date git fetch then git rebase origin/master.
  • Make sure develop branch of cake-build/resources is up to date git fetch then git rebase origin/develop.
  • Make sure master branch of cake-build/resources is up to date git fetch then git rebase origin/master.
  • Make sure that all issues associated with pull requests getting released in this milestone are associated with the milestone, or that the pull request is associated with the milestone, if no issue was created.
  • Make sure you have a fork of Homebrew/homebrew-core
  • Make sure upstream points at Homebrew/homebrew-core
  • Make sure master branch of Homebrew/homebrew-core is up to date; git fetch then git rebase upstream/master.

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • Run the Prereqs.ps1 file, using the following as an example .\Prereqs.ps1 -GithubUsername gep13 (use your own username). This will clone a new version of all required repositories.

Let people know that things are happening...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.31.0 release](https://github.com/cake-build/cake/milestone/54?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.31.0 release](https://github.com/cake-build/cake/milestone/54?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 0.31.0 release ( https://github.com/cake-build/cake/milestone/54?closed=1 ) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 0.31.0 (https://github.com/cake-build/cake/milestone/54?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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/0.31.0 develop
  • Update releasenotes.md to include 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/0.31.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/0.31.0
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.config 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 build.ps1 and build.sh NOTE: There will be other changes to the *.json files as well, commit everything. Use commit message like (build) Updated Cake tool to version 0.31.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/0.31.0 (and the remote one, if pushed to GitHub git push origin --delete release/0.31.0)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-0.31.0
  • Open the Formula/cake.rb
  • Update the url (line 4) to be the new download location
  • Update the sha256 (line 5) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 0.31.0 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 0.31.0
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 0.31.0
  • Push branch git push
  • Switch to the master branch git checkout master
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 0.31.0-Blog-Post develop
  • Create Blog Post i.e. .\input\blog\2018-07-06-cake-v0.31.0-released.md
  • You can get contibutors and stub for blog post using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.30.0" "[last commit id develop]" "[path to website]/input/blog" "v0.31.0"
  • Bump the Cake Tool Version number in tools\package.config to the latest released version, i.e. the version you just released
  • Commit changes to tools\package.config file using message similar to (build) Updated Cake tool to version 0.31.0
  • Commit blog post using message similar to v0.31.0 Blog Post
  • Push branch and submit pull request
  • Make sure that the AppVeyor build succeeds successfully
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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.
  • Switch to develop branch git checkout develop
  • Update local develop branch git fetch then git rebase origin/develop
  • Delete local branch that was created git branch -d 0.31.0-Blog-Post
  • Switch to master branch git checkout master
  • Merge develop to master git merge --no-ff develop NOTE: This will also update the documentation for the various Addins/Tools on the site, so if any new aliases have been added, these will be included in the build.
  • Push master branch git push
  • Go to 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 Gitter Room and let people know that it was released. Use something like @/all Version 0.31.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 0.31.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the On .Net Link submission form and add link to the post
  • Go to reddit and submit link reddit.com/r/dotnet,
  • Go to LinkedIn and create a new post
    • Click on Manage Page
    • Add link and then click Post
  • Go to Medium and import the story.
    • 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
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
  • 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!

Cake 2.3.0 Release

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...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [2.3.0 release](https://github.com/cake-build/cake/milestone/86?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [2.3.0 release](https://github.com/cake-build/cake/milestone/86?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the [2.3.0 release](https://github.com/cake-build/cake/milestone/86?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • 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, 2.3.0 (https://github.com/cake-build/cake/milestone/86?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/
  • Retweet the above from the cake-contrib twitter 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 there are any breaking changes so the discoverer can be modified to generate a new markdown report and also Excel report to track which addins are compatible with this new release of Cake.

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/2.3.0 develop
  • Update ReleaseNotes.md to include 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/2.3.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both 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/2.3.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 2.3.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/2.3.0 (and the remote one, if pushed to GitHub git push origin --delete release/2.3.0)

After a release/hotfix

  • Make sure that everything has 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 2.3.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 2.3.0
    • Push branch git push
  • Trigger new container builds on GitHub Actions.
  • Move to bakery repository
    • Create an issue Update Cake to version 2.3.0
    • Create a branch for example git checkout -b feature/gh-xxx develop
    • Update Cake.Core to 2.3.0 in src\Cake.Bakery\Cake.Bakery.csproj
    • Update Cake.Core to 2.3.0 in src\Cake.Scripting\Cake.Scripting.csproj
    • Update Cake.Core to 2.3.0 in src\Cake.Scripting.Tests\Cake.Scripting.Tests.csproj
    • Update Cake.NuGet to 2.3.0 in src\Cake.Bakery\Cake.Bakery.csproj
    • Update Cake.Common to 2.3.0 in src\Cake.Scripting\Cake.Scripting.csproj
    • Update Cake.Testing to 2.3.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 2.3.0
    • Push branch and submit pull request
    • Have someone else verify the contents
  • Move to website repository
    • Create a branch for a new blog post git checkout -b 2.3.0-Blog-Post master
    • You can get draft blog post using the console secrets\Processes\FetchContributors
      • dotnet restore
      • dotnet run -- "cake-build" "cake" "v2.2.0" "27300dda7b519408a3f71fcad572665fcd604725" "../../../../cake-build/website/input/blog/" v2.3.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 2.3.0
  • Commit blog post using message similar to v2.3.0 Blog Post
  • Push branch and submit pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 Gitter Room and let people know that it was released. Use something like @/all Version 2.3.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.Tool :cake: :rocket:
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 2.3.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,
  • 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/...
  • .NET Foundation Newsletter
  • Submit news to form forms.office.com/r/8hAv7S659s
  • Submit 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!

Cake 0.31.0 Release

Useful information

Repository Pre-requisites

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • Run the Prereqs.ps1 file, using the following as an example .\Prereqs.ps1 -GithubUsername gep13 (use your own username). This will clone a new version of all required repositories.

Let people know that things are happening...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.31.0 release](https://github.com/cake-build/cake/milestone/54?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.31.0 release](https://github.com/cake-build/cake/milestone/54?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 0.31.0 release ( https://github.com/cake-build/cake/milestone/54?closed=1 ) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 0.31.0 (https://github.com/cake-build/cake/milestone/54?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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/0.31.0 develop
  • Update releasenotes.md to include 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/0.31.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task 44814e8a67bde123c73457efd36969557deff1abbef9855880cf1389a5c27532
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/0.31.0
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.ps1 and build.sh 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 build.ps1 and build.sh NOTE: There will be other changes to the *.json files as well, commit everything. Use commit message like (build) Updated Cake tool to version 0.31.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/0.31.0 (and the remote one, if pushed to GitHub git push origin --delete release/0.31.0)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-0.31.0
  • Open the Formula/cake.rb
  • Update the url (line 4) to be the new download location
  • Update the sha256 (line 5) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 0.31.0 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 0.31.0
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 0.31.0
  • Push branch git push
  • Switch to the master branch git checkout master
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Trigger new container builds on Azure Pipelines.
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 0.31.0-Blog-Post develop
  • Create Blog Post i.e. .\input\blog\2018-07-06-cake-v0.31.0-released.md
  • You can get contibutors using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.31.0" "v0.31.0" "authors.text"
  • Bump the Cake Tool Version number in tools\package.config to the latest released version, i.e. the version you just released
  • Commit changes to tools\package.config file using message similar to (build) Updated Cake tool to version 0.31.0
  • Commit blog post using message similar to v0.31.0 Blog Post
  • Push branch and submit pull request
  • Make sure that the AppVeyor build succeeds successfully
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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.
  • Switch to develop branch git checkout develop
  • Update local develop branch git fetch then git rebase origin/develop
  • Delete local branch that was created git branch -d 0.31.0-Blog-Post
  • Switch to master branch git checkout master
  • Merge develop to master git merge --no-ff develop NOTE: This will also update the documentation for the various Addins/Tools on the site, so if any new aliases have been added, these will be included in the build.
  • Push master branch git push
  • Go to 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 Gitter Room and let people know that it was released. Use something like @/all Version 0.31.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 0.31.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the On .Net Link submission form and add link to the post
  • Go to reddit and submit link reddit.com/r/dotnet,
  • Go to LinkedIn and create a new post
    • Click on Manage Page
    • Add link and then click Post
  • Go to Medium and import the story.
    • 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
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
  • 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!

Cake 0.36.0 release

Useful information

Repository Pre-requisites

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • 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...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.36.0 release](https://github.com/cake-build/cake/milestone/62?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.36.0 release](https://github.com/cake-build/cake/milestone/62?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 0.36.0 release ( https://github.com/cake-build/cake/milestone/62?closed=1 ) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 0.36.0 (https://github.com/cake-build/cake/milestone/62?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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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 there are any breaking changes so the discoverer can be modified to generate a new markdown report and also Excel report to track which addins are compatible with this new release of Cake.

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/0.36.0 develop
  • Update releasenotes.md to include 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/0.36.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task 5428074238e9e0c2c7b656c185890ee288dc607a7a032d5874836f654c9834a0
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/0.36.0
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.config 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 build.ps1 and build.sh NOTE: There will be other changes to the *.json files as well, commit everything. Use commit message like (build) Updated Cake tool to version 0.36.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/0.36.0 (and the remote one, if pushed to GitHub git push origin --delete release/0.36.0)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-0.36.0
  • Open the Formula/cake.rb
  • Update the url (line 4) to be the new download location
  • Update the sha256 (line 5) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 0.36.0 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 0.36.0
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 0.36.0
  • Push branch git push
  • Checkout master git checkout master
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Trigger new container builds on Azure Pipelines.
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 0.36.0-Blog-Post master
  • You can get draft blog post using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.35.0" "004eaf6c67df480f84c24a483c0082dd9b2cf414" "\cake0.36.0\repositories\devlead\website\input\blog" "v0.36.0"
  • Bump the Cake Tool Version number in tools\package.config to the latest released version, i.e. the version you just released
  • Commit changes to tools\package.config file using message similar to (build) Updated Cake tool to version 0.36.0
  • Commit blog post using message similar to v0.36.0 Blog Post
  • Push branch and submit pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 Gitter Room and let people know that it was released. Use something like @/all Version 0.36.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 0.36.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to reddit and submit link reddit.com/r/dotnet,
  • 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 Store
    • Enter url of blog post and click Import (if this errors out, just try it again)
    • Import failed this time so used medium Create post API to create draft with canonicalUrl
    • Click on see your story
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
    • https://medium.com/@cakebuildnet/cake-v0-36-0-released-2b49d895886e
  • .NET Foundation Newsletter
  • 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!

Cake 2.0.0 Release

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...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [2.0.0 release](https://github.com/cake-build/cake/milestone/71?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [2.0.0 release](https://github.com/cake-build/cake/milestone/71?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the [2.0.0 release](https://github.com/cake-build/cake/milestone/71?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • 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, 2.0.0 (https://github.com/cake-build/cake/milestone/71?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/
  • Retweet the above from the cake-contrib twitter 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 there are any breaking changes so the discoverer can be modified to generate a new markdown report and also Excel report to track which addins are compatible with this new release of Cake.

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/2.0.0 develop
  • Update ReleaseNotes.md to include 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/2.0.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both 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/2.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 2.0.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/2.0.0 (and the remote one, if pushed to GitHub git push origin --delete release/2.0.0)

After a release/hotfix

  • Make sure that everything has 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 2.0.0
    • Push branch
  • Move to resources repository
    • Open the packages.config 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 2.0.0
    • Push branch git push
  • Trigger new container builds on Azure Pipelines.
  • Move to website repository
    • Create a branch for a new blog post git checkout -b 2.0.0-Blog-Post master
    • You can get draft blog post using the console secrets\Processes\FetchContributors
      • dotnet restore
      • dotnet run -- "cake-build" "cake" "v1.3.0" 3efab09f079eb835ce674231a416820e081fe43a "../../website/input/blog/" v2.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 2.0.0
  • Commit blog post using message similar to v2.0.0 Blog Post
  • Push branch and submit pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 Gitter Room and let people know that it was released. Use something like @/all Version 2.0.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.Tool :cake: :rocket:
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 2.0.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,
  • 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/...
  • .NET Foundation Newsletter
  • Submit news to form forms.office.com/r/8hAv7S659s
  • Submit 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!

Cake 0.38.5 Release

Useful information

Repository Pre-requisites

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • Run the Prereqs.ps1 file, using the following as an example .\Prereqs.ps1 -GithubUsername gep13 (use your own username). This will clone a new version of all required repositories.

Let people know that things are happening...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.38.5 release](https://github.com/cake-build/cake/milestone/70?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.38.5 release](https://github.com/cake-build/cake/milestone/70?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 0.38.5 release ( https://github.com/cake-build/cake/milestone/70?closed=1 ) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 0.38.5 (https://github.com/cake-build/cake/milestone/70?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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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 there are any breaking changes so the discoverer can be modified to generate a new markdown report and also Excel report to track which addins are compatible with this new release of Cake.

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/0.38.5 hotfix/0.38.5
  • Update releasenotes.md to include 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/0.38.5
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task 7bda8369d90477288bda335484ab0905f1af8e780cd4b643f65e624491e2b456
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/0.38.5
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.config to the latest released version, i.e. the version you just released
  • Build everything (./build.ps1) to make sure it works.
  • Commit the changes tobuild.config. Use commit message like (build) Updated Cake tool to version 0.38.5
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/0.38.5 (and the remote one, if pushed to GitHub git push origin --delete release/0.38.5)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-0.38.5
  • Open the Formula/cake.rb
  • Update the url (line 7) to be the new download location
  • Update the sha256 (line 8) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 0.38.5 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 0.38.5
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 0.38.5
  • Push branch git push
  • Checkout master git checkout master
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Trigger new container builds on Azure Pipelines.
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 0.38.5-Blog-Post master
  • You can get draft blog post using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.38.4" "78d3426e3ce6bea93b1b0c73b14b90f7093a0162" "\cake0.38.5\repositories\devlead\website\input\blog" "v0.38.5"
  • Bump the Cake Tool Version number in build.config to the latest released version, i.e. the version you just released
  • Commit changes to build.config file using message similar to (build) Updated Cake tool to version 0.38.5
  • Commit blog post using message similar to v0.38.5 Blog Post
  • Push branch and submit pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 Gitter Room and let people know that it was released. Use something like @/all Version 0.38.5 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 0.38.5 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the On .Net Link submission form and add link to the post
  • Go to reddit and submit link reddit.com/r/dotnet,
    • [ENTER URL HERE]
  • Go to LinkedIn and create a new post
    • Start a post
    • [ENTER URL HERE]
  • 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)
    • ~~ Import failed this time so used medium Create post API to create draft with canonicalUrl ~~
    • Click on see your story
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
    • [ENTER URL HERE]
  • .NET Foundation Newsletter
  • 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!

Cake 0.29.0 Release

Useful information

Repository Pre-requisites

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • Run the Prereqs.ps1 file, using the following as an example .\Prereqs.ps1 -GithubUsername gep13 (use your own username). This will clone a new version of all required repositories.

Let people know that things are happening...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.29.0 release](https://github.com/cake-build/cake/milestone/49?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.29.0 release](https://github.com/cake-build/cake/milestone/49?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 0.29.0 release (https://github.com/cake-build/cake/milestone/49?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 0.29.0 (https://github.com/cake-build/cake/milestone/49?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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/0.29.0 develop
  • Update releasenotes.md to include 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/0.29.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task cf33ed2c118e7989f65690255191bcd5d2e37cef650d7367c33d2f86ba419e0d
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/0.29.0
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.ps1 and build.sh 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 build.ps1 and build.sh NOTE: There will be other changes to the *.json files as well, commit everything. Use commit message like (build) Updated Cake tool to version 0.29.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/0.29.0 (and the remote one, if pushed to GitHub git push origin --delete release/0.29.0)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-0.29.0
  • Open the Formula/cake.rb
  • Update the url (line 4) to be the new download location
  • Update the sha256 (line 5) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 0.29.0 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 0.29.0
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 0.29.0
  • Push branch git push
  • Switch to the master branch git checkout master
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 0.29.0-Blog-Post develop
  • Create Blog Post i.e. .\input\blog\2018-07-06-cake-v0.29.0-released.md
  • You can get contibutors using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.29.0" "v0.29.0" "authors.text"
  • Bump the Cake Tool Version number in tools\package.config to the latest released version, i.e. the version you just released
  • Commit changes to tools\package.config file using message similar to (build) Updated Cake tool to version 0.29.0
  • Commit blog post using message similar to v0.29.0 Blog Post
  • Push branch and submit pull request
  • Make sure that the AppVeyor build succeeds successfully
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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.
  • Switch to develop branch git checkout develop
  • Update local develop branch git fetch then git rebase origin/develop
  • Delete local branch that was created git branch -d 0.29.0-Blog-Post
  • Switch to master branch git checkout master
  • Merge develop to master git merge --no-ff develop NOTE: This will also update the documentation for the various Addins/Tools on the site, so if any new aliases have been added, these will be included in the build.
  • Push master branch git push
  • Go to 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 Gitter Room and let people know that it was released. Use something like @/all Version 0.29.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 0.29.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the On .Net Link submission form and add link to the post
  • Go to reddit and submit link reddit.com/r/dotnet,
  • Go to LinkedIn and create a new post
    • Click on Manage Page
    • Add link and then click Post
  • Go to Medium and import the story.
    • 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
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
  • 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!

Cake 2.0.0-rc0002 Release

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...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [2.0.0-rc0002 release](https://github.com/cake-build/cake/milestone/71?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [2.0.0-rc0002 release](https://github.com/cake-build/cake/milestone/71?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the [2.0.0-rc0002 release](https://github.com/cake-build/cake/milestone/71?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
  • 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, 2.0.0-rc0002 (https://github.com/cake-build/cake/milestone/71?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/
  • Retweet the above from the cake-contrib twitter 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
  • N/A 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 Excel report to track which addins are compatible with this new release of Cake.

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/2.0.0-rc0002 develop
  • Update ReleaseNotes.md to include 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/2.0.0-rc0002
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both 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/2.0.0-rc0002
  • 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 2.0.0-rc0002
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/2.0.0-rc0002 (and the remote one, if pushed to GitHub git push origin --delete release/2.0.0-rc0002)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • N/A Move to example repository (skipped because it's a pre-release)
    • N/A Bump the Cake Tool Version number in .config\dotnet-tools.json to the latest released version, i.e. the version you just released
    • N/A Build everything (./build.ps1 or ./build.sh) to make sure it works.
    • N/A Commit changes. Use message similar to (build) Updated Cake tool to version 2.0.0-rc0002
    • N/A Push branch
  • N/A Move to resources repository (skipped because it's a pre-release)
    • N/A Open the packages.config file
    • N/A Update the Cake version number to be the same as the version that you have just released
    • N/A Commit changes. Use message similar to (build) Updated Cake tool to version 2.0.0-rc0002
    • N/A Push branch git push
  • N/A Trigger new container builds on Azure Pipelines.
  • Move to website repository
    • Create a branch for a new blog post git checkout -b 2.0.0-rc0002-Blog-Post master
    • You can get draft blog post using the console secrets\Processes\FetchContributors
      • dotnet restore
      • dotnet run -- "cake-build" "cake" "v1.3.0" "xxx" "../../website/input/blog/" v2.0.0-rc0002
    • 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 2.0.0-rc0002
  • Commit blog post using message similar to v2.0.0-rc0002 Blog Post
  • Push branch and submit pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 Gitter Room and let people know that it was released. Use something like @/all Version 2.0.0-rc0002 of the Cake has just been released, https://www.nuget.org/packages/Cake.Tool :cake: :rocket:
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 2.0.0-rc0002 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,
  • 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)
    • N/A ~~ Import failed this time so used medium Create post API to create draft with canonicalUrl ~~
    • 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/...
  • N/A .NET Foundation Newsletter
  • Submit news to form forms.office.com/r/8hAv7S659s
  • Submit 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!

Cake 0.28.1 Hotfix

Useful information

Repository Pre-requisites

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • Run the Prereqs.ps1 file, using the following as an example .\Prereqs.ps1 -GithubUsername gep13 (use your own username). This will clone a new version of all required repositories.

Let people know that things are happening...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.27.1 release](https://github.com/cake-build/cake/milestone/50) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [0.27.1 release](https://github.com/cake-build/cake/milestone/50) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 0.27.1 release (https://github.com/cake-build/cake/milestone/50) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 0.27.1 (https://github.com/cake-build/cake/milestone/50). 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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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

When doing a hotfix

  • Create branch locally to match the name of the hotfix, for example git checkout -b hotfix/0.27.1 main
  • Update releasenotes.md to include next version number as a placeholder and save the file
  • Create release notes on GitHub using the ReleaseNotes task (.\build.ps1 -Target ReleaseNotes or ./build.sh --target releasenotes
  • Update releasenotes.md with generated content (making sure to keep the formatting the same)
  • Build everything (./build.ps1 or ./build.sh) 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 hotfix branch to GitHub
  • Assuming everything is ok, switch to main branch (git checkout main)
  • Merge hotfix branch into main git merge --no-ff hotfix/0.6.4
  • Build everything (./build.ps1 or ./build.sh) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor and Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task
  • Switch to develop branch git checkout develop
  • Merge hotfix branch into develop git merge --no-ff hotfix/0.6.4
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.ps1 and build.sh to the latest released version, i.e. the version you just released
  • Commit the changes to build.ps1 and build.sh. Use commit message like (build) Updated Cake tool to version 0.13.0
  • Build everything (./build.ps1 or ./build.sh) to make sure it works.
  • Push develop branch.
  • Delete the local hotfix branch that was created git branch -d hotfix/0.6.4 (and the remote one, if pushed to GitHub git push origin --delete hotfix/0.6.4)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-0.7.0
  • Open the Formula/cake.rb
  • Update the url (line 4) to be the new download location
  • Update the sha256 (line 5) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 0.12.0 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 0.13.0
  • Push branch
  • Move to resources repository
  • Switch to the develop branch git checkout develop
  • Open the packages.config 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 0.13.0
  • Push branch git push
  • Switch to the master branch git checkout master
  • Merge changes from develop branch git merge --no-ff develop
  • Push branch git push
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 0.7.0-Blog-Post develop
  • Create Blog Post i.e. .\input\blog\2017-03-07-cake-v0.18.0-released.md
  • You can get contibutors using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.17.0" "v0.18.0" "authors.text"
  • Bump the Cake Tool Version number in tools\package.config to the latest released version, i.e. the version you just released
  • Commit changes to tools\package.config file using message similar to (build) Updated Cake tool to version 0.14.0
  • Commit blog post using message similar to v0.14.0 Blog Post
  • Push branch and submit pull request
  • Make sure that the AppVeyor build succeeds successfully
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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.
  • Switch to develop branch git checkout develop
  • Update local develop branch git fetch then git rebase origin/develop
  • Delete local branch that was created git branch -d 0.7.0-Blog-Post
  • Switch to master branch git checkout master
  • Merge develop to master git merge --no-ff develop NOTE: This will also update the documentation for the various Addins/Tools on the site, so if any new aliases have been added, these will be included in the build.
  • Push master branch git push
  • Go to 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 Gitter Room and let people know that it was released. Use something like @/all Version 0.27.1 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 0.27.1 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the On .Net Link submission form and add link to the post
  • Go to reddit and submit link reddit.com/r/dotnet,
  • Go to LinkedIn and create a new post
    • Click on Manage Page
    • Add link and then click Post
  • Go to Medium and import the story.
    • 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
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
  • 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! ๐Ÿบ

Cake 1.1.0 Release

Useful information

Repository Pre-requisites

Automated Approach

  • Make sure you have a fork of Homebrew/homebrew-core.
  • Run the Prereqs.ps1 file, using the following as an example .\Prereqs.ps1 -GithubUsername gep13 (use your own username). This will clone a new version of all required repositories.

Let people know that things are happening...

  • Go to the Gitter room for Cake and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [1.1.0 release](https://github.com/cake-build/cake/milestone/77?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the Gitter room for Cake-Contrib and inform people that a release is away to happen. Use a message similar to the following @/all We will soon start preparing for the [1.1.0 release](https://github.com/cake-build/cake/milestone/77?closed=1) of Cake. So this is a friendly reminder to pin your Cake version.
  • Go to the General Channel in the Slack Team for Cake-Contrib and inform peoploe that a release is away to happen. Use a message similar to the following @channel We will soon start preparing for the 1.1.0 release ( https://github.com/cake-build/cake/milestone/77?closed=1 ) of Cake. So this is a friendly reminder to pin your Cake version.
  • 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, 1.1.0 (https://github.com/cake-build/cake/milestone/77?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/tutorials/pinning-cake-version
  • Retweet the above from the cake-contrib twitter 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
    N/A 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 Excel report to track which addins are compatible with this new release of Cake.

When doing a release

  • Create branch locally to match the name of the release, for example git checkout -b release/1.1.0 develop
  • Update releasenotes.md to include 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/1.1.0
  • Build everything (./build.ps1) to make sure it works (we can never be too sure).
  • Push main branch.
  • Make sure that both the AppVeyor, Bitrise Ubuntu and Bitrise OSX 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.
  • From the AppVeyor Log, take a note of the generated Hash from the Publish-HomeBrew task e556aaf3675728ce349569bd19b32492c36a9d9ad97acf3e1e007bab8f6eddfa
  • Switch to develop branch git checkout develop
  • Merge release branch into develop git merge --no-ff release/1.1.0
  • Resolve any merge conflicts
  • Bump the Cake Tool Version number in build.config to the latest released version, i.e. the version you just released
  • Build everything (./build.ps1) to make sure it works.
  • Commit the changes tobuild.config. Use commit message like (build) Updated Cake tool to version 1.1.0
  • Push develop branch.
  • Delete the local release branch that was created git branch -d release/1.1.0 (and the remote one, if pushed to GitHub git push origin --delete release/1.1.0)

After a release/hotfix

  • Make sure that everything has pushed correctly to nuget
  • Make sure that everything has pushed correctly to chocolatey
    • cake.portable NOTE: This package might be subject to moderation, and might not appear immediately
  • Move to homebrew repository
  • Create a new branch for current release git checkout -b cake-1.1.0
  • Open the Formula/cake.rb
  • Update the url (line 7) to be the new download location
  • Update the sha256 (line 8) to be the value that was generated earlier by the Publish-HomeBrew task
  • Commit the changes to cake.rb NOTE: Commit message should use the following format cake 1.1.0 NOTE: Make sure to use a lower case C as that is the preferred formatting in the Homebrew repo
  • Push the new branch to your fork
  • Open a PR against the master branch of Homebrew/homebrew-core
  • Move to example repository
  • Open the tools/packages.config file
  • Update the Cake version number to be the same as the version that you have 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 1.1.0
  • Push branch
  • Move to resources repository
  • N/A Switch to the develop branch git checkout develop
  • Open the packages.config 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 1.1.0
  • Push branch git push
  • N/A Checkout master git checkout master
  • N/A Merge changes from develop branch git merge --no-ff develop
  • N/A Push branch git push
  • Trigger new container builds on Azure Pipelines.
  • Move to website repository
  • Create a branch for a new blog post git checkout -b 1.1.0-Blog-Post master
  • You can get draft blog post using the console secrets\Processes\FetchContributors
    • dotnet restore
    • dotnet run "cake-build" "cake" "v0.38.5" "e3e497a4e63e25376a453435da9673352d674b2a" "\cake1.1.0\repositories\devlead\website\input\blog" "v1.1.0"
  • Bump the Cake Tool Version number in build.config to the latest released version, i.e. the version you just released
  • Commit changes to build.config file using message similar to (build) Updated Cake tool to version 1.1.0
  • Commit blog post using message similar to v1.1.0 Blog Post
  • Push branch and submit pull request
  • Have someone else verify the contents
  • Merge the Pull Request
  • Go to 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 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 Gitter Room and let people know that it was released. Use something like @/all Version 1.1.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to the Cake-Contrib Slack Team and in the General Room let people know that it was released. Use something like @channel Version 1.1.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.
  • Go to reddit and submit link reddit.com/r/cakebuild reddit.com/r/dotnet,
  • Go to reddit and cross post reddit.com/r/dotnet,
  • 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)
    • N/A Import failed this time so used medium Create post API to create draft with canonicalUrl
    • Click on see your story
    • Remove the first line of the imported story
    • Click Publish and enter the tagsDevOps Csharp Release Notes Dotnet Continuous Integration
    • Click Publish
    • https://cakebuildnet.medium.com/cake-v1-1-0-released-1057c267389
  • N/A .NET Foundation Newsletter
  • 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!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.