feat(release): publish releases directly, and fix the install path in the notes #4

Merged
jknapp merged 1 commits from feat/publish-releases-directly into main 2026-09-09 23:51:06 +00:00
Owner

Draft → published

Releases were drafts for exactly one stated reason: nobody had run the plugin in the OBS GUI on any platform, so a human had to look before anything became visible. The first confirmed GUI load (Windows, OBS 32.2.2 on Windows 11, 2026-09-09) retired that gate.

publish-release.sh now posts "draft": False; release.yml and the README no longer describe a click-to-publish step.

The caveats didn't disappear, they moved into the generated notes, which now lead with what is confirmed (module loads and registers its source type, Windows only) and what isn't (video rendering, A/V sync, latency, mid-show publisher restart, Linux and macOS in the GUI at all).

Tradeoff, called out in the script header: assets upload after the release row is created, so a release is briefly visible with no files attached. That's the cost of not needing a human click.

The install path, third and last copy

The release-notes template told every downloader to extract into %APPDATA%\obs-studio\plugins\. On Windows that's OBS's config directory and is never scanned for plugins — it's what stopped a director's correctly-shaped install from loading, with an OBS log that mentioned the module nowhere at all.

The notes now carry:

Platform Extract into
Windows C:\ProgramData\obs-studio\plugins\not %APPDATA%\obs-studio\
macOS ~/Library/Application Support/obs-studio/plugins/
Linux ~/.config/obs-studio/plugins/

plus the exact finished path, a warning that Explorer's Extract All… adds a wrapper folder unless cleared (same silent failure one level deeper), and how to confirm the load in the OBS log. Both failure modes are silent, which is why they belong in front of the person downloading it.

This completes the sweep: download page (streamer-tools PR #36), README (#2), release notes (here).

Verification

Rendered the heredoc with a stub tag to confirm the backslash escaping survives into correct markdown (C:\ProgramData\obs-studio\plugins\, not mangled), and release.yml parses as YAML. bash -n clean.

🤖 Generated with Claude Code

https://claude.ai/code/session_01AzGnvQ6wfD7bw7PZN35ft9

## Draft → published Releases were drafts for exactly one stated reason: nobody had run the plugin in the OBS GUI on any platform, so a human had to look before anything became visible. The first confirmed GUI load (Windows, OBS 32.2.2 on Windows 11, 2026-09-09) retired that gate. `publish-release.sh` now posts `"draft": False`; `release.yml` and the README no longer describe a click-to-publish step. The caveats didn't disappear, they moved into the generated notes, which now lead with what is confirmed (module loads and registers its source type, Windows only) and what isn't (video rendering, A/V sync, latency, mid-show publisher restart, Linux and macOS in the GUI at all). **Tradeoff, called out in the script header:** assets upload *after* the release row is created, so a release is briefly visible with no files attached. That's the cost of not needing a human click. ## The install path, third and last copy The release-notes template told every downloader to extract into `%APPDATA%\obs-studio\plugins\`. On Windows that's OBS's *config* directory and is never scanned for plugins — it's what stopped a director's correctly-shaped install from loading, with an OBS log that mentioned the module nowhere at all. The notes now carry: | Platform | Extract into | |---|---| | Windows | `C:\ProgramData\obs-studio\plugins\` — **not** `%APPDATA%\obs-studio\` | | macOS | `~/Library/Application Support/obs-studio/plugins/` | | Linux | `~/.config/obs-studio/plugins/` | plus the exact finished path, a warning that Explorer's **Extract All…** adds a wrapper folder unless cleared (same silent failure one level deeper), and how to confirm the load in the OBS log. Both failure modes are silent, which is why they belong in front of the person downloading it. This completes the sweep: download page (streamer-tools PR #36), README (#2), release notes (here). ## Verification Rendered the heredoc with a stub tag to confirm the backslash escaping survives into correct markdown (`C:\ProgramData\obs-studio\plugins\`, not mangled), and `release.yml` parses as YAML. `bash -n` clean. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01AzGnvQ6wfD7bw7PZN35ft9
jknapp added 1 commit 2026-09-09 23:50:59 +00:00
feat(release): publish releases directly, and fix the install path in the notes
Build / macOS (macos-latest) (push) Successful in 27s
Build / macOS (macos-latest) (pull_request) Successful in 26s
Build / Linux (ubuntu-24.04) (push) Successful in 56s
Build / Linux (ubuntu-24.04) (pull_request) Successful in 54s
Build / Windows (windows-latest) (push) Successful in 4m20s
Build / Windows (windows-latest) (pull_request) Successful in 3m55s
d9f73926e4
Releases were created as drafts for one stated reason: nobody had run the
plugin in the OBS GUI on any platform, so a human had to look before anything
became visible. The first confirmed GUI load (Windows, OBS 32.2.2 on Windows
11, 2026-09-09) retired that gate, so `publish-release.sh` now posts
`"draft": False` and the workflow no longer needs a human click.

The caveats did not go away, they moved: the generated release notes now lead
with what is actually confirmed (module loads and registers its source type,
Windows only) and what is not (video rendering, A/V sync, latency, mid-show
publisher restart, Linux and macOS in the GUI at all), and the per-platform
table carries the rest.

Also fixes the third and last copy of the wrong Windows install path. The
release notes template told every downloader to extract into
`%APPDATA%\obs-studio\plugins\`, which on Windows is OBS's config directory
and is never scanned for plugins -- that is what stopped a director's
correctly-shaped install from loading. The notes now carry a per-platform
table (`C:\ProgramData\obs-studio\plugins\` on Windows), the exact finished
path, a warning about Explorer's "Extract All..." wrapper folder, and how to
confirm the load in the OBS log. Both failure modes are silent, which is
precisely why they belong in the notes.

Note the tradeoff now that nothing is held back: assets upload after the
release row is created, so a release is briefly visible with no files
attached. Called out in the script header.

Verified by rendering the heredoc with a stub tag: backslash escaping survives
into correct markdown, and the YAML parses.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AzGnvQ6wfD7bw7PZN35ft9
jknapp merged commit 5a39881af8 into main 2026-09-09 23:51:06 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: CyberCoveLLC/obs-streamer-tools-plugin#4