1717 run : npm run eslint
1818
1919 build-test-native-image :
20- runs-on : ubuntu-latest
20+ strategy :
21+ matrix :
22+ label : [linux-x86_64, linux-aarch64, osx-x86_64, osx-aarch64]
23+ include :
24+ - label : linux-x86_64
25+ os : ubuntu-latest
26+ opt : -Dgraalvm.static=-H:+StaticExecutableWithDynamicLibC
27+ - label : linux-aarch64
28+ os : ubuntu-24.04-arm
29+ opt : -Dgraalvm.static=-H:+StaticExecutableWithDynamicLibC
30+ - label : osx-x86_64
31+ os : macos-13
32+ - label : osx-aarch64
33+ os : macos-latest
34+ runs-on : ${{ matrix.os }}
2135 steps :
2236 - uses : actions/checkout@v4
2337 with :
@@ -26,33 +40,47 @@ jobs:
2640 with :
2741 distribution : graalvm-community
2842 java-version : 17
29- - run : ./mvnw -B package -Dnative -DskipTests -Dgraalvm.static=-H:+StaticExecutableWithDynamicLibC -Dcbi.jarsigner.skip=true
30- - run : mv org.eclipse.lemminx/target/lemminx-* lemminx-linux
43+ - run : ./mvnw -B package -Dnative -DskipTests ${{ matrix.opt }} -Dcbi.jarsigner.skip=true
44+ - run : mv org.eclipse.lemminx/target/lemminx-* lemminx-${{ matrix.label }}
3145 - uses : actions/upload-artifact@v4
3246 with :
33- name : lemminx-linux
34- path : lemminx-linux
47+ name : lemminx-${{ matrix.label }}
48+ path : lemminx-${{ matrix.label }}
3549 if-no-files-found : error
3650
3751 smoke-test :
38- runs-on : ubuntu-latest
52+ strategy :
53+ matrix :
54+ label : [linux-x86_64, linux-aarch64, osx-x86_64, osx-aarch64]
55+ include :
56+ - label : linux-x86_64
57+ os : ubuntu-latest
58+ startx : xvfb-run
59+ - label : linux-aarch64
60+ os : ubuntu-24.04-arm
61+ startx : xvfb-run
62+ - label : osx-x86_64
63+ os : macos-13
64+ - label : osx-aarch64
65+ os : macos-latest
66+ runs-on : ${{ matrix.os }}
3967 needs : build-test-native-image
4068 steps :
4169 - uses : actions/checkout@v4
4270 - uses : actions/download-artifact@v4
4371 with :
44- name : lemminx-linux
72+ name : lemminx-${{ matrix.label }}
4573 path : server
4674 - name : Make lemminx binary executable
47- run : chmod u+x ./server/lemminx-linux
75+ run : chmod u+x ./server/lemminx-${{ matrix.label }}
4876 - name : Make lemminx binary trusted
49- run : sha256sum ./server/lemminx-linux > ./server/lemminx-linux .sha256
77+ run : openssl sha256 ./server/lemminx-${{ matrix.label }} | awk '{print $2}' > ./server/lemminx-${{ matrix.label }} .sha256
5078 - name : Install dependencies
5179 run : npm i --also=dev
5280 - name : Run smoke test suite
53- run : xvfb-run npm test
81+ run : ${{ matrix.startx }} npm test
5482 - name : Delete lemminx binary
5583 if : always()
5684 uses : geekyeggo/delete-artifact@e46cfb9575865f907c2beb2e4170b5f4c7d77c52
5785 with :
58- name : lemminx-linux
86+ name : lemminx-${{ matrix.label }}
0 commit comments