ci(12.0): auto-release on segment-editor master updates via dispatch#13
Conversation
…eries Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
Reviewer's guide (collapsed on small PRs)Reviewer's GuideThis PR reworks the 12.0 branch release workflow so it is only triggered via workflow_dispatch from master’s cron, only performs releases when the upstream segment-editor master SHA changes (or force_release is set), correctly pushes version bumps and tags to the 12.0 branch and built commit, seeds the branch-specific version series, and isolates its concurrency from master’s releases. Sequence diagram for auto-release workflow_dispatch on 12.0 branchsequenceDiagram
participant MasterCron as master_release_workflow
participant Release12 as release_plugin_workflow_12_0
participant Repo12 as git_repo_12_0
participant GHRel as github_releases
MasterCron->>Release12: workflow_dispatch(ref=12.0)
Release12->>Repo12: [read UPSTREAM_SHA and LAST_SHA]
alt [UPSTREAM_SHA changed or inputs.force_release]
Release12->>Repo12: git push origin HEAD:github.ref_name
alt [release tag exists]
Release12->>GHRel: gh release upload
else [release tag missing]
Release12->>Repo12: git rev-parse HEAD
Release12->>GHRel: gh release create --target HEAD
end
else [no upstream change]
Release12->>Release12: [exit without release]
end
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Files Reviewed (2 files)
Note: This PR is a CI/release-workflow and version-seeding change. The .NET/C# design-pattern review checklist does not apply to these files. The changed lines were reviewed against the stated intent (make the 12.0 release dispatch-driven, gate on upstream SHA change / Verified changes are correct for the new
Reviewed by hy3:free · Input: 35.5K · Output: 2.3K · Cached: 100.2K |
Enables automatic releases of the Jellyfin 12 plugin build whenever
segment-editormaster changes. Scheduled andrepository_dispatchworkflows only ever run from the default branch, so this branch's release workflow never fired on its own — and when run manually it pushed version bumps tomasterand tagged releases against thev1.0.xseries, which would have clobbered master's releases.release.ymlis nowworkflow_dispatch-only, designed to be dispatched on ref12.0by master's 30-minute release cron (companion PR on master adds that dispatch job)segment-editormaster SHA actually changed (orforce_releaseis set), so the forwarded 30-minute dispatches are no-ops when upstream is unchangedgithub.ref_name) instead of the default branch, and the release tag targets the exact built commitDirectory.Build.propsis seeded to12.0.0.0, giving this branch its ownv12.0.x.0tag series with no collisions against master'sv1.0.x.0; the first auto-release will bev12.0.1.0withtargetAbi: 12.0.0.0, which the manifest repo's daily updater routes into12.0/manifest.jsonautomaticallyrelease-plugin-12.0so 12.0 releases don't queue behind master'sMerge this before the master-branch companion PR: the old workflow on this branch released unconditionally on dispatch and pushed to the default branch.
Summary by Sourcery
Adjust 12.0 plugin release workflow to be manually dispatchable from master and safely auto-release on segment-editor updates without affecting master’s release stream.
Build:
CI:
Chores: