2 Commits

Author SHA1 Message Date
Claire Kuang 4ec42cde84 server and remote transport fixes
build and deploy Speckle functions / publish-automate-function-version (push) Has been cancelled
2024-01-31 12:59:57 +00:00
Claire Kuang 86e4759531 updates to use 2.18 prerelease nugets
build and deploy Speckle functions / publish-automate-function-version (push) Has been cancelled
2024-01-31 11:54:23 +00:00
2 changed files with 27 additions and 13 deletions
@@ -2,6 +2,7 @@ using Objects;
using Speckle.Automate.Sdk;
using Speckle.Automate.Sdk.Schema;
using Speckle.Core.Api;
using Speckle.Core.Credentials;
using Speckle.Core.Models;
using Speckle.Core.Models.Extensions;
using Speckle.Core.Transports;
@@ -46,19 +47,25 @@ static class AutomateFunction
Base? testingCommitObject = await automationContext.ReceiveVersion();
Console.WriteLine("Received test version: " + testingCommitObject);
Console.WriteLine("Receiving release version");
using ServerTransport transport =
new(
automationContext.SpeckleClient.Account,
automationContext.AutomationRunData.ProjectId
);
ServerTransport serverTransport = new ServerTransport(
automationContext.SpeckleClient.Account,
automationContext.AutomationRunData.ProjectId
);
Base? releaseCommitObject = await Operations
.Receive(releaseCommit.referencedObject, transport)
.Receive(
(
await automationContext.SpeckleClient
.CommitGet(automationContext.AutomationRunData.ProjectId, releaseCommit.id)
.ConfigureAwait(continueOnCapturedContext: false)
).referencedObject,
serverTransport,
new MemoryTransport()
)
.ConfigureAwait(continueOnCapturedContext: false);
if (releaseCommitObject == null)
{
throw new Exception("Commit root object was null");
}
Console.WriteLine("Received release version: " + releaseCommitObject);
// flatten both commits
@@ -67,7 +74,10 @@ static class AutomateFunction
var releaseCommitObjectsDict = new Dictionary<string, Base>();
foreach (var releaseObject in releaseCommitObjects)
{
if (!releaseCommitObjectsDict.ContainsKey(releaseObject.applicationId))
if (
releaseObject.applicationId != null
&& !releaseCommitObjectsDict.ContainsKey(releaseObject.applicationId)
)
{
releaseCommitObjectsDict.Add(releaseObject.applicationId, releaseObject);
}
@@ -84,7 +94,10 @@ static class AutomateFunction
int unchangedCount = 0;
foreach (Base testObject in testCommitObjects)
{
if (releaseCommitObjectsDict.ContainsKey(testObject.applicationId))
if (
testObject.applicationId != null
&& releaseCommitObjectsDict.ContainsKey(testObject.applicationId)
)
{
Base releaseObject = releaseCommitObjectsDict[testObject.applicationId];
@@ -98,8 +111,9 @@ static class AutomateFunction
{
modifiedCount++;
var diffDictionary = new Dictionary<string, string>();
Dictionary<string, object> releaseObjectPropDict = releaseObject.GetMembers();
Dictionary<string, object> testObjectPropDict = testObject.GetMembers();
Dictionary<string, object?> releaseObjectPropDict =
releaseObject.GetMembers();
Dictionary<string, object?> testObjectPropDict = testObject.GetMembers();
foreach (var entry in testObjectPropDict)
{
if (releaseObjectPropDict.ContainsKey(entry.Key))
@@ -8,7 +8,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Speckle.Automate.Sdk" Version="2.17.0-automate3" />
<PackageReference Include="Speckle.Objects" Version="2.17.0-automate3" />
<PackageReference Include="Speckle.Automate.Sdk" Version="2.18.0-fileInput" />
<PackageReference Include="Speckle.Objects" Version="2.18.0-fileInput" />
</ItemGroup>
</Project>