Commit Graph
43 Commits
Author SHA1 Message Date
abccodes fe52665193 [aidan] fix/spotify-drm: VMP-sign packaged builds so Widevine playback works 2026-07-01 18:28:53 -07:00
ciregenz 2d82b13a1a [eric] ci: gitleaks fetches full main so renames scan incrementally not full-history 2026-06-15 13:54:40 -07:00
ciregenz 09fc33beaf [eric] release: bump version to 1.2.75 2026-06-09 03:02:16 -07:00
ciregenz 4e78925395 [eric] release: bump version to 1.2.73 2026-06-08 14:56:24 -07:00
ciregenz d798b61121 [eric] release: bump version to 1.1.72 2026-06-01 15:59:13 -07:00
ciregenz d544025142 [eric] ci: skip macOS release steps when Apple secrets absent (Mac ships via publish.sh) + drop EP_PRE_RELEASE checkbox-forcing 2026-05-31 17:17:59 -07:00
ciregenz b1762d1187 [eric] ci: publish windows squirrel assets via gh (not electron-builder) so the installer keeps the OpenSwarm-Setup-x64.exe name 2026-05-31 16:06:50 -07:00
ciregenz 67894bdfcf [eric] ci: build windows release with -Squirrel override so the installer is named OpenSwarm-Setup-x64.exe (matches landing page + latest.yml) 2026-05-31 15:45:02 -07:00
ciregenz b0c4278ccb [eric] ci: bypass the dogfood release-gate for macOS too (mirrors release-windows) so v1.1.71 builds the DMG 2026-05-31 15:28:03 -07:00
ciregenz 3c32fe7773 [eric] ci: ship experimental builds as semver-suffix channel (not GH pre-release) so allowPrerelease clients actually see them 2026-05-31 14:26:59 -07:00
ciregenz 329e43ce2c [eric] win: generate latest.yml for squirrel releases so existing NSIS clients can migrate 2026-05-31 13:06:06 -07:00
ciregenz e7dde47869 [eric] ci: point the squirrel build workflow at the renamed squirrel branch 2026-05-29 22:22:43 -07:00
ciregenz 81cabb5390 [eric] ci: push-triggered Squirrel installer build for personal install-and-feel testing 2026-05-29 18:55:24 -07:00
ciregenz f7741de556 [eric] ci: bypass dogfood release-gate for v1.1.70 windows build 2026-05-29 13:09:02 -07:00
ciregenz 96f647c851 [eric] ci: fix invalid flow-mapping env in release workflows (0-job parse failure) 2026-05-29 13:05:00 -07:00
Eric 88ff712c2e [eric] ci: drop the dogfood cron, run only on build-affecting pushes + dispatch
- the every-2-hours cron spent a full packaged-app build 12x/day just to tick;
  remove it and rely on the existing path-gated push trigger plus dispatch
- release-readiness now accrues its consecutive-clean streak from push/dispatch
  runs rather than the clock; fire workflow_dispatch a few times before a
  release if the streak is short
2026-05-29 12:18:47 -07:00
Eric 2b4d90edaa [eric] ci: parallelize + cache the e2e gate to cut push wall-clock under ~10 min
- split the single windows e2e job into parallel jobs: gate (pure-node
  selftests, no build), verify (build + verify-all), playwright (build +
  renderer suite). verify and playwright run concurrently so wall-clock is
  max(verify, playwright), not their sum
- build the UNPACKED app on the gate path (electron-builder --dir via a new
  -DirOnly switch in build-app-win.ps1), skipping the ~2min NSIS LZMA
  compression. verify-all drives win-unpacked\OpenSwarm.exe; afterPack +
  locale paks still run in the pack phase, and verify-update-feed skips
  cleanly when no installer feed is present
- cache the heavy build inputs (bundled Python env, uv, MCP bundles) + npm
  across runs, keyed on their source manifests; the build script already skips
  any input already on disk, so warm builds are fast
- move the destructive installer cycle to its own job gated off routine pushes
  (runs on PR-to-main / dispatch; release-windows.yml covers v* tags)
- apply the same caching to dogfood (shares cache keys, so the two warm each other)
2026-05-28 23:55:32 -07:00
Eric d6e6f9e9e0 [eric] ci: drop macOS legs and gate the packaged-app build on artifact paths
- e2e + dogfood matrices are now windows-latest only: GitHub's scarce mac
  runners left the macos legs perpetually queued/starved and they surfaced
  mac-only failures untriageable from the Windows dev box, so the whole
  matrix read red
- remove the now-dead macOS build steps; re-add macos-14/macos-13 (matrix
  edit + workflow_dispatch) when a Mac maintainer can own them
- gate the expensive build on artifact-affecting paths only (electron,
  frontend, backend, e2e, build+ci scripts) plus PRs to main + dispatch;
  cheap hermetic gates still run on every push
- verify-release-readiness defaults to --require win32 so the removed darwin
  leg does not block every v* tag forever
2026-05-28 23:14:01 -07:00
Eric d8c4aeb137 [eric] e2e+ci: addInitScript in launchApp setting __OPENSWARM_E2E__=true before bundle.js parses so the production-build store-on-window gate fires for specs that drive Redux directly, plus chain selftest-pairwise into verify-all and the e2e workflow so the covering-array math is validated on every CI push 2026-05-28 09:35:27 -07:00
Eric 643f159205 [eric] ci: change dogfood cron from every-six-hours to every-two-hours so twelve consecutive clean runs accrue in twenty-four hours instead of three days while keeping cost at roughly one third of an every-thirty-minutes cadence 2026-05-28 09:24:01 -07:00
Eric d6dd58bc65 [eric] ci: add dogfood.yml scheduled every six hours across windows-latest+macos-13+macos-14 that builds, runs verify-dogfood, uploads the per-leg manifest, then aggregates into preflight-tunings.json; gate both release-windows and release-macos on a release-gate job that downloads the latest tunings via gh run download and runs verify-release-readiness so a v* tag halts before signing if the dogfood loop has not validated twelve consecutive clean runs per platform 2026-05-28 09:17:21 -07:00
Eric 6fc7e23bbe [eric] ci: chain the four new preflight verifiers (selftest, rigs, race, matrix) at the head of verify-all and add hostile-env legs to e2e.yml so network=blocked + appdata=readonly + lang=de-DE all run on every push 2026-05-28 02:13:21 -07:00
Eric 969cc07a5e [eric] ci: gitignore the per-run e2e trace dir and upload it as an artifact on every leg so a failed run is downloadable, not a black box 2026-05-28 00:35:20 -07:00
Eric 1cf401b393 [eric] ci: fail the release if the signed installer or app isnt actually signed and notarized 2026-05-27 19:11:12 -07:00
Eric 7192b27e44 [eric] ci: run the full gate (selftest, verify-all, gui hand, installer) on every leg and span mac intel plus arm 2026-05-27 19:11:12 -07:00
Eric f133b44a12 [eric] ci: skip the heavy e2e build on docs-only pushes 2026-05-27 13:05:03 -07:00
Eric af16274934 [eric] ci: auto-verify both update feeds agree + resolve whenever a release is published 2026-05-27 13:02:36 -07:00
Eric 35280166f1 [eric] ci: drop the retired windows-2019 image, add an opt-in self-hosted win10 lane instead 2026-05-27 13:01:45 -07:00
Eric 0d4dbd35df [eric] ci: add a windows-2019 (win10-era kernel) runner to the e2e matrix so older windows is covered too 2026-05-27 12:51:46 -07:00
Eric 7dcb99cdec [eric] ci: run the e2e matrix on eric/lock pushes so the real app boot is verified on win + mac 2026-05-27 12:02:51 -07:00
Eric 33d2797d8f [eric] ci: drop the half-baked windows-artifact-smoke stub since e2e already smokes the real packaged app 2026-05-27 11:25:10 -07:00
Eric de599151f2 [eric] docs: move the release runbook, checklist + squirrel plan into docs/ so root stops feeling cluttered 2026-05-27 11:03:43 -07:00
Eric 1fc4ab9163 [eric] test: drive the real packaged app on mac + windows to catch breakage early 2026-05-27 10:19:53 -07:00
Eric 202c656b15 [eric] ci: build the mac app in the cloud so both platforms come from one commit 2026-05-27 10:19:53 -07:00
Eric 54a7cb96b4 [eric] ci: boot the packaged backend in ci + check its health and agent endpoints 2026-05-27 10:19:53 -07:00
Eric 4f61b6cd49 [eric] ci: pin build node to 20.18.1 to match the runtime we ship 2026-05-27 10:19:52 -07:00
ciregenz fd32b622bd [eric] lint: wire structlint CI job 2026-05-23 04:21:13 -07:00
ciregenz a5277cb732 [eric] ci: skip gitleaks scan when new-branch push has no commits ahead of main
Workflow's new-branch fallback fell through to a full repo scan whenever
merge-base with main equaled HEAD (empty range). That re-flagged every
historical secret a prior PR had already cleared. Now: empty range means
nothing new to scan, log + exit clean. Genuine no-shared-history case
still falls through to full scan.
2026-05-20 01:51:57 -07:00
ciregenz 49e0ed3d2f experimental updates: opt-in prerelease channel via settings toggle + semver-suffix auto-detect in publish 2026-05-19 22:10:22 -07:00
ciregenz acd179d20e [eric] gitleaks org-license fix; picker filter footer; trim+cache MCP gate prompt; losses compression caching on llm response (20% improvement avg) 2026-05-07 00:28:57 -07:00
ciregenz 11487456b5 eric] Google OAuth via cloud-proxy + gitleaks CI 2026-05-06 13:28:35 -07:00
ciregenz 1a12db5d78 [eric] 1.0.26: OAuth/MCP reliability + chat UX polish 2026-04-26 15:29:36 -07:00
Eric 9ff07443db [eric] windows shipping: electron-builder win+nsis + Azure Trusted Signing hook, build-app-win.ps1 / build-python-env-win.ps1 mirroring mac, release-windows.yml tag-triggered CI, icon.ico + .env.windows.example, .claude/ + .env.* gitignored. Runtime fixes: PYTHONUTF8=1 (cp1252 UnicodeDecode), python.exe / Lib\site-packages paths, PYTHONPATH path.delimiter, taskkill /T /F process tree, OAuth UA platform branch, sign-vmp postinstall via node wrapper. Backend: _resolve_command PATHEXT probing (fixes uvx not found), UV_PYTHON Windows path. Cross-env added to 9router+electron for NODE_ENV prefix on cmd. Onboarding: poll subscriptions/status while connect step is open, render Connected for active providers (was stuck on "Connect" after 30s OAuth poll timeout). 2026-04-21 18:15:49 -07:00