Skip to content

Bump version to 0.4.0, update description to include Rust #7

Bump version to 0.4.0, update description to include Rust

Bump version to 0.4.0, update description to include Rust #7

Workflow file for this run

name: Release
on:
push:
tags:
- 'v*'
permissions:
contents: write
jobs:
build-bun:
strategy:
matrix:
include:
- os: ubuntu-24.04
target: bun-linux-x64
suffix: linux-x64
- os: ubuntu-24.04-arm
target: bun-linux-arm64
suffix: linux-arm64
- os: macos-latest
target: bun-darwin-x64
suffix: darwin-x64
- os: macos-latest
target: bun-darwin-arm64
suffix: darwin-arm64
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install
- name: Build vslsp binary
run: bun build --compile --minify --target=${{ matrix.target }} vslsp.ts --outfile vslsp-${{ matrix.suffix }}
- name: Build vslsp-mcp binary
run: bun build --compile --minify --target=${{ matrix.target }} mcp.ts --outfile vslsp-mcp-${{ matrix.suffix }}
- name: Upload vslsp artifact
uses: actions/upload-artifact@v7
with:
name: vslsp-${{ matrix.suffix }}
path: vslsp-${{ matrix.suffix }}
- name: Upload vslsp-mcp artifact
uses: actions/upload-artifact@v7
with:
name: vslsp-mcp-${{ matrix.suffix }}
path: vslsp-mcp-${{ matrix.suffix }}
build-codemapper:
strategy:
matrix:
include:
- os: ubuntu-24.04
rid: linux-x64
suffix: linux-x64
- os: ubuntu-24.04-arm
rid: linux-arm64
suffix: linux-arm64
- os: macos-latest
rid: osx-arm64
suffix: darwin-arm64
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: '9.0.x'
- name: Build CodeMapper
run: |
dotnet publish tools/code-mapper/CodeMapper.csproj \
-c Release \
-r ${{ matrix.rid }} \
-p:PublishSingleFile=true \
-p:PublishTrimmed=true \
--self-contained true \
-o publish
mv publish/CodeMapper CodeMapper-${{ matrix.suffix }}
- name: Upload artifact
uses: actions/upload-artifact@v7
with:
name: CodeMapper-${{ matrix.suffix }}
path: CodeMapper-${{ matrix.suffix }}
build-rust-mapper:
strategy:
matrix:
include:
- os: ubuntu-24.04
target: x86_64-unknown-linux-musl
suffix: linux-x64
- os: ubuntu-24.04-arm
target: aarch64-unknown-linux-musl
suffix: linux-arm64
- os: macos-latest
target: aarch64-apple-darwin
suffix: darwin-arm64
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.target }}
- name: Install musl tools (Linux)
if: contains(matrix.target, 'musl')
run: sudo apt-get install -y musl-tools
- name: Cache Cargo registry and build
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
tools/rust-mapper/target
key: rust-mapper-${{ matrix.target }}-${{ hashFiles('tools/rust-mapper/Cargo.lock') }}
restore-keys: rust-mapper-${{ matrix.target }}-
- name: Build RustMapper
run: |
cargo build --release \
--manifest-path tools/rust-mapper/Cargo.toml \
--target ${{ matrix.target }}
cp tools/rust-mapper/target/${{ matrix.target }}/release/rust-mapper \
RustMapper-${{ matrix.suffix }}
- name: Upload artifact
uses: actions/upload-artifact@v7
with:
name: RustMapper-${{ matrix.suffix }}
path: RustMapper-${{ matrix.suffix }}
release:
needs: [build-bun, build-codemapper, build-rust-mapper]
runs-on: ubuntu-24.04
steps:
- name: Download all artifacts
uses: actions/download-artifact@v8
with:
path: artifacts
- name: Prepare release files
run: |
mkdir -p release
for dir in artifacts/*/; do
cp "$dir"* release/ || true
done
ls -la release/
- name: Create Release
uses: softprops/action-gh-release@v2
with:
files: release/*
generate_release_notes: true