Skip to content

Commit b6fe45c

Browse files
committed
version wild-card;Xantham helpers
1 parent 2a33c94 commit b6fe45c

27 files changed

Lines changed: 250 additions & 107 deletions

File tree

‎.github/workflows/publish.yml‎

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,23 @@ concurrency:
2020
cancel-in-progress: false
2121

2222
jobs:
23+
support:
24+
if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v')
25+
runs-on: ubuntu-latest
26+
steps:
27+
- uses: actions/checkout@v7
28+
- uses: actions/setup-dotnet@v6
29+
with:
30+
global-json-file: global.json
31+
- name: Check public Fable support helpers
32+
run: dotnet run --project tools/NuGetRelease -- support
33+
- name: Retain support verification evidence
34+
if: always()
35+
uses: actions/upload-artifact@v7
36+
with:
37+
name: nuget-support-check
38+
path: artifacts/nuget-release/0.1.0/public-support/logs/
39+
2340
validate:
2441
if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v')
2542
runs-on: ubuntu-latest
@@ -31,13 +48,11 @@ jobs:
3148
- name: Check release tooling
3249
run: dotnet run --project tools/NuGetRelease -- check
3350
- name: Pack selected libraries
34-
run: dotnet run --project tools/NuGetRelease -- pack
51+
run: dotnet run --project tools/NuGetRelease -- pack --jobs 2
3552
- name: Compile package-only consumers
3653
run: dotnet run --project tools/NuGetRelease -- examples --fable
3754
- name: Check documentation excerpts
3855
run: dotnet run --project tools/NuGetRelease -- snippets --js-root artifacts/nuget-release/0.1.0/consumers-candidate/js
39-
- name: Check public Fable support helpers
40-
run: dotnet run --project tools/NuGetRelease -- support
4156
- name: Retain candidates and verification evidence
4257
if: always()
4358
uses: actions/upload-artifact@v7
@@ -48,12 +63,11 @@ jobs:
4863
artifacts/nuget-release/0.1.0/manifest.json
4964
artifacts/nuget-release/0.1.0/consumers-candidate/results.json
5065
artifacts/nuget-release/0.1.0/consumers-candidate/logs/
51-
artifacts/nuget-release/0.1.0/staged/**/pack.log
52-
artifacts/nuget-release/0.1.0/public-support/logs/
66+
artifacts/nuget-release/0.1.0/pack-logs/
5367
5468
publish:
5569
if: (github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')) || (github.event_name == 'workflow_dispatch' && inputs.publish)
56-
needs: validate
70+
needs: [validate, support]
5771
runs-on: ubuntu-latest
5872
environment: production
5973
permissions:

‎config/nuget-release.json‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"projectUrl": "https://fsprojects.github.io/FSharp.CloudEdge/",
66
"authors": "FSharp.CloudEdge Contributors",
77
"publicDependencies": {
8-
"Xantham.Fable.Core": "0.1.0",
9-
"Xantham.Fable.Core.TS": "0.1.0"
8+
"Xantham.Fable.Core": "0.1.1",
9+
"Xantham.Fable.Core.TS": "0.1.1"
1010
}
1111
}

‎docs/nuget-release.md‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,21 +75,25 @@ From the repository root:
7575
```bash
7676
dotnet run --project tools/NuGetRelease -- plan
7777
dotnet run --project tools/NuGetRelease -- check
78-
dotnet run --project tools/NuGetRelease -- pack
78+
dotnet run --project tools/NuGetRelease -- pack --jobs 2
7979
dotnet run --project tools/NuGetRelease -- verify
8080
dotnet run --project tools/NuGetRelease -- examples --fable
8181
dotnet run --project tools/NuGetRelease -- snippets --js-root artifacts/nuget-release/0.1.0/consumers-candidate/js
8282
dotnet run --project tools/NuGetRelease -- support
8383
```
8484

85-
The pack step compiles the large shared API assembly and can take several minutes. Outputs are under `artifacts/nuget-release/0.1.0`. `manifest.json` records package hashes and dependency order. Consumer validation stages all 19 site projects with package references only, uses a fresh package cache, builds them, and compiles Worker examples through Fable. Logs and partial results remain available if a check fails. This validates packaging and compilation, not hosted Cloudflare service behavior.
85+
The pack step compiles the large shared API assembly and can take several minutes. It builds that assembly alone, then groups independent projects into temporary solutions and invokes native MSBuild with `-maxcpucount:2`. Each group finishes packing before its dependents restore. `--jobs N` adjusts the process limit; the default is at most two processes. Use `--jobs 1` for serial builds or a larger value on a machine with enough CPU and memory.
86+
87+
Outputs are under `artifacts/nuget-release/0.1.0`. `pack-logs/` contains the generated solutions, text logs, and MSBuild binary logs. `manifest.json` records package hashes and dependency order. Consumer validation stages all 19 site projects with package references only, uses a fresh package cache, builds them, and compiles Worker examples through Fable. Logs and partial results remain available if a check fails. This validates packaging and compilation, not hosted Cloudflare service behavior.
8688

8789
Inspect the README, license, dependency versions, source assets, and emitted imports before publishing. The Xantham support packages are owned upstream; use their public packages and report reproducible compatibility failures to their maintainer instead of publishing replacements under those IDs.
8890

8991
## Publish and verify the public feed
9092

9193
Run the **NuGet** workflow on `main` with **publish disabled** first. It builds candidates, checks consumers, and uploads the packages and verification evidence as an artifact. Fix failures before requesting the actual release.
9294

95+
GitHub runs the public support-helper probe in a separate job alongside package validation, so upstream failures appear early. The publication job requires both jobs to succeed. Package compilation uses two MSBuild processes on the standard runner; uploads remain ordered by dependency.
96+
9397
When account ownership, the Trusted Publishing policy, and candidate checks are complete, push the release tag **`v0.1.0`**, or run the workflow manually with **publish enabled**. GitHub repeats validation, obtains temporary credentials, then uploads packages in the manifest's dependency order. A partial upload is possible: NuGet publication is not a transaction across 47 packages. The workflow stops on an upload error rather than silently skipping an existing version. Inspect ownership, versions, and package contents before deciding how to resume.
9498

9599
NuGet package versions are immutable. Do not publish a placeholder `0.1.0` as a test. If an uploaded version is wrong, unlisting does not free that version for replacement; publish a corrected version. [NuGet publication behavior](https://learn.microsoft.com/en-us/dotnet/standard/library-guidance/publish-nuget-package).

‎site/examples/AI/AI.fsproj‎

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<Import Project="../Examples.props" />
33
<ItemGroup>
4-
<PackageReference Include="FSharp.CloudEdge.Runtime.Workers" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
4+
<PackageReference Include="FSharp.CloudEdge.Runtime.Workers" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
55
<ProjectReference Include="$(CloudEdgeSrc)Runtime/Platform/FSharp.CloudEdge.Runtime.Workers/FSharp.CloudEdge.Runtime.Workers.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
6-
<PackageReference Include="FSharp.CloudEdge.Support.AI.V4.Provider" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
6+
<PackageReference Include="FSharp.CloudEdge.Support.AI.V4.Provider" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
77
<ProjectReference Include="$(CloudEdgeSrc)Support/AI/FSharp.CloudEdge.Support.AI.V4.Provider/FSharp.CloudEdge.Support.AI.V4.Provider.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
8-
<PackageReference Include="FSharp.CloudEdge.Support.AI.V4.OpenAICompatible" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
8+
<PackageReference Include="FSharp.CloudEdge.Support.AI.V4.OpenAICompatible" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
99
<ProjectReference Include="$(CloudEdgeSrc)Support/AI/FSharp.CloudEdge.Support.AI.V4.OpenAICompatible/FSharp.CloudEdge.Support.AI.V4.OpenAICompatible.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
10-
<PackageReference Include="FSharp.CloudEdge.Support.AI.V3.Provider" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
10+
<PackageReference Include="FSharp.CloudEdge.Support.AI.V3.Provider" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
1111
<ProjectReference Include="$(CloudEdgeSrc)Support/AI/FSharp.CloudEdge.Support.AI.V3.Provider/FSharp.CloudEdge.Support.AI.V3.Provider.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
12-
<PackageReference Include="FSharp.CloudEdge.Runtime.WorkersAIProvider" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
12+
<PackageReference Include="FSharp.CloudEdge.Runtime.WorkersAIProvider" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
1313
<ProjectReference Include="$(CloudEdgeSrc)Runtime/AI/FSharp.CloudEdge.Runtime.WorkersAIProvider/FSharp.CloudEdge.Runtime.WorkersAIProvider.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
14-
<PackageReference Include="FSharp.CloudEdge.Runtime.AIGatewayProvider" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
14+
<PackageReference Include="FSharp.CloudEdge.Runtime.AIGatewayProvider" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
1515
<ProjectReference Include="$(CloudEdgeSrc)Runtime/AI/FSharp.CloudEdge.Runtime.AIGatewayProvider/FSharp.CloudEdge.Runtime.AIGatewayProvider.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
16-
<PackageReference Include="FSharp.CloudEdge.Runtime.AISearchProvider" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
16+
<PackageReference Include="FSharp.CloudEdge.Runtime.AISearchProvider" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
1717
<ProjectReference Include="$(CloudEdgeSrc)Runtime/AI/FSharp.CloudEdge.Runtime.AISearchProvider/FSharp.CloudEdge.Runtime.AISearchProvider.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
18-
<PackageReference Include="FSharp.CloudEdge.Runtime.AIUtils" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
18+
<PackageReference Include="FSharp.CloudEdge.Runtime.AIUtils" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
1919
<ProjectReference Include="$(CloudEdgeSrc)Runtime/AI/FSharp.CloudEdge.Runtime.AIUtils/FSharp.CloudEdge.Runtime.AIUtils.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
20-
<PackageReference Include="FSharp.CloudEdge.Runtime.AIChat" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
20+
<PackageReference Include="FSharp.CloudEdge.Runtime.AIChat" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
2121
<ProjectReference Include="$(CloudEdgeSrc)Runtime/AI/FSharp.CloudEdge.Runtime.AIChat/FSharp.CloudEdge.Runtime.AIChat.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
2222
</ItemGroup>
2323
<ItemGroup>

‎site/examples/Agents/Agents.fsproj‎

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<Import Project="../Examples.props" />
33
<ItemGroup>
4-
<PackageReference Include="FSharp.CloudEdge.Runtime.Workers" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
4+
<PackageReference Include="FSharp.CloudEdge.Runtime.Workers" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
55
<ProjectReference Include="$(CloudEdgeSrc)Runtime/Platform/FSharp.CloudEdge.Runtime.Workers/FSharp.CloudEdge.Runtime.Workers.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
6-
<PackageReference Include="FSharp.CloudEdge.Runtime.Agents" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
6+
<PackageReference Include="FSharp.CloudEdge.Runtime.Agents" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
77
<ProjectReference Include="$(CloudEdgeSrc)Runtime/Agents/FSharp.CloudEdge.Runtime.Agents/FSharp.CloudEdge.Runtime.Agents.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
8-
<PackageReference Include="FSharp.CloudEdge.Runtime.AgentsAiChatAgent" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
8+
<PackageReference Include="FSharp.CloudEdge.Runtime.AgentsAiChatAgent" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
99
<ProjectReference Include="$(CloudEdgeSrc)Runtime/Agents/FSharp.CloudEdge.Runtime.AgentsAiChatAgent/FSharp.CloudEdge.Runtime.AgentsAiChatAgent.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
10-
<PackageReference Include="FSharp.CloudEdge.Runtime.CodeMode" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
10+
<PackageReference Include="FSharp.CloudEdge.Runtime.CodeMode" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
1111
<ProjectReference Include="$(CloudEdgeSrc)Runtime/Agents/FSharp.CloudEdge.Runtime.CodeMode/FSharp.CloudEdge.Runtime.CodeMode.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
12-
<PackageReference Include="FSharp.CloudEdge.Runtime.Shell" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
12+
<PackageReference Include="FSharp.CloudEdge.Runtime.Shell" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
1313
<ProjectReference Include="$(CloudEdgeSrc)Runtime/Agents/FSharp.CloudEdge.Runtime.Shell/FSharp.CloudEdge.Runtime.Shell.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
14-
<PackageReference Include="FSharp.CloudEdge.Runtime.ShellGit" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
14+
<PackageReference Include="FSharp.CloudEdge.Runtime.ShellGit" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
1515
<ProjectReference Include="$(CloudEdgeSrc)Runtime/Agents/FSharp.CloudEdge.Runtime.ShellGit/FSharp.CloudEdge.Runtime.ShellGit.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
16-
<PackageReference Include="FSharp.CloudEdge.Runtime.AgentsMcpClient" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
16+
<PackageReference Include="FSharp.CloudEdge.Runtime.AgentsMcpClient" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
1717
<ProjectReference Include="$(CloudEdgeSrc)Runtime/Agents/FSharp.CloudEdge.Runtime.AgentsMcpClient/FSharp.CloudEdge.Runtime.AgentsMcpClient.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
18-
<PackageReference Include="FSharp.CloudEdge.Runtime.Voice" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
18+
<PackageReference Include="FSharp.CloudEdge.Runtime.Voice" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
1919
<ProjectReference Include="$(CloudEdgeSrc)Runtime/Agents/FSharp.CloudEdge.Runtime.Voice/FSharp.CloudEdge.Runtime.Voice.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
20-
<PackageReference Include="FSharp.CloudEdge.Runtime.VoiceErrors" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
20+
<PackageReference Include="FSharp.CloudEdge.Runtime.VoiceErrors" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
2121
<ProjectReference Include="$(CloudEdgeSrc)Runtime/Agents/FSharp.CloudEdge.Runtime.VoiceErrors/FSharp.CloudEdge.Runtime.VoiceErrors.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
2222
</ItemGroup>
2323
<ItemGroup>

‎site/examples/AssetUploads/AssetUploads.fsproj‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
</PropertyGroup>
66
<Import Project="../Examples.props" />
77
<ItemGroup>
8-
<PackageReference Include="FSharp.CloudEdge.Core.Api" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
8+
<PackageReference Include="FSharp.CloudEdge.Core.Api" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
99
<ProjectReference Include="$(CloudEdgeSrc)Core/FSharp.CloudEdge.Core.Api/FSharp.CloudEdge.Core.Api.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
10-
<PackageReference Include="FSharp.CloudEdge.Management.Compute" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
10+
<PackageReference Include="FSharp.CloudEdge.Management.Compute" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
1111
<ProjectReference Include="$(CloudEdgeSrc)Management/FSharp.CloudEdge.Management.Compute/FSharp.CloudEdge.Management.Compute.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
1212
</ItemGroup>
1313
<ItemGroup>

‎site/examples/BackgroundWork/BackgroundWork.fsproj‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<Import Project="../Examples.props" />
33
<ItemGroup>
4-
<PackageReference Include="FSharp.CloudEdge.Runtime.Workers" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
4+
<PackageReference Include="FSharp.CloudEdge.Runtime.Workers" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
55
<ProjectReference Include="$(CloudEdgeSrc)Runtime/Platform/FSharp.CloudEdge.Runtime.Workers/FSharp.CloudEdge.Runtime.Workers.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
66
</ItemGroup>
77
<ItemGroup>

‎site/examples/Compute/Compute.fsproj‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<Import Project="../Examples.props" />
33
<ItemGroup>
4-
<PackageReference Include="FSharp.CloudEdge.Runtime.Workers" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
4+
<PackageReference Include="FSharp.CloudEdge.Runtime.Workers" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
55
<ProjectReference Include="$(CloudEdgeSrc)Runtime/Platform/FSharp.CloudEdge.Runtime.Workers/FSharp.CloudEdge.Runtime.Workers.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
6-
<PackageReference Include="FSharp.CloudEdge.Runtime.Sandbox" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
6+
<PackageReference Include="FSharp.CloudEdge.Runtime.Sandbox" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
77
<ProjectReference Include="$(CloudEdgeSrc)Runtime/Compute/FSharp.CloudEdge.Runtime.Sandbox/FSharp.CloudEdge.Runtime.Sandbox.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
8-
<PackageReference Include="FSharp.CloudEdge.Runtime.SandboxBridge" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
8+
<PackageReference Include="FSharp.CloudEdge.Runtime.SandboxBridge" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
99
<ProjectReference Include="$(CloudEdgeSrc)Runtime/Compute/FSharp.CloudEdge.Runtime.SandboxBridge/FSharp.CloudEdge.Runtime.SandboxBridge.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
10-
<PackageReference Include="FSharp.CloudEdge.Runtime.ComputerArtifacts" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
10+
<PackageReference Include="FSharp.CloudEdge.Runtime.ComputerArtifacts" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
1111
<ProjectReference Include="$(CloudEdgeSrc)Runtime/Compute/FSharp.CloudEdge.Runtime.ComputerArtifacts/FSharp.CloudEdge.Runtime.ComputerArtifacts.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
12-
<PackageReference Include="FSharp.CloudEdge.Runtime.Computer" Version="0.1.0" Condition="'$(CloudEdgeUseSource)' != 'true'" />
12+
<PackageReference Include="FSharp.CloudEdge.Runtime.Computer" Version="0.1.*" Condition="'$(CloudEdgeUseSource)' != 'true'" />
1313
<ProjectReference Include="$(CloudEdgeSrc)Runtime/Compute/FSharp.CloudEdge.Runtime.Computer/FSharp.CloudEdge.Runtime.Computer.fsproj" Condition="'$(CloudEdgeUseSource)' == 'true'" />
1414
</ItemGroup>
1515
<ItemGroup>

0 commit comments

Comments
 (0)