# BrowserOS Windows Release Build Configuration
#
# Environment Variables:
#   Use !env tag to reference environment variables:
#     Example: chromium_src: !env CHROMIUM_SRC

build:
  type: release
  architecture: x64  # Windows builds are typically x64

gn_flags:
  file: build/config/gn/flags.windows.release.gn

# Explicit module execution order
modules:
  # Phase 1: Setup
  - clean
  - git_setup

  # Phase 2: Patches & Resources
  - download_resources
  - resources
  - bundled_extensions
  - chromium_replace
  - string_replaces
  - series_patches
  - patches

  # Phase 3: Build
  - configure
  - compile

  # Phase 4: Sign & Package
  - sign_windows
  - package_windows

  # Phase 5: Upload
  - upload

# Required environment variables
# Note: CHROMIUM_SRC can be provided via --chromium-src CLI flag, YAML config, or env var
required_envs:
  - CODE_SIGN_TOOL_PATH         # Path to CodeSignTool directory
  - ESIGNER_USERNAME            # SSL.com eSigner username
  - ESIGNER_PASSWORD            # SSL.com eSigner password
  - ESIGNER_TOTP_SECRET         # SSL.com eSigner TOTP secret

# Notification settings
notifications:
  slack: true
