Skip to content

ci(release): publish signed macOS desktop assets #147

Description

@fettpl

Feature Description

Add a release workflow path that publishes signed macOS desktop assets for vLLM Studio on stable GitHub Releases.

cc @0xSero — CODEOWNERS lists you as the default owner for this repository, and this follows up on #140 with the CI/release work needed before a Homebrew Cask PR can be prepared.

Problem Statement

The current release pipeline creates GitHub tags/releases, but it does not attach desktop artifacts. That keeps downstream packaging blocked because Homebrew needs a stable public artifact URL and checksum.

Current evidence:

  • The release workflow says releases are tags and GitHub Release notes only.
  • release.config.cjs uses semantic-release with @semantic-release/github, but no asset publishing configuration.
  • frontend/desktop/electron-builder.yml already defines macOS dmg and zip targets for arm64.
  • The latest checked release, v1.49.1, has no attached assets.

Proposed Solution

Extend the release workflow so stable releases build and attach macOS desktop artifacts:

  • Build the frontend desktop distribution with npm run desktop:dist.
  • Attach the Apple Silicon DMG and/or ZIP output to the GitHub Release.
  • Ensure asset names include the release version and architecture.
  • Keep assets public and downloadable without authentication.
  • Document the required macOS signing/notarization secrets and failure mode when they are missing.

Acceptance Criteria

  • A stable GitHub Release includes a public arm64 macOS .dmg and/or .zip.
  • The published asset installs vLLM Studio.app.
  • The asset can be downloaded directly from GitHub Releases and checksummed by Homebrew.
  • Release automation does not publish unsigned/unnotarized macOS assets as stable artifacts.
  • The workflow or release docs identify the secrets needed for signing/notarization.

Additional Context

This issue is intentionally narrower than #140. It covers publishing the macOS release artifacts. A separate follow-up tracks version alignment between tags, app metadata, and artifact names.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions