Repository navigation
v6.8.24 #14
Workflow file for this run
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: Release Binaries | |
| on: | |
| release: | |
| types: [published] | |
| permissions: | |
| contents: write | |
| jobs: | |
| build: | |
| name: Build binaries for ${{ matrix.target }} | |
| runs-on: ${{ matrix.runner }} | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| include: | |
| - target: aarch64-apple-darwin | |
| runner: macos-15 | |
| proxy_asset: java-lsp-proxy-darwin-aarch64.tar.gz | |
| bridge_asset: gradle-lsp-bridge-darwin-aarch64.tar.gz | |
| - target: x86_64-apple-darwin | |
| runner: macos-15-intel | |
| proxy_asset: java-lsp-proxy-darwin-x86_64.tar.gz | |
| bridge_asset: gradle-lsp-bridge-darwin-x86_64.tar.gz | |
| - target: x86_64-unknown-linux-gnu | |
| runner: ubuntu-22.04 | |
| proxy_asset: java-lsp-proxy-linux-x86_64.tar.gz | |
| bridge_asset: gradle-lsp-bridge-linux-x86_64.tar.gz | |
| - target: aarch64-unknown-linux-gnu | |
| runner: ubuntu-22.04-arm | |
| proxy_asset: java-lsp-proxy-linux-aarch64.tar.gz | |
| bridge_asset: gradle-lsp-bridge-linux-aarch64.tar.gz | |
| - target: x86_64-pc-windows-msvc | |
| runner: windows-latest | |
| proxy_asset: java-lsp-proxy-windows-x86_64.zip | |
| bridge_asset: gradle-lsp-bridge-windows-x86_64.zip | |
| - target: aarch64-pc-windows-msvc | |
| runner: windows-11-arm | |
| proxy_asset: java-lsp-proxy-windows-aarch64.zip | |
| bridge_asset: gradle-lsp-bridge-windows-aarch64.zip | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: ${{ matrix.target }} | |
| # Build both native binaries from the workspace root. Selecting the two | |
| # packages explicitly keeps the WASM extension crate (`zed_java`, a | |
| # cdylib) out of the native target build. The Gradle bridge implements | |
| # vscode-gradle 3.18's JSON-RPC transport over platform-local IPC. | |
| - name: Build binaries | |
| run: cargo build --release --target ${{ matrix.target }} -p java-lsp-proxy -p gradle-lsp-bridge | |
| shell: bash | |
| - name: Package binaries (Unix) | |
| if: runner.os != 'Windows' | |
| run: | | |
| tar -czf ${{ matrix.proxy_asset }} \ | |
| -C target/${{ matrix.target }}/release \ | |
| java-lsp-proxy | |
| tar -czf ${{ matrix.bridge_asset }} \ | |
| -C target/${{ matrix.target }}/release \ | |
| gradle-lsp-bridge | |
| - name: Package binaries (Windows) | |
| if: runner.os == 'Windows' | |
| shell: pwsh | |
| run: | | |
| Compress-Archive -Path target/${{ matrix.target }}/release/java-lsp-proxy.exe -DestinationPath ${{ matrix.proxy_asset }} | |
| Compress-Archive -Path target/${{ matrix.target }}/release/gradle-lsp-bridge.exe -DestinationPath ${{ matrix.bridge_asset }} | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: binaries-${{ matrix.target }} | |
| path: | | |
| ${{ matrix.proxy_asset }} | |
| ${{ matrix.bridge_asset }} | |
| retention-days: 1 | |
| release: | |
| name: Create Release | |
| needs: build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Download all artifacts | |
| uses: actions/download-artifact@v8 | |
| with: | |
| path: artifacts | |
| merge-multiple: true | |
| - name: Upload release assets | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: artifacts/* |