Files
BrowserOS/packages/browseros/build/browseros.py
Nikhil 123a13fe62 feat(build): swap podman server resources for Lima (WS3) (#778)
* feat(build): swap podman server resources for Lima (WS3)

- Upload limactl (arm64 + x64) to R2 via new 'browseros upload lima' CLI.
- Rewrite scripts/build/config/server-prod-resources.json: 2 Lima entries,
  12 podman-family entries removed.
- Update codesign metadata (server_binaries.py) to add limactl, drop podman
  family. Sign modules need no edits (data-driven).
- Delete orphaned podman-{vfkit,krunkit} entitlement plists.
- Release-gating note in browseros-agent/CLAUDE.md: don't cut releases off
  dev between this commit and WS6 landing (OpenClaw still invokes podman).

* fix: address review comments for 0422-ws3_lima_resources

- Tighten _find_limactl_member to match exactly .../bin/limactl via
  Path.parts, avoiding incidental matches like 'xbin/limactl'.
- Fall back USER -> USERNAME -> 'unknown' for uploaded_by so Windows
  shells don't all record 'unknown'.
- Comment the broad except in upload_lima to explain why rollback
  must fire for any mid-loop failure.

* chore: drop bun + rg from Windows sign list

These executables are already absent from server-prod-resources.json (no
Windows entries shipped); keeping them in the sign list produces
"Binary not found" warnings on every Windows build.
2026-04-22 10:40:53 -07:00

54 lines
1.3 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")
# Third-party resource uploads (Lima, future VM disk + agent tarballs)
from .cli import storage
app.add_typer(storage.app, name="upload", help="Upload third-party resources to R2")
if __name__ == "__main__":
app()