Commit Graph

72 Commits

Author SHA1 Message Date
Omar McAdam
2b91b4d777 refactor: repo folder structure (#1038)
* refactor(repo): move OpenWork apps into apps and ee layout

Rebase the monorepo layout migration onto the latest dev changes so the moved app, desktop, share, and cloud surfaces keep working from their new paths. Carry the latest deeplink, token persistence, build, Vercel, and docs updates forward to avoid stale references and broken deploy tooling.

* chore(repo): drop generated desktop artifacts

Ignore the moved Tauri target and sidecar paths so local cargo checks do not pollute the branch. Remove the accidentally committed outputs from the repo while keeping the layout migration intact.

* fix(release): drop built server cli artifact

Stop tracking the locally built apps/server/cli binary so generated server outputs do not leak into commits. Also update the release workflow to check the published scoped package name for @openwork/server before deciding whether npm publish is needed.

* fix(workspace): add stable CLI bin wrappers

Point the server and router package bins at committed wrapper scripts so workspace installs can create shims before dist outputs exist. Keep the wrappers compatible with built binaries and source checkouts to avoid Vercel install warnings without changing runtime behavior.
2026-03-19 11:41:38 -07:00
blacksmith-sh[bot]
bd78fd1300 Migrate workflows to Blacksmith (#927)
Co-authored-by: blacksmith-sh[bot] <157653362+blacksmith-sh[bot]@users.noreply.github.com>
(cherry picked from commit a2e043f852)
2026-03-15 16:06:20 -07:00
Benjamin Shafii
ce65056615 revert: roll back post-5831626 CI pipeline changes 2026-03-15 13:03:03 -07:00
Benjamin Shafii
a433814b5d fix(ci): run orchestrator publish from package cwd 2026-03-15 12:43:19 -07:00
Benjamin Shafii
a034be242a chore(ci): disable linux arm gha build 2026-03-15 12:25:02 -07:00
Omar McAdam
83459c3352 ci: split desktop release packaging (#935) 2026-03-15 10:05:07 -07:00
Omar McAdam
b3040ce0dd ci: fix windows release diagnostics (#934) 2026-03-15 08:08:10 -07:00
Omar McAdam
a570ce7880 ci: streamline desktop release packaging (#933) 2026-03-15 07:55:48 -07:00
Omar McAdam
107ca63e80 ci: pin release runners per target (#929) 2026-03-14 21:53:41 -07:00
blacksmith-sh[bot]
a2e043f852 Migrate workflows to Blacksmith (#927)
Co-authored-by: blacksmith-sh[bot] <157653362+blacksmith-sh[bot]@users.noreply.github.com>
2026-03-14 20:47:08 -07:00
Benjamin Shafii
371adb5cbe ci: route all Linux release builds through larger runner
Use the configured larger-runner label for both Linux release matrix targets so x86_64 and aarch64 builds share the same faster GitHub-hosted runner path and logging.
2026-03-14 20:10:23 -07:00
Benjamin Shafii
5831626ca3 ci: route Linux x64 builds through configurable larger runner
Allow release and desktop workflows to target the new GitHub-hosted larger runner without hard-coding it, while keeping ubuntu-22.04 as a fallback and logging the effective runner selection.
2026-03-14 17:38:22 -07:00
Benjamin Shafii
90f1310aa9 ci: pin default OpenCode version to 1.2.20 2026-03-06 11:11:16 -08:00
Benjamin Shafii
cb130b3242 fix(release): support draft releases in updater and AUR jobs 2026-02-20 17:23:55 -08:00
ben
8e2d5f39ac fix(release): keep tag releases draft until updater metadata is ready (#628) 2026-02-20 16:13:55 -08:00
ben
80d880a23d fix(release): publish deterministic updater platforms metadata (#627) 2026-02-20 14:08:07 -08:00
Jakub Husák
f2bcf05e0e Linux arm64 build and release (#582)
* Initial plan

* Add ARM64 build support to workflows and AUR packaging

Co-authored-by: koubas <1354930+koubas@users.noreply.github.com>

* Fix: Add noextract field update to AUR script

Co-authored-by: koubas <1354930+koubas@users.noreply.github.com>

* Add comment explaining temporary SKIP checksum for ARM64

Co-authored-by: koubas <1354930+koubas@users.noreply.github.com>

* Make cross-compilation tools conditional on runner architecture

Cross-compilation tools (gcc-aarch64-linux-gnu) are now only installed when actually cross-compiling (x86_64 → ARM64). Native ARM64 runners will use native compilation without these tools.

This enables flexible deployment:
- Default: Cross-compilation on ubuntu-22.04 (free tier)
- Optional: Native compilation on ubuntu-*-arm64 or self-hosted ARM64 runners

The workflow auto-detects via runner.arch context.

Co-authored-by: koubas <1354930+koubas@users.noreply.github.com>

* Remove cross-compilation tools installation for native ARM64 runners

Since we're running on native ARM64 runners, cross-compilation tools are not needed. The native toolchain will be used directly for ARM64 builds.

This simplifies the workflow and improves build performance by removing unnecessary package installation.

Co-authored-by: koubas <1354930+koubas@users.noreply.github.com>

* Refactor: Extract SHA256 checksum calculation to reusable function

Eliminates code duplication by creating a single compute_sha256() function
that is called twice, instead of duplicating the Python code block.

Benefits:
- Reduced script from 132 to 123 lines (9 lines saved)
- Single source of truth for checksum logic
- Easier to maintain and modify in the future
- Follows DRY (Don't Repeat Yourself) principle

Co-authored-by: koubas <1354930+koubas@users.noreply.github.com>

* Fix: Update comment to use consistent terminology

Co-authored-by: koubas <1354930+koubas@users.noreply.github.com>

* Replace Python SHA256 hashing with native sha256sum command

Simplifies the compute_sha256() function by replacing the Python implementation
with native bash sha256sum command, reducing complexity and improving performance.

Changes:
- Replaced 13-line Python function with 1-line sha256sum call
- Reduced script from 123 to 113 lines (10 lines saved)
- Eliminated Python interpreter startup overhead for hashing
- Maintains full compatibility with existing checksums

Benefits:
- Simpler, more idiomatic bash implementation
- Faster execution (no Python startup for hashing)
- Easier to read and maintain

Co-authored-by: koubas <1354930+koubas@users.noreply.github.com>

* Remove compute_sha256 function and inline sha256sum usage

Eliminates the compute_sha256() wrapper function and directly inlines
sha256sum calls, making the code simpler and more transparent.

Changes:
- Removed function definition (lines 46-49)
- Inlined sha256sum calls directly where needed
- Reduced script from 113 to 108 lines (5 lines saved)
- Updated comment to reflect direct usage

Benefits:
- Simpler code with fewer abstractions
- More direct and transparent implementation
- Easier to understand at a glance

Co-authored-by: koubas <1354930+koubas@users.noreply.github.com>

* Remove useless comments from update-aur.sh

* foo

* bar

* Bring back ARM64 cross-compilation tools

* Add Linux-ARM64-build-and-release branch to workflow

* wip

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: koubas <1354930+koubas@users.noreply.github.com>
Co-authored-by: Benjamin Shafii <benjamin.shafii@gmail.com>
2026-02-16 20:33:52 -08:00
ben
d5bfebce82 chore(ci): publish opencode-router to npm (#578)
* chore(ci): publish opencode-router to npm

* chore(ci): allow skipping tauri builds in release
2026-02-15 18:22:09 -08:00
Benjamin Shafii
c688f1a35e fix(release): pass opencode fork vars + tolerate npm 404 2026-02-15 17:53:49 -08:00
ben
695e433781 chore(ci): support forked opencode sidecar (#575)
- Allow OpenWork workflows to pull the OpenCode CLI sidecar from a configurable GitHub repo + version (OPENCODE_GITHUB_REPO/OPENCODE_VERSION).\n- Make Settings > Debug show OpenCode binary source + version (e.g. bundled · 1.1.60-openwork.1).
2026-02-15 15:26:19 -08:00
ben
6284b581f7 chore: rename openwrk to openwork-orchestrator (#573)
* chore(orchestrator): rename openwrk to openwork-orchestrator

Rename the host package and internal references from openwrk to openwork-orchestrator, and expose the CLI as 'openwork'.

Update desktop/UI runtime wiring, release workflows, and docs; bundle the Tauri sidecar as 'openwork-orchestrator' to avoid Cargo package name collisions.

* chore: keep orchestrator publish script executable

* chore: update pnpm lockfile

* chore: sync lockfile with orchestrator deps

* docs: update orchestrator usage + release notes

Document that openwork-orchestrator installs the 'openwork' CLI, update release command wording, and remove obsolete workflow branch trigger.
2026-02-15 14:24:42 -08:00
ben
32cc853d10 refactor(router): rename owpenbot to opencode-router (#567) 2026-02-14 20:53:06 -08:00
Benjamin Shafii
bf81272538 fix(release): bundle versions.json into desktop
Ship the sidecar version manifest with the app so openwrk pins the expected OpenCode version instead of resolving GitHub latest at runtime.

Add a release workflow guard that fails if macOS app bundles are missing versions.json.
2026-02-10 14:54:55 -08:00
Benjamin Shafii
eb803c56d5 fix(openwrk): publish platform-aware npm packages
Ship openwrk as a meta package plus per-platform binary packages (optionalDependencies) so macOS/Windows installs get a runnable binary.
2026-02-09 18:40:47 -08:00
Benjamin Shafii
63df079d1c fix(ci): resolve latest OpenCode with token
Use GITHUB_TOKEN for GitHub API calls and fall back to the web releases/latest redirect when the API returns 403, so CI can still default to latest.
2026-02-06 12:25:51 -08:00
Benjamin Shafii
609ca9c5e2 chore(build): default OpenCode to latest
Stop pinning OpenCode in package metadata and resolve the latest release during sidecar bundling/runtime, while still allowing OPENCODE_VERSION to pin for reproducible builds.
2026-02-06 10:27:40 -08:00
ben
21df698237 fix(release): don't let openwrk releases override OpenWork updater (#478)
* fix(release): keep openwrk releases from overriding latest

* chore(desktop): sync Cargo.lock after version bump
2026-02-05 19:14:15 -08:00
Benjamin Shafii
4634cb8571 ci(release): make npm publish wait for sidecar upload to complete
The publish-npm job now depends on release-openwrk-sidecars so the
openwrk-vX.Y.Z GitHub release exists before 'pnpm --filter openwrk
publish' runs. Uses always() with explicit result checks so the job
still runs when sidecars are skipped (publish_sidecars=false).
2026-02-05 17:45:11 -08:00
ben
5e823ac7f6 fix(release): skip npm/AUR publish when secrets missing (#471) 2026-02-05 14:49:44 -08:00
ben
ff271d43c6 ci(release): skip npm/AUR publish without secrets (#470) 2026-02-05 14:45:33 -08:00
ben
068c937a36 chore(aur): auto-publish on release (#469)
* chore(aur): publish to AUR on release

* chore(aur): make publish script executable
2026-02-05 14:14:35 -08:00
Benjamin Shafii
0a4c6dd4b1 ci: unify Release App with openwrk publishing 2026-02-05 00:01:00 -08:00
Benjamin Shafii
58ec9c03d8 ci: prevent prerelease workflow failures from pnpm/tauri/bun mismatches 2026-02-04 22:17:45 -08:00
Benjamin Shafii
a835ec8b05 ci: install OpenTUI x64 core for macOS builds 2026-02-04 21:45:38 -08:00
ben
422fe9c4fe chore: default release notarization on (#388) 2026-02-01 14:51:25 -08:00
Benjamin Shafii
644b6cbfd0 fix(release): use uploadUpdaterJson + bump 0.8.2 2026-01-30 12:40:24 -08:00
Benjamin Shafii
43797ba2b7 fix(release): gate notarization + bump 0.8.1 2026-01-30 12:34:46 -08:00
Benjamin Shafii
c3e338a052 fix(owpenbot): align bun builds and sidecar startup 2026-01-28 21:20:26 -08:00
Benjamin Shafii
660f1b4086 fix(ci): add owpenbot sidecar stub to build.rs and enable Bun on all platforms
- Add ensure_owpenbot_sidecar() to build.rs to create debug stubs when binary missing
- Remove 'if: matrix.os_type == windows' from Bun setup in CI workflows
- This fixes PreRelease builds failing because prepare:sidecar needs bun to compile owpenbot
2026-01-28 19:51:27 -08:00
ben
339edfe8d1 chore: bump opencode fallback to 1.1.36 (#295) 2026-01-27 22:59:57 -08:00
ben
9fb0186c9c fix(ci): unblock Windows builds by compiling OpenWork server sidecar (#287) 2026-01-27 17:06:57 -08:00
Benjamin Shafii
4056e5d500 chore: allow actions to open PRs 2026-01-25 18:40:14 -08:00
Benjamin Shafii
0f80e8ce6e chore(aur): update packaging for v0.3.5 2026-01-23 18:02:38 -08:00
Benjamin Shafii
895d9536c9 chore: add AUR automation scaffolding 2026-01-23 00:07:30 -08:00
ben
3246fe2e37 Merge pull request #175 from AdianKozlica/patch-1
fix: add rpm to release-macos-aarch64.yml
2026-01-21 21:44:01 -08:00
Benjamin Shafii
1ac6e65e75 fix: stabilize updater release assets 2026-01-21 21:16:01 -08:00
Adian Kozlica
28bacbcb23 revert build target 2026-01-22 00:11:36 +01:00
Adian Kozlica
3c92d0e9a4 Change target architecture to aarch64 for Linux 2026-01-21 17:32:12 +01:00
Adian Kozlica
9814746dfa fix: add rpm to release-macos-aarch64.yml
I realised I also didn't add it to this file, apologies for the mistake.
2026-01-21 15:34:08 +01:00
Benjamin Shafii
32e1f84b0f chore: move OpenWork into pnpm workspace 2026-01-20 21:12:18 -08:00