Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 68 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,58 @@ jobs:
name: server-release
path: server-release/

build-binaries:
if: startsWith(github.ref, 'refs/tags/')

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Always build the binaries (to spot issues early), not only on a tag / release.

strategy:
matrix:
include:
- os: macos-latest
arch: arm64
artifact_name: modelica-language-server-macos-arm64
- os: macos-13
arch: x64
artifact_name: modelica-language-server-macos-x64
- os: windows-latest
arch: x64
artifact_name: modelica-language-server-windows-x64.exe
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v6

- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: 24

- name: Install server dependencies
working-directory: server
run: npm ci

- name: Build standalone binary
working-directory: server
run: npm run build:standalone

- name: Stage binary
working-directory: server
shell: bash
run: |
mkdir -p ../server-release
if [ "${{ runner.os }}" = "Windows" ]; then
cp out/modelica-language-server.exe ../server-release/${{ matrix.artifact_name }}
else
cp out/modelica-language-server ../server-release/${{ matrix.artifact_name }}
fi

- name: Archive binary
uses: actions/upload-artifact@v7
with:
name: ${{ matrix.artifact_name }}
path: server-release/${{ matrix.artifact_name }}

release:
if: startsWith(github.ref, 'refs/tags/')
needs: build
needs: [build, build-binaries]
runs-on: ubuntu-latest
permissions:
contents: write
Expand All @@ -106,6 +155,21 @@ jobs:
name: server-release
path: server-release/

- uses: actions/download-artifact@v8
with:
name: modelica-language-server-macos-arm64
path: server-release/

- uses: actions/download-artifact@v8
with:
name: modelica-language-server-macos-x64
path: server-release/

- uses: actions/download-artifact@v8
with:
name: modelica-language-server-windows-x64.exe
path: server-release/

- name: Release
uses: softprops/action-gh-release@v3
with:
Expand All @@ -115,6 +179,9 @@ jobs:
server-release/tree-sitter-modelica.wasm
server-release/web-tree-sitter.wasm
server-release/modelica-language-server-linux-x64
server-release/modelica-language-server-macos-arm64
server-release/modelica-language-server-macos-x64
server-release/modelica-language-server-windows-x64.exe
fail_on_unmatched_files: true
generate_release_notes: true
append_body: true
Expand Down
Loading