Skip to content

P-013: ship the CI/CLI distribution surface (Action + dotnet tool) #66

P-013: ship the CI/CLI distribution surface (Action + dotnet tool)

P-013: ship the CI/CLI distribution surface (Action + dotnet tool) #66

Triggered via pull request June 15, 2026 19:10
Status Success
Total duration 45s
Artifacts –

ci.yml

on: pull_request
lint (ruff + mypy --strict)
18s
lint (ruff + mypy --strict)
extended codegen fuzz
35s
extended codegen fuzz
golden C# compiles & runs (.NET)
26s
golden C# compiles & runs (.NET)
C# leak extractor (Roslyn) -> OwnIR -> core
28s
C# leak extractor (Roslyn) -> OwnIR -> core
own-check repo scan (github + msbuild) + composite action
34s
own-check repo scan (github + msbuild) + composite action
Matrix: tests
Fit to window
Zoom out
Zoom in

Annotations

18 errors and 8 warnings
OWN001: frontend/roslyn/samples/TimerViewModel.cs#L15
[OWN001] timer '_timer.Tick' (handler 'OnTick') is started but never stopped or detached — the running timer keeps 'TimerViewModel' alive (leak) [resource: timer]
OWN001: frontend/roslyn/samples/PooledBufferSample.cs#L12
[OWN001] pooled buffer 'leaky' is rented but never returned to the pool (leak) [resource: pooled buffer]
OWN001: frontend/roslyn/samples/MessengerViewModel.cs#L12
[OWN001] the result of 'messenger.Subscribe' is ignored — the IDisposable subscription is never disposed, leaking 'InboxViewModel' (leak) [resource: subscription token]
OWN001: frontend/roslyn/samples/LocalDisposableSample.cs#L12
[OWN001] local IDisposable 'leaky' (type 'MemoryStream') is created but never disposed (leak) [resource: disposable]
OWN001: frontend/roslyn/samples/DisposableFieldViewModel.cs#L10
[OWN001] IDisposable field '_cts' (type 'CancellationTokenSource') is never disposed — its owner 'ReportViewModel' leaks it (leak) [resource: disposable field]
OWN001: frontend/roslyn/samples/CustomerViewModel.cs#L10
[OWN001] event 'bus.CustomerChanged' is subscribed (handler 'OnCustomerChanged') but never unsubscribed — the source keeps 'CustomerViewModel' alive (leak) [resource: subscription token]
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/TimerViewModel.cs#L15
timer '_timer.Tick' (handler 'OnTick') is started but never stopped or detached — the running timer keeps 'TimerViewModel' alive (leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/PooledBufferSample.cs#L12
pooled buffer 'leaky' is rented but never returned to the pool (leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/MessengerViewModel.cs#L12
the result of 'messenger.Subscribe' is ignored — the IDisposable subscription is never disposed, leaking 'InboxViewModel' (leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/LocalDisposableSample.cs#L12
local IDisposable 'leaky' (type 'MemoryStream') is created but never disposed (leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/DisposableFieldViewModel.cs#L10
IDisposable field '_cts' (type 'CancellationTokenSource') is never disposed — its owner 'ReportViewModel' leaks it (leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/CustomerViewModel.cs#L10
event 'bus.CustomerChanged' is subscribed (handler 'OnCustomerChanged') but never unsubscribed — the source keeps 'CustomerViewModel' alive (leak)
OWN001: frontend/roslyn/samples/TimerViewModel.cs#L15
[OWN001] timer '_timer.Tick' (handler 'OnTick') is started but never stopped or detached — the running timer keeps 'TimerViewModel' alive (leak) [resource: timer]
OWN001: frontend/roslyn/samples/PooledBufferSample.cs#L12
[OWN001] pooled buffer 'leaky' is rented but never returned to the pool (leak) [resource: pooled buffer]
OWN001: frontend/roslyn/samples/MessengerViewModel.cs#L12
[OWN001] the result of 'messenger.Subscribe' is ignored — the IDisposable subscription is never disposed, leaking 'InboxViewModel' (leak) [resource: subscription token]
OWN001: frontend/roslyn/samples/LocalDisposableSample.cs#L12
[OWN001] local IDisposable 'leaky' (type 'MemoryStream') is created but never disposed (leak) [resource: disposable]
OWN001: frontend/roslyn/samples/DisposableFieldViewModel.cs#L10
[OWN001] IDisposable field '_cts' (type 'CancellationTokenSource') is never disposed — its owner 'ReportViewModel' leaks it (leak) [resource: disposable field]
OWN001: frontend/roslyn/samples/CustomerViewModel.cs#L10
[OWN001] event 'bus.CustomerChanged' is subscribed (handler 'OnCustomerChanged') but never unsubscribed — the source keeps 'CustomerViewModel' alive (leak) [resource: subscription token]
tests (py3.12)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-python@v5. Actions will be forced to run with Node.js 24 by default starting June 16th, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
tests (py3.13)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-python@v5. Actions will be forced to run with Node.js 24 by default starting June 16th, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
tests (py3.11)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-python@v5. Actions will be forced to run with Node.js 24 by default starting June 16th, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
lint (ruff + mypy --strict)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-python@v5. Actions will be forced to run with Node.js 24 by default starting June 16th, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
golden C# compiles & runs (.NET)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-dotnet@v4, actions/setup-python@v5. Actions will be forced to run with Node.js 24 by default starting June 16th, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
C# leak extractor (Roslyn) -> OwnIR -> core
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-dotnet@v4, actions/setup-python@v5. Actions will be forced to run with Node.js 24 by default starting June 16th, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
own-check repo scan (github + msbuild) + composite action
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-dotnet@v4, actions/setup-python@v5. Actions will be forced to run with Node.js 24 by default starting June 16th, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
extended codegen fuzz
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-python@v5. Actions will be forced to run with Node.js 24 by default starting June 16th, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/