diff --git a/.github/workflows/winget.yml b/.github/workflows/winget.yml new file mode 100644 index 0000000..d7d9cad --- /dev/null +++ b/.github/workflows/winget.yml @@ -0,0 +1,38 @@ +name: Publish to winget + +# Submits the Windows installer to microsoft/winget-pkgs whenever a GitHub +# Release is published, so `winget install 4nrry.OpenCherryDesktop` picks up new +# versions automatically. +# +# Prerequisites (one-time): +# 1. The package 4nrry.OpenCherryDesktop must exist in winget-pkgs (do the first +# submission manually with wingetcreate — see README/notes). +# 2. Add a repo secret WINGET_TOKEN: a GitHub Personal Access Token (classic) +# with the `public_repo` scope. The action uses it to fork winget-pkgs and +# open the PR. A fine-grained token also works (Contents + Pull requests +# read/write on your winget-pkgs fork). +# +# Note: `released` does not fire for releases marked "pre-release". If you tag +# alpha builds as pre-releases, change the trigger to `published`. + +on: + release: + types: [released] + +jobs: + publish: + runs-on: ubuntu-latest + steps: + - name: Strip leading "v" from the tag + id: ver + run: echo "version=${GITHUB_REF_NAME#v}" >> "$GITHUB_OUTPUT" + + - name: Submit to winget-pkgs + uses: vedantmgoyal9/winget-releaser@v2 + with: + identifier: 4nrry.OpenCherryDesktop + version: ${{ steps.ver.outputs.version }} + # Match only the Windows NSIS installer among the release assets + # (deb/rpm/dmg/AppImage/.sha256 files are ignored). + installers-regex: '_x64-setup\.exe$' + token: ${{ secrets.WINGET_TOKEN }} diff --git a/apps/desktop/src-tauri/tauri.conf.json b/apps/desktop/src-tauri/tauri.conf.json index cce7830..2094f68 100644 --- a/apps/desktop/src-tauri/tauri.conf.json +++ b/apps/desktop/src-tauri/tauri.conf.json @@ -1,6 +1,6 @@ { "$schema": "https://schema.tauri.app/config/2", - "productName": "opencherry", + "productName": "OpenCherry", "version": "0.0.1", "identifier": "ai.opencherry.desktop", "build": { diff --git a/packaging/winget/4nrry.OpenCherryDesktop.installer.yaml b/packaging/winget/4nrry.OpenCherryDesktop.installer.yaml new file mode 100644 index 0000000..d22ea91 --- /dev/null +++ b/packaging/winget/4nrry.OpenCherryDesktop.installer.yaml @@ -0,0 +1,15 @@ +# yaml-language-server: $schema=https://aka.ms/winget-manifest.installer.1.6.0.schema.json +PackageIdentifier: 4nrry.OpenCherryDesktop +PackageVersion: 0.0.1 +InstallerType: nullsoft +Scope: user +InstallModes: + - silent + - silentWithProgress +ReleaseDate: 2026-06-26 +Installers: + - Architecture: x64 + InstallerUrl: https://github.com/4nrry/opencherry/releases/download/v0.0.1/OpenCherry_0.0.1_x64-setup.exe + InstallerSha256: E3D57BC2284A41F5A1C923B19C20B567A8440E29EA7CDAA6DC8F78DDB10A5D67 +ManifestType: installer +ManifestVersion: 1.6.0 diff --git a/packaging/winget/4nrry.OpenCherryDesktop.locale.en-US.yaml b/packaging/winget/4nrry.OpenCherryDesktop.locale.en-US.yaml new file mode 100644 index 0000000..315d5ff --- /dev/null +++ b/packaging/winget/4nrry.OpenCherryDesktop.locale.en-US.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=https://aka.ms/winget-manifest.defaultLocale.1.6.0.schema.json +PackageIdentifier: 4nrry.OpenCherryDesktop +PackageVersion: 0.0.1 +PackageLocale: en-US +Publisher: anrry +PublisherUrl: https://github.com/4nrry +PublisherSupportUrl: https://github.com/4nrry/opencherry/issues +PackageName: OpenCherry Desktop +PackageUrl: https://github.com/4nrry/opencherry +License: AGPL-3.0-or-later +LicenseUrl: https://github.com/4nrry/opencherry/blob/main/LICENSE +ShortDescription: Multi-repo x multi-agent control tower for AI-assisted coding. +Description: |- + OpenCherry is an open source, Ubuntu/GNOME-first desktop app that orchestrates + many Git repositories across many AI coding agents (Claude Code, OpenCode, + Codex, Gemini CLI, Aider, ...) from a single VS Code Source Control-style + interface. +Moniker: opencherry +Tags: + - ai + - developer-tools + - git + - tauri + - version-control +ManifestType: defaultLocale +ManifestVersion: 1.6.0 diff --git a/packaging/winget/4nrry.OpenCherryDesktop.yaml b/packaging/winget/4nrry.OpenCherryDesktop.yaml new file mode 100644 index 0000000..d458903 --- /dev/null +++ b/packaging/winget/4nrry.OpenCherryDesktop.yaml @@ -0,0 +1,6 @@ +# yaml-language-server: $schema=https://aka.ms/winget-manifest.version.1.6.0.schema.json +PackageIdentifier: 4nrry.OpenCherryDesktop +PackageVersion: 0.0.1 +DefaultLocale: en-US +ManifestType: version +ManifestVersion: 1.6.0