feat: integrate unused feature variables and activate enterprise capabilities #57
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: [ main, develop ] | |
pull_request: | |
branches: [ main, develop ] | |
env: | |
RUST_BACKTRACE: 1 | |
jobs: | |
test: | |
name: Test | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-24.04, windows-latest, macOS-latest] | |
rust: [stable] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: ${{ matrix.rust }} | |
components: rustfmt, clippy | |
- name: Cache cargo | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install dependencies (Ubuntu) | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt-get update | |
# Official Tauri workaround for Ubuntu 24.04 - temporarily add Ubuntu 22.04 repos for legacy WebKit | |
echo "deb http://archive.ubuntu.com/ubuntu jammy main universe" | sudo tee /etc/apt/sources.list.d/ubuntu22.list | |
sudo apt-get update | |
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev | |
# Clean up temporary repository | |
sudo rm /etc/apt/sources.list.d/ubuntu22.list | |
sudo apt-get update | |
- name: Check formatting | |
run: cargo fmt -- --check | |
- name: Run clippy on server | |
run: cargo clippy --package glsp-mcp-server --all-targets -- -D warnings | |
- name: Check if web client dist exists | |
id: check-dist | |
run: | | |
if [ -d "glsp-web-client/dist" ]; then | |
echo "dist_exists=true" >> $GITHUB_OUTPUT | |
else | |
echo "dist_exists=false" >> $GITHUB_OUTPUT | |
fi | |
shell: bash | |
- name: Run clippy on Tauri | |
if: steps.check-dist.outputs.dist_exists == 'true' | |
run: cargo clippy --package glsp-desktop --all-targets --all-features -- -D warnings | |
- name: Run tests on server | |
run: cargo test --package glsp-mcp-server | |
- name: Run tests on Tauri | |
if: steps.check-dist.outputs.dist_exists == 'true' | |
run: cargo test --package glsp-desktop | |
build-web-client: | |
name: Build Web Client | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: 'npm' | |
cache-dependency-path: glsp-web-client/package-lock.json | |
- name: Install dependencies | |
working-directory: ./glsp-web-client | |
run: npm ci | |
- name: Build | |
working-directory: ./glsp-web-client | |
run: npx vite build | |
build-tauri: | |
name: Build Tauri (Test) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-24.04, windows-latest, macOS-latest] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@stable | |
- name: Install dependencies (Ubuntu) | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt-get update | |
# Official Tauri workaround for Ubuntu 24.04 - temporarily add Ubuntu 22.04 repos for legacy WebKit | |
echo "deb http://archive.ubuntu.com/ubuntu jammy main universe" | sudo tee /etc/apt/sources.list.d/ubuntu22.list | |
sudo apt-get update | |
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev | |
# Clean up temporary repository | |
sudo rm /etc/apt/sources.list.d/ubuntu22.list | |
sudo apt-get update | |
- name: Install web client dependencies | |
working-directory: ./glsp-web-client | |
run: npm ci | |
- name: Build web client | |
working-directory: ./glsp-web-client | |
run: npx vite build | |
- name: Install Tauri dependencies | |
working-directory: ./glsp-tauri | |
run: npm ci | |
- name: Build Tauri (not bundled for CI speed) | |
working-directory: ./glsp-tauri | |
run: npx tauri build --debug |