cake is a free, open source build & deployment project written in C# and released under MIT. It has 4,200 GitHub stars, 779 forks and 247 open issues, and was last pushed 3 days ago. On this registry it ranks #35 of 84 tracked projects in Build & Deployment, with 5 head-to-head comparisons available. It gained 8 stars over the last 30 tracked days.

What is cake?

What it is

Cake, called C# Make, is cross-platform build automation system. It lives in .NET ecosystem. It lets developers write build logic in C#. That logic can compile code, copy files and folders, run unit tests, compress files, build NuGet packages. Project is MIT-licensed C# software. It provides Cake .NET Tool, Cake Frosting, Cake SDK packages.

Problem Cake solves is need to turn common .NET build tasks into repeatable scripts. Those scripts can run across operating systems and inside continuous-integration pipelines. Instead of only shell commands or tool-specific configuration, team can express compile, test, package, file-handling steps through C# domain-specific language. README and topics point to build automation, build tool, dotnet, dotnetcore, NuGet, NUnit, continuous-integration.

Key capabilities

  • Cake provides C# domain-specific language for build scripts.
  • It can compile code during build workflow.
  • It can copy files and folders during build or packaging tasks.
  • It can run unit tests, with NUnit topic indicating test execution support.
  • It can compress files during build workflow.
  • It can build NuGet packages, connecting Cake to .NET package ecosystem.
  • It offers Cake .NET Tool, Cake Frosting, Cake SDK runners, with released versions on NuGet and development versions on Azure Artifacts.

Who uses it and how

  • .NET developers use Cake to script build steps: compile source code, copy build outputs, run tests, produce NuGet packages.
  • Teams using continuous integration can place Cake inside automated pipelines, because topics and README describe continuous-integration support.
  • Cake project is built on Windows, macOS, Debian, Fedora, CentOS, Ubuntu through Azure Pipelines, AppVeyor, TeamCity, Bitrise.
  • Users preferring package-based installation obtain Cake runners from NuGet for released versions or Azure Artifacts for development versions.
  • Projects already using NuGet and NUnit can use Cake to connect build execution, test execution, package creation.

Getting started

Install released Cake runner such as Cake .NET Tool, Cake Frosting, Cake SDK from NuGet. Use Azure Artifacts development feed when development build needed.

When to use it — and when not to

Cake fits when team already works in C# and .NET and wants build scripts across platforms, integrated with NuGet and NUnit. It is less suitable if hosted build service needed, because README describes package installation and runners, not hosted option. Repository has open issues, so check current state of specific runner or package before adopting Cake for build pipeline.

project readme (upstream, from github) — read inline

Cake

Cake (C# Make) is a build automation system with a C# DSL to do things like compiling code, copy files/folders, running unit tests, compress files and build NuGet packages.

Runner Latest Released Latest Develop
Cake .NET Tool NuGet Azure Artifacts
Cake Frosting NuGet Azure Artifacts
Cake SDK NuGet Azure Artifacts

Continuous integration

Build server Platform Build status Integration tests
Azure Pipelines MacOS Azure Pipelines Mac Build status
Azure Pipelines Windows Azure Pipelines Windows Build status
Azure Pipelines Debian Azure Pipelines Debian Build status
Azure Pipelines Fedora Azure Pipelines Fedora Build status
Azure Pipelines Centos Azure Pipelines Cake Centos status
Azure Pipelines Ubuntu Azure Pipelines Ubuntu Build status
AppVeyor Windows AppVeyor branch AppVeyor branch
TeamCity Windows TeamCity Build Status
Bitrise MacOS Build Status Build Status
Bitrise Debian Build Status Build Status
Bitbucket Pipelines Debian Build Status
GitLab Debian pipeline status
GitHub Windows / Ubuntu/ macOS Build Status
Woodpecker CI Debian Woodpecker CI status Woodpecker CI Status
RWX Ubuntu RWX Build Status RWX Build Status

Code Coverage

Coverage Status

Table of Contents

  1. Documentation
  2. Contributing
  3. Get in touch
  4. License

Documentation

You can read the latest documentation at https://cakebuild.net/.

For a simple example to get started see Setting up a new project.

Contributing

So you’re thinking about contributing to Cake? Great! It’s really appreciated.

Make sure you've read the contribution guidelines before sending that epic pull request. You'll also need to sign the contribution license agreement (CLA) for anything other than a trivial change. NOTE: The .NET Foundation CLA Bot will provide a link to this CLA within the PR that you submit if it is deemed as required.

  • Fork the repository.
  • Create a branch to work in.
  • Make your feature addition or bug fix.
  • Don't forget the unit tests.
  • Send a pull request.

Get in touch

Follow @cakebuild on Mastodon Follow @cakebuild.net on Bluesky

Join the chat at https://github.com/cake-build/cake/discussions

License

Copyright © .NET Foundation, Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio, C. Augusto Proiete, Nils Andresen, and contributors.

Cake is provided as-is under the MIT license. For more information see LICENSE.

Thanks

A big thank you has to go to JetBrains who provide each of the Cake Developers with an Open Source License for ReSharper that helps with the development of Cake.

Sponsors

Our wonderful sponsors:

Sponsors

Backers

Our wonderful backers:

Backers

Code of Conduct

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the .NET Foundation Code of Conduct.

Contribution License Agreement

By signing the CLA, the community is free to use your contribution to .NET Foundation projects.

.NET Foundation

This project is supported by the .NET Foundation.

Frequently asked questions

Is cake free to use?

cake is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does cake do?

:cake: Cake (C# Make) is a cross platform build automation system.

What is cake written in?

cake is primarily written in C#. Its source is publicly available at https://github.com/cake-build/cake, and it has 4,200 GitHub stars.