Skip to content

Commit 690902c

Browse files
committed
[WIP] add Windows!
Signed-off-by: David Thompson <davthomp@redhat.com>
1 parent e2510ed commit 690902c

File tree

2 files changed

+68
-1
lines changed

2 files changed

+68
-1
lines changed

.github/workflows/ci.yaml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
startx: xvfb-run
3232
graalOpt: -Dgraalvm.static=-H:+StaticExecutableWithDynamicLibC
3333
- label: osx-x86_64
34-
os: macos-13
34+
os: macos-15-intel
3535
- label: osx-aarch_64
3636
os: macos-latest
3737
uses: ./.github/workflows/smoke-test.yaml
@@ -41,3 +41,17 @@ jobs:
4141
graalOpt: ${{ matrix.graalOpt }}
4242
startx: ${{ matrix.startx }}
4343
secrets: inherit
44+
45+
matrix-smoke-test-windows:
46+
strategy:
47+
fail-fast: false
48+
matrix:
49+
label: [win32]
50+
include:
51+
- label: win32
52+
os: windows-latest
53+
uses: ./.github/workflows/smoke-test-windows.yaml
54+
with:
55+
os: ${{ matrix.os }}
56+
label: ${{ matrix.label }}
57+
secrets: inherit
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Smoke test (Windows)
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
os:
7+
required: true
8+
type: string
9+
label:
10+
required: true
11+
type: string
12+
13+
jobs:
14+
build-test-native-image:
15+
runs-on: ${{ inputs.os }}
16+
steps:
17+
- uses: actions/checkout@v4
18+
with:
19+
repository: 'eclipse/lemminx'
20+
- uses: graalvm/setup-graalvm@557ffcf459751b4d92319ee255bf3bec9b73964c #v1.2.5
21+
with:
22+
distribution: graalvm-community
23+
java-version: 17
24+
- run: .\mvnw.cmd -B package -Dnative -DskipTests -D "cbi.jarsigner.skip=true"
25+
- run: mv org.eclipse.lemminx\target\lemminx-* lemminx-${{ inputs.label }}.exe
26+
- uses: actions/upload-artifact@v4
27+
with:
28+
name: lemminx-${{ inputs.label }}
29+
path: lemminx-${{ inputs.label }}.exe
30+
if-no-files-found: error
31+
32+
smoke-test:
33+
runs-on: ${{ inputs.os }}
34+
needs: build-test-native-image
35+
steps:
36+
- uses: actions/checkout@v4
37+
- uses: actions/download-artifact@v4
38+
with:
39+
name: lemminx-${{ inputs.label }}
40+
path: server
41+
- name: Make lemminx binary trusted
42+
run: certUtil -hashfile .\server\lemminx-${{ inputs.label }}.exe SHA256 | findstr /v "hash" > .\server\lemminx-${{ inputs.label }}.sha256
43+
- name: show hash
44+
run: type .\server\lemminx-${{ inputs.label }}.sha256
45+
- name: Install dependencies
46+
run: npm i --also=dev
47+
- name: Run smoke test suite
48+
run: npm test
49+
- name: Delete lemminx binary
50+
if: always()
51+
uses: geekyeggo/delete-artifact@e46cfb9575865f907c2beb2e4170b5f4c7d77c52
52+
with:
53+
name: lemminx-${{ inputs.label }}

0 commit comments

Comments
 (0)