Skip to content

feat(widevine): add CastLabs EVS VMP signing and auto-generated release notes#5

Merged
flexiondotorg merged 4 commits intomainfrom
macos
Mar 21, 2026
Merged

feat(widevine): add CastLabs EVS VMP signing and auto-generated release notes#5
flexiondotorg merged 4 commits intomainfrom
macos

Conversation

@flexiondotorg
Copy link
Copy Markdown
Member

Summary

Add CastLabs EVS VMP signing for macOS and Windows Widevine DRM support. Enable auto-generated release notes in GitHub Actions to automatically populate release descriptions from commits and pull requests.

Changes

  • Add CastLabs EVS VMP signing integration for Widevine DRM content protection on macOS and Windows
  • Implement afterPack.cjs hook for code signing during build process
  • Add macOS entitlements configuration (entitlements.mac.plist)
  • Enable auto-generated release notes in GitHub Actions workflow
  • Fix macOS support in devShell and build recipes
  • Update AGENTS.md with CastLabs and Widevine implementation details
  • Add required dependencies and build configuration

Testing

  • Verify Electron build succeeds with new code signing configuration
  • Confirm macOS and Windows builds complete without errors
  • Test that GitHub releases include auto-generated notes from commits

Related Issues

Closes #widevine-support

- Wrap LD_LIBRARY_PATH in Linux conditional; omit on macOS where
  standard FHS paths don't apply
- Separate Linux-specific shellHook from cross-platform output
- Add _fix-frameworks recipe to restore symlinks broken by extract-zip
  during npm install (affects Electron framework structure on macOS)
- Include _fix-frameworks in build task to ensure frameworks are valid
  before TypeScript compilation

Signed-off-by: Martin Wimpress <code@wimpress.io>
…M support

- Add EVS VMP production signing via afterPack hook in electron-builder
  pipeline
- Create macOS hardened runtime entitlements configuration
- Update package.json to reference entitlements and afterPack hook
- Configure GitHub Actions workflow to install uv and pass EVS
  credentials for CI
- Use Linux Chrome UA on all platforms to bypass Apple's stricter DRM
  enforcement
- Add local EVS signing command to Justfile
- Include uv as Darwin-only devShell dependency in flake.nix

Signed-off-by: Martin Wimpress <code@wimpress.io>
Add generate_release_notes: true to the action-gh-release step to
automatically populate GitHub release notes with changelog entries.

Signed-off-by: Martin Wimpress <code@wimpress.io>
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

2 issues found across 9 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name=".github/workflows/builder.yml">

<violation number="1" location=".github/workflows/builder.yml:128">
P1: `uv` is only installed for macOS, but EVS signing uses `uvx` on Windows too. Install `uv` for Windows builds as well to avoid Windows packaging failures.</violation>
</file>

<file name="justfile">

<violation number="1" location="justfile:64">
P1: `install`/`build` now unconditionally depend on `_fix-frameworks` and `_sign-evs`, but those recipes are not defined for Windows, so Windows builds will fail.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

The setup-uv step was previously only run on macOS, but
build/afterPack.cjs executes on both macOS and Windows for EVS VMP
signing. Extend the condition to include Windows builds to avoid missing
uv binary on Windows.

Signed-off-by: Martin Wimpress <code@wimpress.io>
@flexiondotorg flexiondotorg merged commit d6af1f2 into main Mar 21, 2026
11 checks passed
@flexiondotorg flexiondotorg deleted the macos branch March 21, 2026 01:19
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.

1 participant