Skip to content

Publish pre-built web app artifacts on GitHub releases #2081

Description

@Tealk

Describe the problem

Your Ansible playbooks and general self-hosting setups currently cannot deploy Sable's web app (https://app.sable.chat) without building it from source: the GitHub releases only ship desktop (Flatpak/AppImage/winget), Android, and iOS binaries — there is no pre-compiled web archive (e.g. sable-web.tar.gz) or dist/ build attached to a release. This makes the straightforward "download release → extract to web root → serve" deployment flow used for apps like Element Web, Cinny, and FluffyChat impossible. Self-hosters must set up a full Node.js + pnpm build toolchain (Node 24, corepack, pnpm install --frozen-lockfile, pnpm run build) just to run a static site, which is a significant barrier for unattended/CI-based deployments.

Describe the solution you'd like

Attach a pre-built web app artifact to each GitHub release, generated by the existing build pipeline. Concretely:

  • Build the web app with the release tag (the current pnpm run build output, i.e. dist/).
  • Publish the result as a release asset — ideally gzipped like the existing fluffychat-web.tar.gz pattern, e.g. sable-web-.tar.gz (and/or a plain dist/ zip).
  • Keep the filename/URL stable per release (added via softprops/action-gh-release) so playbooks and version_check-style automation can fetch the latest release deterministically.

This would enable generic web-client deployment: fetch the release tarball, extract it, and drop config.json/serve it — no source checkout, no Node toolchain, and consistent with how other web clients ship.

Alternatives considered

No response

Additional context

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions