cukebuild icon indicating copy to clipboard operation
cukebuild copied to clipboard

CUKE Build for .NET

CUKE Build

CUKE is a free and open source cross-platform build automation system with a Gherkin DSL for tasks such as compiling code, copying files and folders, running unit tests, compressing files and building NuGet packages. CUKE scripts is readable by everyone within the organization, making it easier for business owners to participate in the build automation process.

Getting started

Create a tool manifest available in your repository or create one using the following command:

dotnet new tool-manifest

Install CUKE as a local tool using the dotnet tool command:

dotnet tool install CUKE.Tool

Example script

Feature: Build the App

  # Clean
  Scenario: Clean
    Given artifacts directory exists
    When the build is started
    Then the artifacts directory is cleaned

  # Restore
  Scenario: Restore
    Given the project contains package references
    And clean has been executed
    When the build is started
    Then NuGet packages are restored

  # Build
  Scenario: Build
    Given restore has been executed
    When the build is started
    Then the project is built using MSBuild

  # Test
  Scenario: Test
    Given build has been executed
    When the build is started
    Then the project is tested using XUnit

  # Package
  Scenario: Package
    Given test has been executed
    And all tests pass
    When the build is started
    Then the project is packaged as NuGet packages

  # Push
  Scenario: Push
    Given NuGet packages exist
    And branch is main
    When the build is started
    Then the packages are pushed to nuget.org

Run the script.

dotnet cuke build build.cuke

IDE Support

Visual Studio Code comes with full IDE support for CUKE through the Cucumber extension

Visual Studio Code

Acknowledgements

Cucumber photo by Markus Winkler on Unsplash.