Skip to content
You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
box

GitHub Action

Cake Action

v1.1.1

Cake Action

box

Cake Action

Run a Cake script as part of your build

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Cake Action

uses: cake-build/[email protected]

Learn more about this action in cake-build/cake-action

Choose a version

Cake for GitHub Actions

GitHub Marketplace GitHub Actions Build GitHub Actions Tests Coveralls

This action allows you to run a Cake script from your GitHub Actions workflow without having to use a bootstrapper.

Usage

Using the Cake action from a GitHub Actions workflow is as simple as referencing this repository from a build step:

steps:
  - name: Run the Cake script
    uses: ecampidoglio/cake-action@master

The Cake action will look for a script named build.cake in your repository's root directory and run it for you using the Cake Tool. All output from the Cake script will be automatically redirected to the build log for inspection.

Inputs

script-path

If your script is in another location, you can specify the path with the script-path input parameter:

steps:
  - name: Run the Cake script
    uses: ecampidoglio/cake-action@master
    with:
      script-path: path/to/script.cake

target

You'll likely want to specify which task to run out of the ones defined in the Cake script. For that, you can use the target parameter:

steps:
  - name: Run the Cake script
    uses: ecampidoglio/cake-action@master
    with:
      target: Task-To-Run

verbosity

You can adjust the amount of information Cake sends to the build log by changing the verbosity level with the verbosity parameter:

steps:
  - name: Run the Cake script
    uses: ecampidoglio/cake-action@master
    with:
      verbosity: Diagnostic

The supported verbosity levels are Quiet, Minimal, Normal, Verbose and Diagnostic. The default level is set to Normal.

cake-version

By default, the Cake action will run your script using the latest stable version of the Cake .NET Core Global tool. However, if for some reason you want to use a specific version of Cake (for compatibility with older third-party addins, for example), you can do so by specifying the version number in the cake-version parameter:

steps:
  - name: Run the Cake script
    uses: ecampidoglio/cake-action@master
    with:
      cake-version: 0.30.0

cake-bootstrap

If you're referencing any custom modules from within your script, you'll have to bootstrap them before the script runs. The Cake action can do this extra step for you; all you have to do is set the cake-bootstrap parameter to true:

steps:
  - name: Run the Cake script
    uses: ecampidoglio/cake-action@master
    with:
      cake-bootstrap: true

Cross-platform

Since the Cake Tool is built on .NET Core, the Cake action will run on any of the virtual environments supported by GitHub Actions, namely Linux, Windows and macOS.

This allows you to define your build step exactly once and run it on multiple operating systems in parallel by defining a build matrix:

jobs:
  build:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [windows-latest, ubuntu-latest, macOS-latest]
    steps:
      - name: Get the sources
        uses: actions/checkout@v1
      - name: Run the build script
        uses: ecampidoglio/cake-action@master
        with:
          target: Build

You can read more about how to define a build matrix in the workflow syntax for GitHub Actions.