Skip to content

Show the code of messages in the editor font and link the lines they name #178

Show the code of messages in the editor font and link the lines they name

Show the code of messages in the editor font and link the lines they name #178

Workflow file for this run

name: Test
on:
push:
branches: [main]
pull_request:
workflow_call:
concurrency:
group: test-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
checks:
name: Checks
runs-on: ubuntu-latest
defaults:
run:
working-directory: client
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Java
uses: actions/setup-java@v4
with:
java-version: 21
distribution: temurin
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
cache-dependency-path: client/package-lock.json
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run lint
- name: Type-check
run: npx tsc --noEmit
- name: Unit tests
run: npm run test:unit
- name: Type-check tests
run: npm run test:typecheck
- name: Build and test server
working-directory: server
run: |
mvn -B package
mkdir -p ../client/server
cp target/language-server-liquidjava.jar ../client/server/
- name: Package extension
run: npx vsce package --out liquid-java.vsix
- name: Check packaged runtime files
run: |
unzip -Z1 liquid-java.vsix > /tmp/liquid-java-vsix-files.txt
grep -Fx 'extension/dist/server/language-server-liquidjava.jar' /tmp/liquid-java-vsix-files.txt
grep -Fx 'extension/media/webview.js' /tmp/liquid-java-vsix-files.txt
- name: Upload checked extension
uses: actions/upload-artifact@v4
with:
name: liquid-java-vsix
path: client/liquid-java.vsix
if-no-files-found: error
retention-days: 1
integration:
name: VS Code integration (${{ matrix.version }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version: [stable, minimum]
defaults:
run:
working-directory: client
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Java
id: java
uses: actions/setup-java@v4
with:
java-version: 21
distribution: temurin
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
cache-dependency-path: client/package-lock.json
- name: Install dependencies
run: npm ci
- name: Build server
run: npm run build:server
- name: Run VS Code fixture tests
env:
JAVA_HOME: ${{ steps.java.outputs.path }}
VSCODE_TEST_VERSION: ${{ matrix.version }}
run: xvfb-run -a npm test
- name: Upload VS Code logs
if: failure()
uses: actions/upload-artifact@v4
with:
name: vscode-logs-${{ matrix.version }}
path: client/.vscode-test/user-data/logs
if-no-files-found: ignore