Skip to content

Commit 26efaad

Browse files
authored
Add CONTRIBUTING.md (#100)
1 parent ca16f78 commit 26efaad

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

CONTRIBUTING.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Contributor Onboarding
2+
This contributor guide explains how to make and test changes to Durable Functions in PowerShell.
3+
Thank you for taking the time to contribute to the Durable Functions PowerShell SDK!
4+
5+
## Table of Contents
6+
7+
- [Relevant Docs](#relevant-docs)
8+
- [Prerequisites](#prerequisites)
9+
- [Pull Request Change Flow](#pull-request-change-flow)
10+
- [Testing with a Durable Functions app](#testing-with-a-durable-functions-app)
11+
- [Debugging .NET packages from a Durable Functions PowerShell app](#debugging-net-packages-from-a-durable-functions-java-app)
12+
13+
## Relevant Docs
14+
- [Durable Functions Overview](https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview)
15+
- [Durable Functions Application Patterns](https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview?tabs=in-process%2Cnodejs-v3%2Cv1-model&pivots=java#application-patterns)
16+
- [Azure Functions PowerShell Quickstart](https://learn.microsoft.com/en-us/azure/azure-functions/durable/quickstart-powershell-vscode)
17+
18+
## Prerequisites
19+
- Visual Studio Code
20+
- [Azure Functions Core Tools](https://learn.microsoft.com/en-us/azure/azure-functions/functions-run-local?tabs=windows%2Cisolated-process%2Cnode-v4%2Cpython-v2%2Chttp-trigger%2Ccontainer-apps&pivots=programming-language-java)
21+
22+
## Pull Request Change Flow
23+
24+
The general flow for making a change to the library is:
25+
26+
1. 🍴 Fork the repo (add the fork via `git remote add me <clone url here>`)
27+
2. 🌳 Create a branch for your change (generally branch from dev) (`git checkout -b my-change`)
28+
3. 🛠 Make your change
29+
4. ✔️ Test your change
30+
5. ⬆️ Push your changes to your fork (`git push me my-change`)
31+
6. 💌 Open a PR to the main branch
32+
7. 📢 Address feedback and make sure tests pass (yes even if it's an "unrelated" test failure)
33+
8. 📦 [Rebase](https://git-scm.com/docs/git-rebase) your changes into meaningful commits (`git rebase -i HEAD~N` where `N` is commits you want to squash)
34+
9. :shipit: Rebase and merge (This will be done for you if you don't have contributor access)
35+
10. ✂️ Delete your branch (optional)
36+
37+
## Testing with a Durable Functions app
38+
39+
The following instructions explain how to test changes in a Durable Functions PowerShell app.
40+
41+
1. After making changes, start Azurite.
42+
2. Run `./build.ps1`
43+
3. Remove 'AzureFunctions.PowerShell.Durable.SDK' = '2.*' from requirements.psd1 in your test app
44+
4. Copy the Modules folder from the durableApp E2E test app in the PowerShell SDK to your test app
45+
5. In Visual Studio Code, run `func host start` or press F5
46+
47+
## Debugging .NET packages from a Durable Functions PowerShell app
48+
49+
If you want to debug into the Durable Task or any of the .NET bits, follow the instructions below:
50+
51+
1. If you would like to debug a custom local WebJobs extension package then create the custom package, place it in a local directory, and then run `func extensions install --package Microsoft.Azure.WebJobs.Extensions.DurableTask --version <VERSION>`. If you update the version while debugging and the new version doesn't get picked up, then try running `func extensions install` to get the new changes.
52+
2. Make sure the Durable Functions PowerShell debugging is set up already and the debugger has started the `func` process.
53+
3. In the VSCode editor for DurableTask, click Debug -> .NET Core Attach Process, search for the functions dotnet.exe process and attach to it.
54+
4. Add a breakpoint in both editors and continue debugging.

0 commit comments

Comments
 (0)