@@ -43,8 +43,106 @@ jobs:
4343 - name : Install Clojure
4444 uses : DeLaGuardo/setup-clojure@master
4545 with :
46- cli : ' 1.12.0.1495 '
47- bb : ' 0.9.161 '
46+ cli : ' 1.12.0.1530 '
47+ bb : ' 1.12.200 '
4848
4949 - name : Run tests
5050 run : bb test
51+ jvm-integration-test :
52+ runs-on : ${{matrix.os}}
53+ strategy :
54+ fail-fast : false
55+ matrix :
56+ os : [ubuntu-22.04]
57+ jdk : [17]
58+ include :
59+ - os : windows-latest
60+ jdk : 17
61+ - os : macos-latest
62+ jdk : 17
63+ steps :
64+ - uses : actions/checkout@v4
65+ with :
66+ fetch-depth : 0
67+
68+ - name : Set up JDK ${{ matrix.jdk }}
69+ uses : actions/setup-java@v3
70+ with :
71+ distribution : ' adopt'
72+ java-version : ${{ matrix.jdk }}
73+
74+ - name : Install clojure build tools
75+ uses : DeLaGuardo/setup-clojure@master
76+ with :
77+ cli : ' 1.12.0.1530'
78+ bb : ' 1.12.200'
79+
80+ - name : Generate embedded binary
81+ run : bb prod-cli
82+
83+ - name : Run integration tests
84+ run : bb integration-test
85+
86+ graalvm-build :
87+ runs-on : ubuntu-22.04
88+ strategy :
89+ fail-fast : false
90+ steps :
91+ - uses : actions/checkout@v4
92+ - name : Install Clojure
93+ uses : DeLaGuardo/setup-clojure@master
94+ with :
95+ cli : ' 1.12.0.1530'
96+ bb : ' 1.12.200'
97+
98+ - uses : graalvm/setup-graalvm@v1
99+ with :
100+ java-version : ' 21'
101+ distribution : ' graalvm'
102+ native-image-musl : ' true'
103+ github-token : ${{ secrets.GITHUB_TOKEN }}
104+
105+ - name : Build static Linux native image
106+ env :
107+ ECA_JAR : " eca.jar"
108+ ECA_XMX : " -J-Xmx6g"
109+ ECA_STATIC : true
110+ ECA_MUSL : true
111+ run : |
112+ bb native-cli
113+
114+ - name : Compress binary
115+ uses : svenstaro/upx-action@v2
116+ with :
117+ file : eca
118+
119+ - name : Upload
120+ uses : actions/upload-artifact@v4
121+ with :
122+ name : eca-native
123+ path : eca
124+
125+ graalvm-integration-test :
126+ needs : graalvm-build
127+ runs-on : ubuntu-22.04
128+ strategy :
129+ fail-fast : false
130+ steps :
131+ - uses : actions/checkout@v4
132+
133+ - name : Install clojure build tools
134+ uses : DeLaGuardo/setup-clojure@master
135+ with :
136+ cli : ' 1.12.0.1530'
137+ bb : ' 1.12.200'
138+
139+ - uses : actions/download-artifact@v4
140+ name : eca-native
141+
142+ - name : Setup binary
143+ run : |
144+ cp -rf eca-native/eca eca
145+ chmod +x eca
146+
147+ - name : Run integration tests
148+ run : bb integration-test
0 commit comments