@@ -16,72 +16,28 @@ jobs:
1616 - name : Run ESLint
1717 run : npm run eslint
1818
19- build-test-native-image :
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 }}
35- steps :
36- - uses : actions/checkout@v4
37- with :
38- repository : ' eclipse/lemminx'
39- - uses : graalvm/setup-graalvm@557ffcf459751b4d92319ee255bf3bec9b73964c # v1.2.5
40- with :
41- distribution : graalvm-community
42- java-version : 17
43- - run : ./mvnw -B package -Dnative -DskipTests ${{ matrix.opt }} -Dcbi.jarsigner.skip=true
44- - run : mv org.eclipse.lemminx/target/lemminx-* lemminx-${{ matrix.label }}
45- - uses : actions/upload-artifact@v4
46- with :
47- name : lemminx-${{ matrix.label }}
48- path : lemminx-${{ matrix.label }}
49- if-no-files-found : error
50-
51- smoke-test :
19+ matrix-smoke-test :
5220 strategy :
5321 fail-fast : false
5422 matrix :
55- label : [linux-x86_64, linux-aarch64 , osx-x86_64, osx-aarch64 ]
23+ label : [linux-x86_64, linux-aarch_64 , osx-x86_64, osx-aarch_64 ]
5624 include :
5725 - label : linux-x86_64
5826 os : ubuntu-latest
5927 startx : xvfb-run
60- - label : linux-aarch64
28+ graalOpt : -Dgraalvm.static=-H:+StaticExecutableWithDynamicLibC
29+ - label : linux-aarch_64
6130 os : ubuntu-24.04-arm
6231 startx : xvfb-run
32+ graalOpt : -Dgraalvm.static=-H:+StaticExecutableWithDynamicLibC
6333 - label : osx-x86_64
6434 os : macos-13
65- - label : osx-aarch64
35+ - label : osx-aarch_64
6636 os : macos-latest
67- runs-on : ${{ matrix.os }}
68- needs : build-test-native-image
69- steps :
70- - uses : actions/checkout@v4
71- - uses : actions/download-artifact@v4
72- with :
73- name : lemminx-${{ matrix.label }}
74- path : server
75- - name : Make lemminx binary executable
76- run : chmod u+x ./server/lemminx-${{ matrix.label }}
77- - name : Make lemminx binary trusted
78- run : openssl sha256 ./server/lemminx-${{ matrix.label }} | awk '{print $2}' > ./server/lemminx-${{ matrix.label }}.sha256
79- - name : Install dependencies
80- run : npm i --also=dev
81- - name : Run smoke test suite
82- run : ${{ matrix.startx }} npm test
83- - name : Delete lemminx binary
84- if : always()
85- uses : geekyeggo/delete-artifact@e46cfb9575865f907c2beb2e4170b5f4c7d77c52
86- with :
87- name : lemminx-${{ matrix.label }}
37+ uses : ./.github/workflows/smoke-test.yaml
38+ with :
39+ os : ${{ matrix.os }}
40+ label : ${{ matrix.label }}
41+ graalOpt : ${{ matrix.graalOpt }}
42+ startx : ${{ matrix.startx }}
43+ secrets : inherit
0 commit comments