Skip to content

feat(marketplace): runs per function (functionId) and run details - #93

Merged
Domantas merged 3 commits into
mainfrom
audit/marketplace-runs
Oct 13, 2026
Merged

Domantas merged 3 commits into
mainfrom
audit/marketplace-runs

Conversation

@Domantas

Copy link
Copy Markdown
Contributor

What changed

  • Hub types regenerated from the running gateway (refactoringV2 81f87e446, item gw-runs, owner decision D10 "runs per function"): GetMarketplaceFunctionRuns gains functionId (exactly one of functionId / triggerId / taskId); MarketplaceFunctionRunDto gains status, correlationId, hasDetails, triggerId, taskId. Additive only; Api types untouched.
  • New test for a function's own runs: GET /{version}/code/marketplace/functions/runs with exactly functionId + limit on the query and no body (tests/Norbix.Hub.Tests/MarketplaceRunsTests.cs).
  • Run details: new hand-written helper NorbixHubClient.GetMarketplaceFunctionRunDetailsAsync(correlationId) (next to EchoAsync in NorbixHubClient.Convenience.cs) over the generated Logs.GetLogsByCorrelationIdAsync; README section "Marketplace function runs".

Tests

dotnet build 0 warnings; dotnet test Norbix.Sdk.sln — Hub.Tests 248 (+3), Sdk.Tests 84, Coexistence 2, 0 failed. Code coverage snapshot accepted (query gains functionId, row gains HasDetails).

Notes

  • Expected release: v3.20.0 (feat → minor). No !, no breaking change.
  • The details route's query field is targetCorrelationId (the gateway DTO property), not correlationId — ?correlationId= binds to the request's own correlation id and the gateway answers 400.
  • Task file: codemash-io/sdks-typegen, branch audit/marketplace-runs, docs/tasks/marketplace-runs-sdks.md.

🤖 Generated with Claude Code

Domantas and others added 2 commits October 13, 2026 09:07
…46 (runs per function)

GetMarketplaceFunctionRuns gains functionId (one of functionId / triggerId /
taskId); MarketplaceFunctionRunDto gains status, correlationId, hasDetails,
triggerId and taskId. Additive only; Api types unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…unctionRunDetailsAsync

Code.GetMarketplaceFunctionRunsAsync sends FunctionId from the regenerated
request (one of FunctionId / TriggerId / TaskId); rows carry Status,
CorrelationId, HasDetails, TriggerId and TaskId. NorbixHubClient gains
GetMarketplaceFunctionRunDetailsAsync(correlationId), a wrapper over
Logs.GetLogsByCorrelationIdAsync (GET /{version}/logs/audit?targetCorrelationId=…).
MarketplaceRunsTests pins both queries; the Code coverage snapshot is accepted
(functionId on the query, HasDetails on the row). README section added.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

🚀 Release preview

Next version on merge to main: none

semantic-release dry-run output
[6:21:07 AM] [semantic-release] › ℹ  Running semantic-release version 25.0.9
[6:21:08 AM] [semantic-release] › ✔  Loaded plugin "verifyConditions" from "@semantic-release/exec"
[6:21:08 AM] [semantic-release] › ✔  Loaded plugin "verifyConditions" from "@semantic-release/github"
[6:21:08 AM] [semantic-release] › ✔  Loaded plugin "analyzeCommits" from "@semantic-release/commit-analyzer"
[6:21:08 AM] [semantic-release] › ✔  Loaded plugin "analyzeCommits" from "@semantic-release/exec"
[6:21:08 AM] [semantic-release] › ✔  Loaded plugin "verifyRelease" from "@semantic-release/exec"
[6:21:08 AM] [semantic-release] › ✔  Loaded plugin "generateNotes" from "@semantic-release/release-notes-generator"
[6:21:08 AM] [semantic-release] › ✔  Loaded plugin "generateNotes" from "@semantic-release/exec"
[6:21:08 AM] [semantic-release] › ✔  Loaded plugin "prepare" from "@semantic-release/exec"
[6:21:08 AM] [semantic-release] › ✔  Loaded plugin "publish" from "@semantic-release/exec"
[6:21:08 AM] [semantic-release] › ✔  Loaded plugin "publish" from "@semantic-release/github"
[6:21:08 AM] [semantic-release] › ✔  Loaded plugin "addChannel" from "@semantic-release/exec"
[6:21:08 AM] [semantic-release] › ✔  Loaded plugin "addChannel" from "@semantic-release/github"
[6:21:08 AM] [semantic-release] › ✔  Loaded plugin "success" from "@semantic-release/exec"
[6:21:08 AM] [semantic-release] › ✔  Loaded plugin "success" from "@semantic-release/github"
[6:21:08 AM] [semantic-release] › ✔  Loaded plugin "fail" from "@semantic-release/exec"
[6:21:08 AM] [semantic-release] › ✔  Loaded plugin "fail" from "@semantic-release/github"
[6:21:11 AM] [semantic-release] › ℹ  This test run was triggered on the branch refs/pull/93/merge, while semantic-release is configured to only publish from main, therefore a new version won’t be published.

If next_version is none, your commits don't trigger a release. Use feat: for minor (breaking changes too, until launch), fix: / perf: for patch.

…like the other Hub tests

The three cases (functionId query, details by targetCorrelationId, empty id
refused before any request) now snapshot the sent request and the decoded rows
into test_results/, as PushEndpointTests and SchedulerBodyVariantTests do.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Domantas
Domantas merged commit db2fddf into main Oct 13, 2026
7 checks passed
@Domantas
Domantas deleted the audit/marketplace-runs branch October 13, 2026 06:32
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 3.20.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant