@@ -279,6 +279,21 @@ jobs:
279279 --target ${{ matrix.target }} -p terraphim_server --bin terraphim_server
280280 ls -la "target/${{ matrix.target }}/release/terraphim_server"
281281
282+ - name : Build LSP binary
283+ if : " !matrix.use_cross"
284+ shell : bash
285+ run : |
286+ rustup run stable cargo build --release \
287+ --target ${{ matrix.target }} -p terraphim_lsp --bin terraphim-lsp
288+
289+ - name : Build LSP binary (cross / musl)
290+ if : matrix.use_cross
291+ shell : bash
292+ run : |
293+ rustup run stable cross build --release \
294+ --target ${{ matrix.target }} -p terraphim_lsp --bin terraphim-lsp
295+ ls -la "target/${{ matrix.target }}/release/terraphim-lsp"
296+
282297 - name : Verify binary versions (native builds only)
283298 if : matrix.target == 'x86_64-unknown-linux-gnu'
284299 shell : bash
@@ -310,6 +325,18 @@ jobs:
310325 tar -czf "artifacts/terraphim_server-${VERSION}-${{ matrix.target }}.tar.gz" \
311326 -C "target/${{ matrix.target }}/release" terraphim_server
312327 cp "$BIN" "artifacts/terraphim_server-${{ matrix.target }}"
328+
329+ # LSP binary (optional -- may fail on some targets, non-fatal)
330+ LSP_BIN="target/${{ matrix.target }}/release/terraphim-lsp"
331+ if [ -f "$LSP_BIN" ]; then
332+ tar -czf "artifacts/terraphim-lsp-${VERSION}-${{ matrix.target }}.tar.gz" \
333+ -C "target/${{ matrix.target }}/release" terraphim-lsp
334+ cp "$LSP_BIN" "artifacts/terraphim-lsp-${{ matrix.target }}"
335+ echo "LSP binary packaged successfully"
336+ else
337+ echo "::warning::LSP binary not found at $LSP_BIN -- skipping"
338+ fi
339+
313340 chmod +x artifacts/*
314341
315342 - name : Prepare artifacts (Windows)
@@ -326,6 +353,11 @@ jobs:
326353 7z a -tzip "../../../artifacts/terraphim_server-${VERSION}-${{ matrix.target }}.zip" terraphim_server.exe
327354 cp terraphim_server.exe "../../../artifacts/terraphim_server-${{ matrix.target }}.exe"
328355 fi
356+ # LSP binary (optional, non-fatal if missing)
357+ if [ -f "terraphim-lsp.exe" ]; then
358+ 7z a -tzip "../../../artifacts/terraphim-lsp-${VERSION}-${{ matrix.target }}.zip" terraphim-lsp.exe
359+ cp terraphim-lsp.exe "../../../artifacts/terraphim-lsp-${{ matrix.target }}.exe"
360+ fi
329361 cd -
330362
331363 - name : Upload binary artifacts
@@ -362,11 +394,26 @@ jobs:
362394 aarch64/terraphim_server-aarch64-apple-darwin \
363395 -output universal/terraphim_server-universal-apple-darwin
364396
397+ # LSP universal binary (optional -- non-fatal if missing)
398+ if [ -f "x86_64/terraphim-lsp-x86_64-apple-darwin" ] && \
399+ [ -f "aarch64/terraphim-lsp-aarch64-apple-darwin" ]; then
400+ lipo -create \
401+ x86_64/terraphim-lsp-x86_64-apple-darwin \
402+ aarch64/terraphim-lsp-aarch64-apple-darwin \
403+ -output universal/terraphim-lsp-universal-apple-darwin
404+ echo "LSP universal binary created"
405+ else
406+ echo "::warning::LSP macOS binaries missing -- skipping universal creation"
407+ fi
408+
365409 chmod +x universal/*
366410
367- echo "Verifying universal server binary:"
368- file universal/terraphim_server-universal-apple-darwin
369- lipo -info universal/terraphim_server-universal-apple-darwin
411+ echo "Verifying universal binaries:"
412+ for bin in universal/*; do
413+ echo " $bin:"
414+ file "$bin"
415+ lipo -info "$bin"
416+ done
370417
371418 - name : Upload universal binaries
372419 uses : actions/upload-artifact@v5
@@ -421,12 +468,36 @@ jobs:
421468 "$CERT_BASE64" \
422469 "$CERT_PASSWORD"
423470
471+ - name : Sign and notarize terraphim-lsp (if present)
472+ continue-on-error : true
473+ env :
474+ RUNNER_TEMP : ${{ runner.temp }}
475+ run : |
476+ if [ -f "universal/terraphim-lsp-universal-apple-darwin" ]; then
477+ ./scripts/sign-macos-binary.sh \
478+ "universal/terraphim-lsp-universal-apple-darwin" \
479+ "$APPLE_ID" \
480+ "$APPLE_TEAM_ID" \
481+ "$APPLE_APP_PASSWORD" \
482+ "$CERT_BASE64" \
483+ "$CERT_PASSWORD"
484+ else
485+ echo "LSP universal binary not found -- skipping signing"
486+ fi
487+
424488 - name : Verify signed binaries
425489 run : |
426490 echo "==> Verifying terraphim_server"
427491 codesign --verify --deep --strict --verbose=2 universal/terraphim_server-universal-apple-darwin
428492 file universal/terraphim_server-universal-apple-darwin
429493
494+ # LSP verification (optional)
495+ if [ -f "universal/terraphim-lsp-universal-apple-darwin" ]; then
496+ echo "==> Verifying terraphim-lsp"
497+ codesign --verify --deep --strict --verbose=2 universal/terraphim-lsp-universal-apple-darwin
498+ file universal/terraphim-lsp-universal-apple-darwin
499+ fi
500+
430501 - name : Upload signed binaries
431502 uses : actions/upload-artifact@v5
432503 with :
@@ -745,6 +816,9 @@ jobs:
745816 ### Server Binaries
746817 - `terraphim_server-*`: Server binaries for various platforms
747818
819+ ### LSP Binary
820+ - `terraphim-lsp-*`: Language Server Protocol binary for IDE integration
821+
748822 ### Client Binaries (agent, cli, grep)
749823 Built from [terraphim-clients](https://github.com/terraphim/terraphim-clients) and attached to this release:
750824 - `terraphim-agent-*`: Terminal UI / REPL
0 commit comments