Commit Graph

24 Commits

Author SHA1 Message Date
Scott Hanselman
c9c1aed602 chore: upgrade and recompile agentic workflows
Some checks failed
Copilot Setup Steps / copilot-setup-steps (push) Has been cancelled
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-13 19:26:42 -07:00
Scott Hanselman
dfec59dd61
ci: collect coverage and upload test results in CI (#160)
Enable XPlat Code Coverage and TRX logs for both test projects in the CI test job, and upload the combined TestResults artifact on every run.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-08 15:29:55 -07:00
Scott Hanselman
55960c88b5
ci: add NuGet cache to build and build-msix CI jobs (closes #135)
Reuses same cache key as test job. Saves redundant NuGet downloads on build runners.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-02 09:50:43 -07:00
Scott Hanselman
a9de0c77a5
ci: add NuGet package caching to test job
Adds actions/cache@v4 for ~/.nuget/packages keyed on csproj hashes.
Saves ~30-60s on subsequent CI runs.

Supersedes Repo Assist #66.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-18 10:18:37 -07:00
Scott Hanselman
c8e55fe194 ci: sign ARM64 artifacts on x64 runner in release job
Some checks failed
Build and Test / test (push) Has been cancelled
Build and Test / build (win-x64) (push) Has been cancelled
Build and Test / build (win-arm64) (push) Has been cancelled
Build and Test / build-msix (ARM64, win-arm64) (push) Has been cancelled
Build and Test / build-msix (x64, win-x64) (push) Has been cancelled
Build and Test / build-extension (arm64) (push) Has been cancelled
Build and Test / build-extension (x64) (push) Has been cancelled
Build and Test / release (push) Has been cancelled
The Azure Trusted Signing dlib (x64) fails with exit code 3 when
running under emulation on the ARM64 runner (windows-11-arm).

Fix: Skip signing in the build/build-msix jobs for ARM64 targets.
Instead, sign ARM64 executables and MSIX packages in the release job,
which runs on windows-latest (x64) where the signing dlib works.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-17 20:46:33 -07:00
Scott Hanselman
6817bbffcb
ci: add OpenClaw.Tray.Tests to the CI test job
The 93-test Tray test suite (added in PR #45) was never wired into CI. Adds build + run steps for OpenClaw.Tray.Tests so all 571 tests validate on every push/PR.

Closes #58

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-17 19:02:39 -07:00
Scott Hanselman
8e4c7bd587
chore: remove WinForms tray app (OpenClaw.Tray) (#50)
WinUI tray has full feature parity plus Node Mode, Activity Stream,
session management, cost tracking, localization, and modern XAML UI.

- Remove src/OpenClaw.Tray/ (28 files, ~4900 lines)
- Remove from solution file
- Remove WinForms build step from CI

Installer already only references WinUI. Settings.json format is
unchanged — no migration needed.

Closes #44
2026-03-16 21:58:19 -07:00
Scott Hanselman
c78b0eca65
Use native ARM64 runner for ARM64 builds (#36)
The build-msix (win-arm64) job was failing with MSB3030 because
the x64 GitHub Actions runner doesn't have the ARM64 apphost.exe
for cross-compilation.

Switch both build and build-msix jobs to use the free
windows-11-arm runner for ARM64 matrix entries, building natively
instead of cross-compiling.
2026-03-16 17:55:20 -07:00
Scott Hanselman
e37f6ddf22 Add agentic workflow repo-assist 2026-03-16 17:01:11 -07:00
Scott Hanselman
665425c612 fix: use non-deprecated signing-account-name in trusted-signing-action 2026-02-07 20:21:39 -08:00
Scott Hanselman
019d6e0e89 fix: MSIX publisher mismatch and resilient release pipeline
- Update Package.appxmanifest Publisher to match Azure Trusted Signing cert subject
- Make build-msix continue-on-error so release isn't blocked by MSIX failures
- Add fail-fast: false to build-msix matrix
- Make MSIX artifact downloads in release job continue-on-error
2026-02-07 17:38:14 -08:00
Scott Hanselman
3fc96748d5 feat: MSIX dual-distribution packaging
Add MSIX packaging support alongside existing Inno Setup/ZIP distribution.
The build now supports both packaged (MSIX) and unpackaged (EXE) modes
via the PackageMsix MSBuild property.

MSIX packaging enables:
- Native Windows camera/microphone consent prompts
- Package identity for OS integration
- Protocol activation for openclaw:// deep links via manifest

Changes:
- csproj: Conditional WindowsPackageType (None vs MSIX) toggled by
  -p:PackageMsix=true. Self-contained in both modes. ApplicationVersion
  synced from Version property for MSIX.
- Package.appxmanifest: Declares webcam, microphone, internetClient
  capabilities. Protocol handler for openclaw://. Visual assets.
- PackageHelper.cs: Runtime detection of packaged vs unpackaged mode
  via Windows.ApplicationModel.Package.Current
- App.xaml.cs: Protocol activation handling via AppInstance lifecycle API
  for MSIX deep links. Works alongside existing command-line deep links.
- DeepLinkHandler.cs: Skip registry URI registration when packaged
  (manifest handles it)
- ci.yml: New build-msix job (x64 + ARM64) parallel to existing build.
  MSIX signing via Azure Trusted Signing. MSIX artifacts in releases.
  Null-check on MSIX find step.
- Visual assets: Generated PNG logos for MSIX package tiles
- README: Added MSIX build instructions

Build modes:
  dotnet build -r win-arm64                     # Unpackaged (default)
  dotnet build -r win-arm64 -p:PackageMsix=true # MSIX package

Note: MSIX Publisher in Package.appxmanifest must match the Azure
Trusted Signing certificate subject exactly. Currently set to
'CN=Scott Hanselman' - update if cert subject differs.
2026-02-07 15:34:49 -08:00
copilot-swe-agent[bot]
80474fc348 Fix CI workflow: Add runtime identifier to WinUI build
The WinUI project has WindowsAppSDKSelfContained=true which requires
a runtime identifier to be specified during build. Updated the test job
to include -r win-x64 flag, matching the approach used in the build job.

Co-authored-by: shanselman <2892+shanselman@users.noreply.github.com>
2026-02-02 07:26:28 +00:00
Scott Hanselman
6353e05929 Complete OpenClaw rename: fix remaining references
- CI artifacts: moltbot-commandpalette -> openclaw-commandpalette
- CODE_REVIEW.md: Update class names to OpenClaw versions
- README files: moltbot.com -> openclaw.ai
- Keep repo URLs as-is (can't change without renaming repo)
2026-01-30 10:28:16 -08:00
copilot-swe-agent[bot]
db599ee513 Update documentation and build files with OpenClaw references
- Updated GitHub Actions workflow with new project paths
- Updated Tray README.md and DEVELOPMENT.md
- Updated TEST_COVERAGE.md
- All references to Moltbot now changed to OpenClaw
- Tests still passing (88/88 )

Co-authored-by: shanselman <2892+shanselman@users.noreply.github.com>
2026-01-30 10:16:19 -08:00
copilot-swe-agent[bot]
c3c7f4a7aa Rename all Moltbot references to OpenClaw
- Renamed all project directories and files
- Updated all namespaces and class names
- Updated deep link scheme from moltbot:// to openclaw://
- Updated AppData directories to OpenClawTray
- Updated README with OpenClaw references and added history note
- Updated all configuration and build files
- Kept mascot name "Molty" unchanged

Co-authored-by: shanselman <2892+shanselman@users.noreply.github.com>
2026-01-30 10:16:18 -08:00
Scott Hanselman
40e2064531 Switch CI/installer to WinUI version
- Build Moltbot.Tray.WinUI instead of WinForms
- Update installer to include all WinUI dependencies (not single-file)
- Test job builds both WinForms and WinUI to verify
- Use WinUI icon path for installer
2026-01-29 17:17:55 -08:00
Scott Hanselman
94580078ed Build separate x64 and arm64 installers
Some checks failed
Build and Test / test (push) Has been cancelled
Build and Test / build (win-arm64) (push) Has been cancelled
Build and Test / build (win-x64) (push) Has been cancelled
Build and Test / build-extension (arm64) (push) Has been cancelled
Build and Test / build-extension (x64) (push) Has been cancelled
Build and Test / release (push) Has been cancelled
- Each installer includes matching architecture tray app + Command Palette extension
- installer.iss accepts /DMyAppArch and /Dpublish parameters
- Release now includes both MoltbotTray-Setup-x64.exe and MoltbotTray-Setup-arm64.exe
2026-01-28 23:46:54 -08:00
Scott Hanselman
83d61eb641 Fix Command Palette extension and bundle in installer
Some checks failed
Build and Test / test (push) Has been cancelled
Build and Test / build (win-arm64) (push) Has been cancelled
Build and Test / build (win-x64) (push) Has been cancelled
Build and Test / build-extension (arm64) (push) Has been cancelled
Build and Test / build-extension (x64) (push) Has been cancelled
Build and Test / release (push) Has been cancelled
- Fix exe name mismatch: Moltbot.exe -> Moltbot.CommandPalette.exe in manifest
- Add AppListEntry=none to hide from Start Menu (only show in Command Palette)
- Use OpenUrlCommand from toolkit instead of custom DeepLinkCommand
- Add cmdpal-dev.ps1 script for local iteration (auto-detects arm64/x64)
- Update installer to optionally install Command Palette extension
- Add molty2.png to README
- Update CI to bundle Command Palette in installer
2026-01-28 23:33:32 -08:00
Scott Hanselman
85263a7a8a Align with BabySmash: GitVersion v4, ContinuousDelivery mode, trusted-signing v1
Some checks failed
Build and Test / test (push) Has been cancelled
Build and Test / build (win-arm64) (push) Has been cancelled
Build and Test / build (win-x64) (push) Has been cancelled
Build and Test / build-extension (arm64) (push) Has been cancelled
Build and Test / build-extension (x64) (push) Has been cancelled
Build and Test / release (push) Has been cancelled
2026-01-28 20:20:03 -08:00
Scott Hanselman
d769866cec CI: Enable useConfigFile for GitVersion 2026-01-28 20:17:40 -08:00
Scott Hanselman
bfa0e6c0f9 Add auto-updating installer with Azure Trusted Signing
- Add Updatum NuGet package for auto-updates from GitHub Releases
- Create UpdateDialog and DownloadProgressDialog (WinForms)
- Add update check on startup in Program.cs
- Create installer.iss (Inno Setup) for Windows installer
- Add GitVersion.yml for semantic versioning
- Update CI workflow with:
  - GitVersion integration
  - Azure Trusted Signing for exe and installer
  - Inno Setup installer creation
  - Release with installer + portable ZIPs (x64 + arm64)
  - Version-stamped artifacts for Updatum compatibility
2026-01-28 20:13:53 -08:00
Scott Hanselman
72a1b163aa Fix CI: build projects separately, use Debug for extension
- Test job: build Shared, Tray, and Tests separately (avoid MSIX complexity)
- Extension job: use Debug mode (avoids PublishTrimmed issues)
- PublishSingleFile only when RuntimeIdentifier specified
2026-01-28 18:58:37 -08:00
Scott Hanselman
a353355fd2 Upgrade to .NET 10 and add GitHub Actions CI
- Upgrade all projects from .NET 9 to .NET 10
- Add .github/workflows/ci.yml with:
  - Test job: runs 88 unit tests
  - Build job: builds Tray for win-x64 and win-arm64
  - Build-extension job: builds Command Palette extension
  - Release job: creates GitHub release on version tags
- All tests passing on .NET 10
2026-01-28 18:51:25 -08:00