Wendy Os Publisher
A tool that uploads, removes and promotes (nightly - release) builds for WendyOS and Wendy Lite.
A tool that uploads, removes and promotes (nightly -> release) builds for WendyOS and Wendy Lite.
https://github.com/wendylabsinc/wendy-os-publisher
Wendy OS Publisher is integrated into WendyOS CI on Github actions, where it uploads as nightly. You can manually run this tool to promote a build to release.
CI integration
Nightly builds
The nightly pipeline runs all device builds in parallel. The publish job:
- Always updates the master manifest (runs even if some builds are cancelled).
- Creates a GitHub pre-release and sends a Discord announcement only when all device builds succeed. If any build fails, neither the pre-release nor the Discord notification fires.
- The GitHub pre-release is tagged
nightlyand also tagged${VERSION}-nightly. Release notes are auto-generated from PRs and commits since the lastvX.Y.Ztag (--generate-notes). - The Discord announcement is sent via a single
curl/jqstep in thepublishjob, not per-device.
Release builds
The release pipeline triggers on v* tags. A dedicated announce job sends the Discord notification only after all of the following jobs succeed: release, publish-linux-repos, publish-aur, and publish-winget. If any of those jobs fails, the Discord announcement does not fire. The announce job also only runs for stable (non-prerelease) builds.
- A GitHub release is created by the
releasejob (idempotent — skipped if the tag already has a release). - The Discord announcement uses
jqto build the webhook payload (preventing JSON injection) and validates that the webhook URL matches the Discord API domain before use. It retries up to three times on failure; if all attempts fail the release is still considered successful and the notification is silently skipped. - The Discord webhook is invoked once from the
announcejob, not per-device.
Swift SDK Internals
The WendyLite SwiftPM library is an Embedded Swift target compiled to wasm32-unknown-wasip1. This document covers how the async runtime, entry point protocol, timers, and callback
MCPExample
A minimal reference implementation of a WendyOS app that exposes device tools over the Model Context Protocol (MCP). Deploy it with wendy run and its tools become instantly availab