From 79af80fac31a5a1fba7aa1769595b0922d6d9e6f Mon Sep 17 00:00:00 2001 From: hongjr03 Date: Fri, 29 May 2026 16:15:41 +0800 Subject: [PATCH 1/3] ci: publish standalone language server binary in release --- .github/workflows/ci.yml | 43 ++++++++++++++++++++++++++++++ .github/workflows/release.yml | 49 +++++++++++++++++++++++++++++++++-- 2 files changed, 90 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9bdfd9ae..ac54fbf1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -195,6 +195,30 @@ jobs: path: editors/vscode/vide-vscode-${{ matrix.target }}-debug.vsix if-no-files-found: error retention-days: 14 + - name: Upload dev language server binary + shell: bash + run: | + set -euo pipefail + server_dir="editors/vscode/server/${{ matrix.target }}" + if [[ "${{ matrix.target }}" == win32-* ]]; then + src="${server_dir}/vide.exe" + dst="vide-${{ matrix.target }}.exe" + else + src="${server_dir}/vide" + dst="vide-${{ matrix.target }}" + fi + if [[ ! -f "$src" ]]; then + echo "Language server binary not found: $src" >&2 + exit 1 + fi + cp "$src" "$dst" + - name: Upload dev language server binary artifact + uses: actions/upload-artifact@v4 + with: + name: vide-lsp-dev-${{ matrix.target }}-${{ steps.build-metadata.outputs.commit_hash }} + path: vide-${{ matrix.target }}* + if-no-files-found: error + retention-days: 14 dev-alpine-package: name: Dev Package (${{ matrix.target }}) @@ -300,3 +324,22 @@ jobs: path: editors/vscode/vide-vscode-${{ matrix.target }}-debug.vsix if-no-files-found: error retention-days: 14 + - name: Upload dev language server binary + shell: bash + run: | + set -euo pipefail + server_dir="editors/vscode/server/${{ matrix.target }}" + src="${server_dir}/vide" + dst="vide-${{ matrix.target }}" + if [[ ! -f "$src" ]]; then + echo "Language server binary not found: $src" >&2 + exit 1 + fi + cp "$src" "$dst" + - name: Upload dev language server binary artifact + uses: actions/upload-artifact@v4 + with: + name: vide-lsp-dev-${{ matrix.target }}-${{ steps.build-metadata.outputs.commit_hash }} + path: vide-${{ matrix.target }} + if-no-files-found: error + retention-days: 14 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 80ca0d01..8ab3eb9d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -129,6 +129,30 @@ jobs: path: editors/vscode/vide-vscode-${{ matrix.target }}.vsix if-no-files-found: error + - name: Upload language server binary + shell: bash + run: | + set -euo pipefail + server_dir="editors/vscode/server/${{ matrix.target }}" + if [[ "${{ matrix.target }}" == win32-* ]]; then + src="${server_dir}/vide.exe" + dst="vide-${{ matrix.target }}.exe" + else + src="${server_dir}/vide" + dst="vide-${{ matrix.target }}" + fi + if [[ ! -f "$src" ]]; then + echo "Language server binary not found: $src" >&2 + exit 1 + fi + cp "$src" "$dst" + - name: Upload language server binary artifact + uses: actions/upload-artifact@v4 + with: + name: vide-lsp-${{ matrix.target }} + path: vide-${{ matrix.target }}* + if-no-files-found: error + build-alpine-package: name: Package ${{ matrix.target }} needs: changelog @@ -210,6 +234,25 @@ jobs: path: editors/vscode/vide-vscode-${{ matrix.target }}.vsix if-no-files-found: error + - name: Upload language server binary + shell: bash + run: | + set -euo pipefail + server_dir="editors/vscode/server/${{ matrix.target }}" + src="${server_dir}/vide" + dst="vide-${{ matrix.target }}" + if [[ ! -f "$src" ]]; then + echo "Language server binary not found: $src" >&2 + exit 1 + fi + cp "$src" "$dst" + - name: Upload language server binary artifact + uses: actions/upload-artifact@v4 + with: + name: vide-lsp-${{ matrix.target }} + path: vide-${{ matrix.target }} + if-no-files-found: error + publish: name: Publish ${{ github.event_name == 'workflow_dispatch' && 'beta' || 'stable' }} release needs: [build-and-package, build-alpine-package] @@ -232,7 +275,7 @@ jobs: git tag -f beta "$GITHUB_SHA" git push -f origin beta - - name: Download VSIX artifacts + - name: Download artifacts uses: actions/download-artifact@v4 with: path: artifacts @@ -247,7 +290,9 @@ jobs: generate_release_notes: true fail_on_unmatched_files: true overwrite_files: true - files: artifacts/**/*.vsix + files: | + artifacts/**/*.vsix + artifacts/vide-lsp-*/** publish-marketplace: name: Publish VS Code Marketplace From 9ea0ffb8855eb46c2f278187a33225f7d5166576 Mon Sep 17 00:00:00 2001 From: Hong Jiarong Date: Fri, 29 May 2026 16:32:31 +0800 Subject: [PATCH 2/3] Update ci.yml --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ac54fbf1..ef295b6c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -197,6 +197,7 @@ jobs: retention-days: 14 - name: Upload dev language server binary shell: bash + working-directory: . run: | set -euo pipefail server_dir="editors/vscode/server/${{ matrix.target }}" From e655831ed3ce1ee051027f2d09017817dccfe8d3 Mon Sep 17 00:00:00 2001 From: Hong Jiarong Date: Fri, 29 May 2026 16:33:06 +0800 Subject: [PATCH 3/3] Update ci.yml --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ef295b6c..7a0efccf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -327,6 +327,7 @@ jobs: retention-days: 14 - name: Upload dev language server binary shell: bash + working-directory: . run: | set -euo pipefail server_dir="editors/vscode/server/${{ matrix.target }}"