-
Notifications
You must be signed in to change notification settings - Fork 26
270 lines (198 loc) · 11.2 KB
/
Copy pathbuild-samples.yml
File metadata and controls
270 lines (198 loc) · 11.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
name: Build Samples
on:
push:
branches: [main]
paths:
- "samples/**"
- ".github/workflows/build-samples.yml"
pull_request:
branches: [main]
paths:
- "samples/**"
- ".github/workflows/build-samples.yml"
permissions:
contents: read
jobs:
dotnet:
name: .NET Samples
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Setup .NET 8
uses: actions/setup-dotnet@v5
with:
dotnet-version: "8.x"
- name: Setup .NET 10
uses: actions/setup-dotnet@v5
with:
dotnet-version: "10.x"
dotnet-quality: "preview"
# Durable Task SDK samples (net10.0)
- name: Build DTS - FunctionChaining
run: dotnet build samples/durable-task-sdks/dotnet/FunctionChaining/Client/Client.csproj && dotnet build samples/durable-task-sdks/dotnet/FunctionChaining/Worker/Worker.csproj
- name: Build DTS - FanOutFanIn
run: dotnet build samples/durable-task-sdks/dotnet/FanOutFanIn/Client/Client.csproj && dotnet build samples/durable-task-sdks/dotnet/FanOutFanIn/Worker/Worker.csproj
- name: Build DTS - SubOrchestrations
run: dotnet build samples/durable-task-sdks/dotnet/SubOrchestrations/Client/Client.csproj && dotnet build samples/durable-task-sdks/dotnet/SubOrchestrations/Worker/Worker.csproj
- name: Build DTS - Monitoring
run: dotnet build samples/durable-task-sdks/dotnet/Monitoring/Client/Client.csproj && dotnet build samples/durable-task-sdks/dotnet/Monitoring/Worker/Worker.csproj
- name: Build DTS - HumanInteraction
run: dotnet build samples/durable-task-sdks/dotnet/HumanInteraction/Client/Client.csproj && dotnet build samples/durable-task-sdks/dotnet/HumanInteraction/Worker/Worker.csproj
- name: Build DTS - EternalOrchestrations
run: dotnet build samples/durable-task-sdks/dotnet/EternalOrchestrations/Client/Client.csproj && dotnet build samples/durable-task-sdks/dotnet/EternalOrchestrations/Worker/Worker.csproj
- name: Build DTS - BoundedCoordinator
run: dotnet build samples/durable-task-sdks/dotnet/BoundedCoordinator/Client/Client.csproj && dotnet build samples/durable-task-sdks/dotnet/BoundedCoordinator/Worker/Worker.csproj
- name: Build DTS - ScheduleWebApp
run: dotnet build samples/durable-task-sdks/dotnet/ScheduleWebApp/ScheduleWebApp.csproj
- name: Build DTS - AspNetWebApp
run: dotnet build samples/durable-task-sdks/dotnet/AspNetWebApp/AspNetWebApp.csproj
- name: Build DTS - OrchestrationVersioning
run: dotnet build samples/durable-task-sdks/dotnet/OrchestrationVersioning/OrchestrationVersioning.csproj
- name: Build DTS - EntitiesSample
run: dotnet build samples/durable-task-sdks/dotnet/EntitiesSample/AccountTransferBackend.csproj
- name: Build DTS - OpenTelemetryTracing
run: dotnet build samples/durable-task-sdks/dotnet/OpenTelemetryTracing/Client/Client.csproj && dotnet build samples/durable-task-sdks/dotnet/OpenTelemetryTracing/Worker/Worker.csproj
- name: Build DTS - LargePayload
run: dotnet build samples/durable-task-sdks/dotnet/LargePayload/LargePayload.csproj
- name: Build DTS - Agents/PromptChaining
run: dotnet build samples/durable-task-sdks/dotnet/Agents/PromptChaining/Shared/Shared.csproj && dotnet build samples/durable-task-sdks/dotnet/Agents/PromptChaining/Worker/Worker.csproj && dotnet build samples/durable-task-sdks/dotnet/Agents/PromptChaining/Client/Client.csproj
# Durable Task SDK Aspire samples (net10.0)
- name: Build DTS - DtsWithAspire
run: dotnet build samples/durable-task-sdks/dotnet/DtsWithAspire/AspireHost/AspireHost.csproj
# Durable Functions samples
- name: Build DF - HelloCities
run: dotnet build samples/durable-functions/dotnet/HelloCities/http/hello_cities.csproj
- name: Build DF - OrderProcessor
run: dotnet build samples/durable-functions/dotnet/OrderProcessor/OrderProcessor.csproj
- name: Build DF - DistributedTracing
run: dotnet build samples/durable-functions/dotnet/DistributedTracing/DistributedTracing.csproj
- name: Build DF - Saga
run: dotnet build samples/durable-functions/dotnet/Saga/DurableFunctionsSaga.csproj
- name: Build DF - PdfSummarizer
run: dotnet build samples/durable-functions/dotnet/PdfSummarizer/pdf-summarizer-dotnet.csproj
- name: Build DF - AiAgentTravelPlanOrchestrator
run: dotnet build samples/durable-functions/dotnet/AiAgentTravelPlanOrchestrator/TravelPlannerFunctions.csproj
- name: Build DF - LargePayload
run: dotnet build samples/durable-functions/dotnet/LargePayload/LargePayload.csproj
- name: Build DF - LargePayloadFanOutFanIn
run: dotnet build samples/durable-functions/dotnet/LargePayloadFanOutFanIn/LargePayloadFanOutFanIn.csproj
- name: Build DF - WorkItemFiltering
run: dotnet build samples/durable-functions/dotnet/WorkItemFiltering/WorkItemFiltering.csproj
- name: Build DF - WorkItemFiltering.AppB
run: dotnet build samples/durable-functions/dotnet/WorkItemFiltering.AppB/AppB.csproj
# Durable Functions Aspire samples (net10.0)
- name: Build DF - AzureFunctionsAndDtsWithAspire
run: dotnet build samples/durable-functions/dotnet/AzureFunctionsAndDtsWithAspire/AspireHost/AspireHost.csproj
# Scenarios
- name: Build Scenario - AutoscalingInACA
run: dotnet build samples/scenarios/AutoscalingInACA/Client/Client.csproj && dotnet build samples/scenarios/AutoscalingInACA/Worker/Worker.csproj
java:
name: Java Samples
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Setup Java 21
uses: actions/setup-java@v5
with:
distribution: "temurin"
java-version: "21"
# Durable Task SDK samples (Gradle)
- name: Build DTS - function-chaining
run: cd samples/durable-task-sdks/java/function-chaining && chmod +x gradlew && ./gradlew build
- name: Build DTS - fan-out-fan-in
run: cd samples/durable-task-sdks/java/fan-out-fan-in && chmod +x gradlew && ./gradlew build
- name: Build DTS - sub-orchestrations
run: cd samples/durable-task-sdks/java/sub-orchestrations && chmod +x gradlew && ./gradlew build
- name: Build DTS - human-interaction
run: cd samples/durable-task-sdks/java/human-interaction && chmod +x gradlew && ./gradlew build
- name: Build DTS - monitoring
run: cd samples/durable-task-sdks/java/monitoring && chmod +x gradlew && ./gradlew build
- name: Build DTS - eternal-orchestrations
run: cd samples/durable-task-sdks/java/eternal-orchestrations && chmod +x gradlew && ./gradlew build
- name: Build DTS - async-http-api
run: cd samples/durable-task-sdks/java/async-http-api && chmod +x gradlew && ./gradlew build
- name: Build DTS - opentelemetry-tracing
run: cd samples/durable-task-sdks/java/opentelemetry-tracing && chmod +x gradlew && ./gradlew build
- name: Build DTS - entities
run: cd samples/durable-task-sdks/java/entities && chmod +x gradlew && ./gradlew build
# Scenario samples (Gradle)
- name: Build Scenario - WorkItemFilteringSplitActivitiesJava
run: cd samples/scenarios/WorkItemFilteringSplitActivitiesJava && chmod +x gradlew && ./gradlew build
# Durable Functions samples (Maven)
- name: Build DF - HelloCities
run: cd samples/durable-functions/java/HelloCities && mvn compile --batch-mode
- name: Build DF - Entities
run: cd samples/durable-functions/java/Entities && mvn compile --batch-mode
python:
name: Python Samples
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: "3.12"
# Durable Task SDK samples
- name: Install DTS - function-chaining
run: pip install -r samples/durable-task-sdks/python/function-chaining/requirements.txt
- name: Install DTS - fan-out-fan-in
run: pip install -r samples/durable-task-sdks/python/fan-out-fan-in/requirements.txt
- name: Install DTS - sub-orchestrations
run: pip install -r samples/durable-task-sdks/python/sub-orchestrations/requirements.txt
- name: Install DTS - human-interaction
run: pip install -r samples/durable-task-sdks/python/human-interaction/requirements.txt
- name: Install DTS - monitoring
run: pip install -r samples/durable-task-sdks/python/monitoring/requirements.txt
- name: Install DTS - async-http-api
run: pip install -r samples/durable-task-sdks/python/async-http-api/requirements.txt
- name: Install DTS - eternal-orchestrations
run: pip install -r samples/durable-task-sdks/python/eternal-orchestrations/requirements.txt
- name: Install DTS - versioning
run: pip install -r samples/durable-task-sdks/python/versioning/requirements.txt
- name: Install DTS - entities
run: pip install -r samples/durable-task-sdks/python/entities/requirements.txt
- name: Install DTS - saga
run: pip install -r samples/durable-task-sdks/python/saga/requirements.txt
- name: Install DTS - opentelemetry-tracing
run: pip install -r samples/durable-task-sdks/python/opentelemetry-tracing/requirements.txt
- name: Install DTS - arXiv_research_agent
run: pip install -r samples/durable-task-sdks/python/arXiv_research_agent/requirements.txt
# Durable Functions samples
- name: Install DF - fan-out-fan-in
run: pip install -r samples/durable-functions/python/fan-out-fan-in/requirements.txt
- name: Install DF - pdf-summarizer
run: pip install -r samples/durable-functions/python/pdf-summarizer/requirements.txt
- name: Install DF - work-item-filtering
run: pip install -r samples/durable-functions/python/work-item-filtering/requirements.txt
- name: Install DF - work-item-filtering-app-b
run: pip install -r samples/durable-functions/python/work-item-filtering-app-b/requirements.txt
# Syntax check all Python files
- name: Syntax check Python files
run: find samples -name "*.py" -not -path "*/__pycache__/*" -exec python -m py_compile {} +
javascript:
name: JavaScript Samples
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: "20"
# Durable Functions samples
- name: Build DF JS - HelloCities
run: cd samples/durable-functions/javascript/HelloCities && npm install
# Frontend (React app)
- name: Build DF - AiAgentTravelPlanOrchestrator Frontend
run: cd samples/durable-functions/dotnet/AiAgentTravelPlanOrchestrator/Frontend && npm install && npm run build
typescript:
name: TypeScript Samples
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: "20"
# Durable Functions samples
- name: Build DF TS - HelloCities
run: cd samples/durable-functions/typescript/HelloCities && npm install && npm run build