{"id":19814854,"url":"https://github.com/cake-build/cake-action","last_synced_at":"2025-04-30T10:12:55.654Z","repository":{"id":40547076,"uuid":"217016075","full_name":"cake-build/cake-action","owner":"cake-build","description":":cake::octocat: Run Cake (C# Make) scripts in your GitHub Actions workflows.","archived":false,"fork":false,"pushed_at":"2025-04-15T09:24:33.000Z","size":1113,"stargazers_count":45,"open_issues_count":2,"forks_count":13,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-04-30T10:12:39.960Z","etag":null,"topics":["actions","build-automation","build-tool","cake-build","continuous-delivery","continuous-integration","github","github-actions","hacktoberfest"],"latest_commit_sha":null,"homepage":"https://cakebuild.net","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cake-build.png","metadata":{"funding":{"open_collective":"cake"},"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-23T09:13:00.000Z","updated_at":"2025-04-15T09:24:37.000Z","dependencies_parsed_at":"2023-02-19T02:00:52.894Z","dependency_job_id":"c31e458f-7acf-41df-b488-8ba77cc4d090","html_url":"https://github.com/cake-build/cake-action","commit_stats":{"total_commits":210,"total_committers":4,"mean_commits":52.5,"dds":0.1523809523809524,"last_synced_commit":"e313098c20bca582d10e19cbae215378d1f3b903"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cake-build%2Fcake-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cake-build%2Fcake-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cake-build%2Fcake-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cake-build%2Fcake-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cake-build","download_url":"https://codeload.github.com/cake-build/cake-action/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251683356,"owners_count":21626953,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actions","build-automation","build-tool","cake-build","continuous-delivery","continuous-integration","github","github-actions","hacktoberfest"],"created_at":"2024-11-12T10:03:30.922Z","updated_at":"2025-04-30T10:12:55.641Z","avatar_url":"https://github.com/cake-build.png","language":"TypeScript","readme":"# Cake for GitHub Actions\n\n[![GitHub Marketplace](https://img.shields.io/github/v/release/cake-build/cake-action?label=Marketplace\u0026sort=semver)](https://github.com/marketplace/actions/cake-action) [![GitHub Actions Build](https://github.com/cake-build/cake-action/workflows/Build/badge.svg)](https://github.com/cake-build/cake-action/actions?workflow=Build) [![GitHub Actions Tests](https://github.com/cake-build/cake-action/workflows/Test/badge.svg)](https://github.com/cake-build/cake-action/actions?workflow=Test) [![Coveralls](https://coveralls.io/repos/github/cake-build/cake-action/badge.svg?branch=master)](https://coveralls.io/github/cake-build/cake-action?branch=master)\n\nThis action allows you to run a Cake script or Cake Frosting project from your GitHub Actions workflow without having to use a [bootstrapper](https://github.com/cake-build/resources).\n\n## Usage\n\nUsing the Cake action from a GitHub Actions workflow is as simple as referencing [this repository](https://github.com/cake-build/cake-action) from a [build step](https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idsteps):\n\n```yml\nsteps:\n  - name: Run the Cake script\n    uses: cake-build/cake-action@v3\n```\n\nThe 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](https://www.nuget.org/packages/Cake.Tool/).  You can also specify the path to your Cake script using the `script-path` option. If you are using a [Cake Frosting](https://cakebuild.net/docs/running-builds/runners/cake-frosting) project instead, you must specify the path to your `.csproj` file with the `project-path` parameter.\n\nAll output from the Cake script or Cake Frosting project is automatically redirected to the build log for inspection.\n\n## Inputs\n\n### `script-path`\n\nIf your Cake script is located somewhere other than the root directory of your project, you can specify its path using the `script-path` [input parameter](https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepswith):\n\n```yml\nsteps:\n  - name: Run the Cake script\n    uses: cake-build/cake-action@v3\n    with:\n      script-path: path/to/script.cake\n```\n\n### `project-path`\n\nIf you are using [Cake Frosting](https://cakebuild.net/docs/running-builds/runners/cake-frosting), you must specify the path to the project file with the `project-path` [input parameter](https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepswith):\n\n```yml\nsteps:\n  - name: Run Cake Frosting\n    uses: cake-build/cake-action@v3\n    with:\n      project-path: path/to/build.csproj\n```\n\n### `target`\n\nYou'll likely want to specify which task to run out of the ones defined in the Cake script or Cake Frosting project. For that, you can use the `target` parameter:\n\n```yml\nsteps:\n  - name: Run the Cake script\n    uses: cake-build/cake-action@v3\n    with:\n      target: Task-To-Run\n```\n\n### `verbosity`\n\nYou can adjust the amount of information Cake sends to the build log by changing the [verbosity level](https://cakebuild.net/api/Cake.Core.Diagnostics/Verbosity/) with the `verbosity` parameter:\n\n```yml\nsteps:\n  - name: Run the Cake script\n    uses: cake-build/cake-action@v3\n    with:\n      verbosity: Diagnostic\n```\n\nThe supported verbosity levels are `Quiet`, `Minimal`, `Normal`, `Verbose` and `Diagnostic`. The default level is set to `Normal`.\n\n### `dry-run`\n\nWhile developing a script, you'll sometimes want to see which tasks would be triggered by a given target _without_ actually running them. That's exactly what the `dry-run` parameter is for:\n\n```yml\nsteps:\n  - name: Run the Cake script\n    uses: cake-build/cake-action@v3\n    with:\n      dry-run: true\n```\n\nWhen `dry-run` is set to `true`, Cake will print out the names of the tasks to run according to the dependency graph, but it won't perform any of the instructions defined in them.\n\n### `arguments`\n\nIf your script defines any custom parameters, you can specify arguments for them by using the `arguments` parameter:\n\n```yml\nsteps:\n  - name: Run the Cake script\n    uses: cake-build/cake-action@v3\n    with:\n      arguments: |\n        name: value\n        configuration: Release\n```\n\nThe arguments are defined in a [multi-line string literal](https://yaml.org/spec/1.2/spec.html#id2795688) where each argument is on a separate line in the format `name: value`. Keep in mind that the values you specify here are passed _as is_ to the Cake script; this means that characters like quotes are kept intact (for example, `name: 'value'` will result in `--name='value'` being passed to the script).\n\n### `cake-version`\n\nBy default, the Cake action runs your script using the latest _stable_ version of the [Cake .NET Core Global tool](https://www.nuget.org/packages/Cake.Tool/).\n\nIf you need to [use a specific version of Cake](https://cakebuild.net/docs/tutorials/pinning-cake-version) (e.g. for compatibility with older addins), you can specify it with the `cake-version` parameter:\n\n```yml\nsteps:\n  - name: Run the Cake script\n    uses: cake-build/cake-action@v3\n    with:\n      cake-version: 0.30.0\n```\n\nIf you're pinning your Cake version using a [tool manifest file](https://docs.microsoft.com/en-us/dotnet/core/tools/global-tools#install-a-local-tool), you can have the action restore any local tools, including Cake, by specifying `tool-manifest` as the argument for `cake-version`:\n\n```yml\nsteps:\n  - name: Run the Cake script\n    uses: cake-build/cake-action@v3\n    with:\n      cake-version: tool-manifest\n```\n\n\u003e :information_source: This option is ignored when [using Cake Frosting projects](#project-path).\n\n### `cake-bootstrap`\n\nAs of [Cake 1.0.0](https://github.com/cake-build/cake/releases/tag/v1.0.0), any [custom modules](https://cakebuild.net/docs/fundamentals/modules) that you reference in your script are [bootstrapped automatically](https://github.com/cake-build/cake/issues/2833) upon running it.\n\nFor older versions of Cake, you need to explicitly [bootstrap](https://cakebuild.net/docs/fundamentals/preprocessor-directives#module-directive) any referenced modules before running the script. The Cake action can handle this extra step for you by setting the `cake-bootstrap` parameter to `explicit`:\n\n```yml\nsteps:\n  - name: Run the Cake script\n    uses: cake-build/cake-action@v3\n    with:\n      cake-bootstrap: explicit\n      cake-version: 0.38.5\n```\n\nIf you're using Cake 1.0.0 or later and wish to opt out of the automatic bootstrapping of modules, you can set the `cake-bootstrap` parameter to `skip`:\n\n```yml\nsteps:\n  - name: Run the Cake script\n    uses: cake-build/cake-action@v3\n    with:\n      cake-bootstrap: skip\n```\n\nThe default value is `auto`, which means modules will be automatically bootstrapped on Cake 1.0.0 or later.\n\n\u003e :information_source: This option is ignored when [using Cake Frosting projects](#script-path).\n\n## Cross-platform\n\nSince the [Cake Tool](https://www.nuget.org/packages/Cake.Tool/) and [Cake Frosting](https://www.nuget.org/packages/Cake.Frosting) are built on .NET Core, the Cake action will run on any of the [virtual environments](https://help.github.com/en/github/automating-your-workflow-with-github-actions/software-in-virtual-environments-for-github-actions) supported by GitHub Actions, namely Linux, Windows and macOS.\n\nThis allows you to define your build step exactly _once_ and run it on multiple operating systems _in parallel_ by defining a [build matrix](https://help.github.com/en/github/automating-your-workflow-with-github-actions/configuring-a-workflow#configuring-a-build-matrix):\n\n```yml\njobs:\n  build:\n    runs-on: ${{ matrix.os }}\n    strategy:\n      matrix:\n        os: [windows-latest, ubuntu-latest, macOS-latest]\n    steps:\n      - name: Get the sources\n        uses: actions/checkout@v1\n      - name: Run the build script\n        uses: cake-build/cake-action@v3\n        with:\n          target: Build\n```\n\nYou can read more about how to define a build matrix in the [workflow syntax](https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategy) for GitHub Actions.\n","funding_links":["https://opencollective.com/cake"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcake-build%2Fcake-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcake-build%2Fcake-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcake-build%2Fcake-action/lists"}