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