-
-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Useful information
Repository Pre-requisites
Automated Approach
- Run the
Prereqs.ps1file, using the following as an example.\Prereqs.ps1 -GithubUsername devlead(use your own username). This will clone a new version of all required repositories.
Let people know that things are happening...
- Please go to the General Channel in the Slack Team for Cake-Contrib and let people know that a release is away. Use a message similar to the following
@channel We will soon start preparing for the [4.1.0 release](https://github.com/cake-build/cake/milestone/90?closed=1) of Cake. So this is a friendly reminder to pin your Cake version! :pushpin: :cake: - Using the Cake Twitter account, tweet to let people know that the release is away to happen. Use something like the following
We are starting to prepare our next release, 4.1.0 (https://github.com/cake-build/cake/milestone/90?closed=1). This is your friendly reminder that if you haven't pinned to a specific version of Cake, you should do it now :-) 📌 🍰 https://cakebuild.net/docs/writing-builds/reproducible-builds/ - 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.1.0 develop - Update
ReleaseNotes.mdto include the next version number as a placeholder and save the file - Create release notes on GitHub using the
ReleaseNotestask (.\build.ps1 --target=ReleaseNotes) - Update
ReleaseNotes.mdwith generated content (making sure to keep the formatting the same) - Build everything (
./build.ps1) to make sure it works. - Commit the changes to
ReleaseNotes.mdandSolutionInfo.cs. Use comment like(build) Updated version and release notes - At this point, if you want to share the work to date, and validate something, push the local release branch to GitHub
- Assuming everything is ok, switch to
mainbranch (git checkout main) - Merge release branch to the
maingit merge --no-ff release/4.1.0 - Build everything (
./build.ps1) to make sure it works (we can never be too sure). - Push
mainbranch. - Make sure that all builds succeed before going any further.
- Assuming that everything went ok, go to the draft release in GitHub and click Edit
- Click the Publish Release button
- This will trigger another build in AppVeyor, but this time with a tag.
- Switch to
developbranchgit checkout develop - Merge release branch into develop
git merge --no-ff release/4.1.0 - Resolve any merge conflicts
- Bump the Cake Tool Version number in
.config\dotnet-tools.jsonto the latest released version, i.e. the version you just released - Build everything (
./build.ps1) to make sure it works. - Commit the changes to
.config\dotnet-tools.json. Use commit message like(build) Updated Cake Tool to version 4.1.0 - Push
developbranch. - Delete the local release branch that was created
git branch -d release/4.1.0(and the remote one, if pushed to GitHubgit push origin --delete release/4.1.0)
After a release/hotfix
- Make sure that everything has been pushed correctly to NuGet
N/ACake (deprecated with v2.0.0)- Cake.Tool
- Cake.Frosting
N/ACake.CoreCLR (deprecated with v2.0.0)- Cake.Core
- Cake.Common
- Cake.NuGet
- Cake.Cli
- Cake.DotNetTool.Module
- Cake.Testing
- Cake.Testing.Xunit
- Move to example repository
- Bump the Cake Tool Version number in
.config\dotnet-tools.jsonto the latest released version, i.e. the version you just released - Build everything (
./build.ps1or./build.sh) to make sure it works. - Commit changes. Use message similar to
(build) Updated Cake tool to version 4.1.0 - Push branch
- Bump the Cake Tool Version number in
- Move to resources repository
- Open the
dotnet-tool/.config/dotnet-tools.jsonfile - Update the Cake version number to be the same as the version that you have just released
- Commit changes. Use message similar to
(build) Updated Cake tool to version 4.1.0 - Push branch
git push
- Open the
- Trigger new container builds on GitHub Actions.
- Move to bakery repository
- Create an issue
Update Cake to version 4.1.0 - Create a branch for example
git checkout -b feature/gh-xxx develop - Update Cake.Core to 4.1.0 in src\Cake.Bakery\Cake.Bakery.csproj
- Update Cake.Core to 4.1.0 in src\Cake.Scripting\Cake.Scripting.csproj
- Update Cake.Core to 4.1.0 in src\Cake.Scripting.Tests\Cake.Scripting.Tests.csproj
- Update Cake.NuGet to 4.1.0 in src\Cake.Bakery\Cake.Bakery.csproj
- Update Cake.Common to 4.1.0 in src\Cake.Scripting\Cake.Scripting.csproj
- Update Cake.Testing to 4.1.0 in src\Cake.Scripting.Tests\Cake.Scripting.Tests.csproj
- Build everything (
./build.ps1or./build.sh) to make sure it works. - Commit changes. Use message similar to
(GH-xxx) Updated Cake tool to version 4.1.0 - Push the branch and submit a pull request
- Have someone else verify the contents
- Create an issue
- Move to website repository
- Create a branch for a new blog post
git checkout -b 4.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" "v4.0.0" "a19ff93e1383ef8bc2fe0a1885a3fc011c60242e" "../../../../cake-build/website/input/blog/" v4.1.0
- Bump the Cake Tool Version number in
.config\dotnet-tools.jsonto the latest released version, i.e. the version you just released - Commit changes to
.config\dotnet-tools.jsonfile using message similar to(build) Updated Cake tool to version 4.1.0
- Create a branch for a new blog post
- Commit blog post using a message similar to
v4.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 4.1.0 of the Cake has just been released, https://www.nuget.org/packages/Cake.Tool :cake: :rocket: - Go to reddit and submit link reddit.com/r/cakebuild,
- 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 tags
DevOpsCsharpRelease NotesDotnetContinuous 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!
Metadata
Metadata
Assignees
Labels
No labels