Skip to content

Contributor Get Started Guide

Lilian Kasem edited this page Aug 11, 2025 · 9 revisions

Functions Core Tools: Get Started

Get started guide for Functions Core Tools developers and contributors.

Pre-requisites

  • .NET 6.0
  • .NET 8.0
  • .NET 8.0

Installation

Build

  • dotnet build Azure.Functions.Cli.sln
  • dotnet publish src/Cli/func --runtime osx-arm64 --sc --output /tmp/cli
    • Use the appropriate runtime for your platform i.e. osx-x64, linux-x64, win-x64, win-arm64
  • export FUNC_PATH=/tmp/cli/func

Run

After you have built the CLI and set FUNC_PATH, you can run the CLI like normal e.g:

$FUNC_PATH --help
$FUNC_PATH init
$FUNC_PATH new

Test

  1. Ensure that FUNC_PATH environment variable is set to the path of the CLI for your choosen platform from either the artifacts folder or tmp folder
    • export FUNC_PATH=/Users/likasem/source/functions/azure-functions-core-tools/artifacts/osx-arm64/func
    • OR
    • export FUNC_PATH=/tmp/cli/func
  2. Run tests
    • dotnet test test/Azure.Functions.Cli.Tests/Azure.Functions.Cli.Tests.csproj

Troubleshooting

OSX Only: Apple malware warning

If you're trying to test a pre-build of Core Tools that you downloaded from the CI pipeline, you may get an error message:

Apple could not verify “func” is free of malware that may harm your Mac or compromise your privacy.

This is because the packages you're downloading are not notarized and are getting flagged by Gatekeeper. You can remove the quarantine for that by using:

  • xattr -r -d com.apple.quarantine <path-to-func-cli-folder>

Note: do this at your own risk and if you're confident of the source you're getting the CLI from.

Clone this wiki locally