69 lines
2.0 KiB
YAML
69 lines
2.0 KiB
YAML
name: Multiple Platforms Builds for Language Servers
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
java_version:
|
|
description: JDK version to build the artifacts
|
|
required: false
|
|
default: '21'
|
|
type: string
|
|
skip_tests:
|
|
description: skip ls tests execution
|
|
required: false
|
|
default: false
|
|
type: boolean
|
|
workflow_call:
|
|
inputs:
|
|
java_version:
|
|
description: JDK version to build the artifacts
|
|
required: false
|
|
default: '21'
|
|
type: string
|
|
skip_tests:
|
|
description: skip ls tests execution
|
|
required: false
|
|
default: false
|
|
type: boolean
|
|
|
|
jobs:
|
|
build:
|
|
name: Build
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
sparse-checkout: |
|
|
.github
|
|
headless-services
|
|
eclipse-language-servers
|
|
- name: Set up JDK 21
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
java-version: '21'
|
|
distribution: 'temurin'
|
|
- name: Enforce https instead of http
|
|
run: ./nohttp.sh
|
|
- name: Build Language Servers JARs on Linux
|
|
if: matrix.os == 'ubuntu-latest'
|
|
run: |
|
|
cd headless-services
|
|
if command -v xvfb-run ; then
|
|
xvfb-run ./mvnw --batch-mode clean install -DskipTests=${{ inputs.skip_tests }}
|
|
else
|
|
./mvnw --batch-mode clean install -DskipTests=${{ inputs.skip_tests }}
|
|
fi
|
|
- name: Build Language Servers JARs on Windows
|
|
if: matrix.os == 'windows-latest'
|
|
run: |
|
|
cd headless-services
|
|
.\mvnw.cmd --batch-mode clean install -DskipTests=${{ inputs.skip_tests }}
|
|
- name: Build Language Servers JARs on Mac OSX
|
|
if: matrix.os == 'macos-latest'
|
|
run: |
|
|
cd headless-services
|
|
./mvnw --batch-mode clean install -DskipTests=${{ inputs.skip_tests }}
|