You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 [5.0.0 release](https://github.com/cake-build/cake/milestone/91?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, 5.0.0 (https://github.com/cake-build/cake/milestone/91?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/5.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 maingit merge --no-ff release/5.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/5.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 5.0.0
Push develop branch.
Delete the local release branch that was created git branch -d release/5.0.0 (and the remote one, if pushed to GitHub git push origin --delete release/5.0.0)
After a release/hotfix
Make sure that everything has been pushed correctly to NuGet
Create a branch for a new blog post git checkout -b 5.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" "v4.2.0" "edafec7be7ba899dc2a6c676ac8be400b837c0f2" "../../../../cake-build/website/input/blog/" v5.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 5.0.0
Commit blog post using a message similar to v5.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 5.0.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.Tool :cake: :rocket:
Useful information
Repository Pre-requisites
Automated Approach
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...
@channel We will soon start preparing for the [5.0.0 release](https://github.com/cake-build/cake/milestone/91?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake:
We are starting to prepare our next release, 5.0.0 (https://github.com/cake-build/cake/milestone/91?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/
GitHub Issues Pre-requisites
When doing a release
git checkout -b release/5.0.0 develop
ReleaseNotes.md
to include the next version number as a placeholder and save the fileReleaseNotes
task (.\build.ps1 --target=ReleaseNotes
)ReleaseNotes.md
with generated content (making sure to keep the formatting the same)./build.ps1
) to make sure it works.ReleaseNotes.md
andSolutionInfo.cs
. Use comment like(build) Updated version and release notes
main
branch (git checkout main
)main
git merge --no-ff release/5.0.0
./build.ps1
) to make sure it works (we can never be too sure).main
branch.develop
branchgit checkout develop
git merge --no-ff release/5.0.0
.config\dotnet-tools.json
to the latest released version, i.e. the version you just released./build.ps1
) to make sure it works..config\dotnet-tools.json
. Use commit message like(build) Updated Cake Tool to version 5.0.0
develop
branch.git branch -d release/5.0.0
(and the remote one, if pushed to GitHubgit push origin --delete release/5.0.0
)After a release/hotfix
N/A
Cake (deprecated with v2.0.0)N/A
Cake.CoreCLR (deprecated with v2.0.0).config\dotnet-tools.json
to the latest released version, i.e. the version you just released./build.ps1
or./build.sh
) to make sure it works.(build) Updated Cake tool to version 5.0.0
dotnet-tool/.config/dotnet-tools.json
file(build) Updated Cake tool to version 5.0.0
git push
Update Cake to version 5.0.0
git checkout -b feature/gh-xxx develop
./build.ps1
or./build.sh
) to make sure it works.(GH-xxx) Updated Cake tool to version 5.0.0
git checkout -b 5.0.0-Blog-Post master
secrets\Processes\FetchContributors
dotnet run -- "cake-build" "cake" "v4.2.0" "edafec7be7ba899dc2a6c676ac8be400b837c0f2" "../../../../cake-build/website/input/blog/" v5.0.0
.config\dotnet-tools.json
to the latest released version, i.e. the version you just released.config\dotnet-tools.json
file using message similar to(build) Updated Cake tool to version 5.0.0
v5.0.0 Blog Post
@channel Version 5.0.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.Tool :cake: :rocket:
DevOps
Csharp
Release Notes
Dotnet
Continuous Integration
Publish Now
The text was updated successfully, but these errors were encountered: