Skip to content

docs: clarify Nuke-only publish for the FFmpeg worker; mark matrix collapse done#2015

Merged
yuto-trd merged 3 commits into
mainfrom
yuto-trd/ffmpeg-publish-docs
Jun 25, 2026
Merged

docs: clarify Nuke-only publish for the FFmpeg worker; mark matrix collapse done#2015
yuto-trd merged 3 commits into
mainfrom
yuto-trd/ffmpeg-publish-docs

Conversation

@yuto-trd

@yuto-trd yuto-trd commented Jun 25, 2026

Copy link
Copy Markdown
Member

Description

Documents the intended publish path for the GPL Beutl.FFmpegWorker process and closes two stale board follow-ups as documentation.

  • src/Beutl/Beutl.csproj: a comment near CopyFFmpegWorkerForApp (AfterTargets="Build") clarifies that a bare dotnet publish does not carry the worker — publishing must go through Nuke (NukePublish=true), which is the supported/release path. No build behavior changes.
  • docs/refactoring-plan.md: marks the FFmpegOutOfProcess build-matrix collapse follow-up as Done.

Per the maintainer decision, "include the worker in non-Nuke publish outputs" is resolved as documented Nuke-only rather than wiring the worker into bare dotnet publish (which would risk dragging GPL output into MIT publish flows).

Affected areas

  • Build / CI / docs only

Breaking changes

None — comment + docs only.

Test plan

No code paths changed. Verified that the existing CopyFFmpegWorkerForApp target is build-order only and that the Nuke publish target remains the worker-carrying path; full-solution build stays green.

Fixed issues / References

Summary by CodeRabbit

  • Documentation
    • Updated the refactoring plan to reflect completion of the FFmpeg configuration cleanup, with no remaining FFmpeg out-of-process references in the source tree.
    • Clarified how the FFmpeg worker is handled across build vs. publish workflows, including when the worker is copied and where it appears in build outputs versus publish outputs.

…llapse done

- Beutl.csproj: document that CopyFFmpegWorkerForApp runs AfterTargets="Build"
  only, so a bare `dotnet publish` (NukePublish!=true) deliberately omits the GPL
  worker. Publishing a runnable app must go through Nuke (NukePublish=true);
  non-Nuke publish is a build-graph convenience, not a supported distribution path.
- refactoring-plan.md: the deferred FFmpegOutOfProcess csproj-matrix collapse has
  landed (no FFmpegOutOfProcess/FFMPEG_OUT_OF_PROCESS references remain in src/),
  so the out-of-process/worker path is unconditional. Mark the item done.

Refs: Project #9 "AI Review" items 155, 164
Copilot AI review requested due to automatic review settings June 25, 2026 00:09
@coderabbitai

coderabbitai Bot commented Jun 25, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 45d19348-939d-4aa3-9612-e14ed4a8b386

📥 Commits

Reviewing files that changed from the base of the PR and between 65418d7 and b395a3f.

📒 Files selected for processing (1)
  • src/Beutl/Beutl.csproj
✅ Files skipped from review due to trivial changes (1)
  • src/Beutl/Beutl.csproj

📝 Walkthrough

Walkthrough

Updated the FFmpeg refactoring plan to mark the media-backend cleanup complete and clarified the Beutl project comments for FFmpeg worker copy behavior.

Changes

FFmpeg cleanup notes

Layer / File(s) Summary
Status and publish comments
docs/refactoring-plan.md, src/Beutl/Beutl.csproj
docs/refactoring-plan.md marks the FFmpeg media-backend cleanup as done, and src/Beutl/Beutl.csproj clarifies that CopyFFmpegWorkerForApp runs after Build and copies to $(OutDir) rather than $(PublishDir).

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

  • b-editor/beutl#1909: This PR appears to complete the FFmpeg in-process/off-process cleanup that the updated refactoring-plan note and Beutl.csproj comments refer to.

Poem

A bunny read the notes today,
And tucked the old FFmpeg paths away.
The worker hops by build-light glow,
While tidy comments tell the flow.
🐰✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the two main doc updates: Nuke-only FFmpeg worker publishing and completion of the matrix-collapse follow-up.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch yuto-trd/ffmpeg-publish-docs

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates documentation to clarify the supported publishing path for the GPL Beutl.FFmpegWorker process (Nuke-only) and marks a previously tracked FFmpeg build-matrix follow-up as completed in the refactoring plan.

Changes:

  • Expand the Beutl.csproj MSBuild comment near CopyFFmpegWorkerForApp to explain that plain dotnet publish outputs intentionally omit the worker and that Nuke publish is the supported distribution path.
  • Update docs/refactoring-plan.md to mark the FFmpeg out-of-process matrix collapse follow-up as Done.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
src/Beutl/Beutl.csproj Clarifies (in an XML comment) the intended dev vs release/publish behavior for the FFmpeg worker.
docs/refactoring-plan.md Marks the FFmpeg build-matrix collapse follow-up as completed.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/Beutl/Beutl.csproj Outdated
Review follow-up (#2015). The prior note claimed CopyFFmpegWorkerForApp "does NOT
run on Publish", but `dotnet publish` runs the Build target, so an
AfterTargets="Build" target still runs during the publish build step (unless
--no-build). The accurate point is that the target copies the worker into the
build output ($(OutDir), i.e. bin), not $(PublishDir), so a bare `dotnet publish`
leaves the worker out of the published output. Reword the comment accordingly.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 65418d737b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/Beutl/Beutl.csproj Outdated
…nstraint

Keep the footgun (a bare `dotnet publish` with NukePublish!=True omits the
worker and yields a non-runnable app; a runnable publish must go through Nuke),
and drop the dev-build narration and editorializing.
@github-actions

Copy link
Copy Markdown
Contributor

No TODO comments were found.

@github-actions

Copy link
Copy Markdown
Contributor

Code Coverage

Package Line Rate Branch Rate Complexity Health
Beutl.Api 9% 4% 1171
Beutl.Configuration 41% 22% 350
Beutl.Controls 0% 0% 5513
Beutl.Core 62% 56% 3069
Beutl.Editor 78% 70% 1742
Beutl.Editor.Components 1% 0% 8552
Beutl.Embedding.MediaFoundation 6% 8% 1376
Beutl.Engine 62% 52% 18123
Beutl.Engine.SourceGenerators 59% 44% 540
Beutl.Extensibility 38% 59% 112
Beutl.Extensions.AVFoundation 5% 12% 246
Beutl.Extensions.FFmpeg 6% 7% 853
Beutl.FFmpegIpc 25% 33% 825
Beutl.Language 7% 50% 1349
Beutl.NodeGraph 24% 15% 2474
Beutl.ProjectSystem 58% 43% 1061
Beutl.Threading 100% 90% 137
Beutl.Utilities 94% 87% 358
Summary 35% (43561 / 124687) 31% (10857 / 35508) 47851

Minimum allowed line rate is 0%

@yuto-trd yuto-trd merged commit 91d7385 into main Jun 25, 2026
4 checks passed
@yuto-trd yuto-trd deleted the yuto-trd/ffmpeg-publish-docs branch June 25, 2026 06:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants