Files
BrowserOS/packages/browseros/build/browseros.py
Nikhil 90512e58df feat: cli support for server ota (#286)
* feat: ota release

* chore: clean-up old binaries

* fix: ota cli sub-commands, path fixes

* chore: browseros server binary update

* fix: add sparkle sign_update path as ENV

* fix: CLOUDFLARE_API_TOKEN to env

* fix: use same upload r2 module

* feat: upload appcast is separate

* feat: write sparkle sign in python

* fix: handle appcast update

* fix: add missing sparkle.py file

* fix: remove redudant cli options in ota

* chore: 0.0.37 macos signed release

* chore: linux browseros server ota

* fix: copy binaries to temp file and then sign
2026-01-06 13:51:18 -08:00

50 lines
1.1 KiB
Python
Executable File
Generated

#!/usr/bin/env python3
"""
BrowserOS Build System - Main Entry Point
Unified CLI for building, developing, and releasing BrowserOS browser.
Usage:
# As installed command:
browseros build --help
# As module:
python -m build.browseros build --help
"""
import typer
from .cli import build
# Create main app
app = typer.Typer(
help="BrowserOS Build System",
pretty_exceptions_enable=False,
pretty_exceptions_show_locals=False
)
# Create build sub-app and register build.main as its callback
build_app = typer.Typer(
pretty_exceptions_enable=False,
pretty_exceptions_show_locals=False
)
build_app.callback(invoke_without_command=True)(build.main)
# Add build as a subcommand
app.add_typer(build_app, name="build", help="Build BrowserOS browser")
# Add dev command
from .cli import dev
app.add_typer(dev.app, name="dev", help="Dev patch management")
# Release automation commands
from .cli import release
app.add_typer(release.app, name="release", help="Release automation")
# OTA update commands
from .cli import ota
app.add_typer(ota.app, name="ota", help="OTA update automation")
if __name__ == "__main__":
app()