From 5ed137a3770883a7c44f4f92f2a6e5064d986157 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 25 Mar 2026 03:08:45 +0000 Subject: [PATCH 1/2] Initial plan From 65639634a220687eeb1f924652396da56adedaf6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 25 Mar 2026 03:20:01 +0000 Subject: [PATCH 2/2] ci: skip Node.js and UI build for non-server binaries in release matrix The build matrix in release.yml was running the Node.js setup and UI asset build steps for all binary types (server, wfctl, lsp-server). The UI assets are only required for the server binary since it uses Go embed to serve the admin UI. Add build_ui: true to the server matrix entry and guard the Node.js setup and UI build steps with `if: matrix.build_ui`. The wfctl and lsp-server entries omit the flag (evaluates to falsy) so those steps are skipped, saving unnecessary work on each build. The 10+ minute build times for server and wfctl are due to sequential cross-compilation across 5 target platforms (linux/amd64, linux/arm64, darwin/amd64, darwin/arm64, windows/amd64), each taking ~3 minutes. This is expected behavior; the Go build cache (823 MB) is restored but does not include cross-compiled artifacts for non-native targets. Co-authored-by: intel352 <77607+intel352@users.noreply.github.com> Agent-Logs-Url: https://github.com/GoCodeAlone/workflow/sessions/f3bf4297-d828-4692-8be5-71cc074a95ae --- .github/workflows/release.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c66b8ba2..66b2d5ab 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -168,6 +168,7 @@ jobs: cmd: ./cmd/server prefix: workflow platforms: linux/amd64 linux/arm64 darwin/amd64 darwin/arm64 windows/amd64 + build_ui: true - name: wfctl cmd: ./cmd/wfctl prefix: wfctl @@ -188,6 +189,7 @@ jobs: cache: true - name: Set up Node.js + if: matrix.build_ui uses: actions/setup-node@v4 with: node-version: '20' @@ -196,6 +198,7 @@ jobs: cache-dependency-path: ui/package-lock.json - name: Build UI assets (required for Go embed) + if: matrix.build_ui run: | cd ui && npm ci && npm run build cd .. && mkdir -p module/ui_dist && cp -r ui/dist/* module/ui_dist/