Skip to content

Commit f2e1ac5

Browse files
authored
Merge pull request #11 from AaronBeier/master
Link to shared libs on linux/alpine, use latest libkoana tag
2 parents 6d8b581 + 4208845 commit f2e1ac5

1 file changed

Lines changed: 36 additions & 20 deletions

File tree

.github/workflows/koana.yml

Lines changed: 36 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@ on:
33
workflow_dispatch:
44
push:
55
branches:
6-
- main
6+
- master
77
paths:
88
- '.github/workflows/koana.yml'
99

1010
jobs:
1111
version:
1212
runs-on: ubuntu-latest
13+
outputs:
14+
version: $
1315
steps:
1416
- name: Print version
1517
id: print-version
@@ -22,11 +24,13 @@ jobs:
2224
2325
build-windows-x64:
2426
runs-on: windows-latest
27+
needs: version
2528
steps:
2629
- name: Clone koana repo
2730
uses: actions/checkout@v4
2831
with:
2932
repository: DSharpPlus/libkoana
33+
ref: ${{needs.version.outputs.version}}
3034

3135
- name: Setup VS build tools
3236
uses: seanmiddleditch/gha-setup-vsdevenv@v5
@@ -46,8 +50,7 @@ jobs:
4650
cd openssl
4751
git checkout openssl-3.5.0
4852
$env:PATH += ";C:\Program Files\NASM"
49-
C:\Strawberry\perl\bin\perl.exe Configure VC-WIN64A
50-
C:\Strawberry\perl\bin\perl.exe Configure no-makedepend
53+
C:\Strawberry\perl\bin\perl.exe Configure no-makedepend no-shared VC-WIN64A
5154
nmake
5255
5356
- name: Build koana
@@ -68,11 +71,13 @@ jobs:
6871

6972
build-windows-arm64:
7073
runs-on: windows-latest
74+
needs: version
7175
steps:
7276
- name: Clone koana repo
7377
uses: actions/checkout@v4
7478
with:
7579
repository: DSharpPlus/libkoana
80+
ref: ${{needs.version.outputs.version}}
7681

7782
- name: Setup VS build tools
7883
uses: seanmiddleditch/gha-setup-vsdevenv@v5
@@ -92,8 +97,7 @@ jobs:
9297
cd openssl
9398
git checkout openssl-3.5.0
9499
$env:PATH += ";C:\Program Files\NASM"
95-
C:\Strawberry\perl\bin\perl.exe Configure VC-WIN64-ARM
96-
C:\Strawberry\perl\bin\perl.exe Configure no-makedepend
100+
C:\Strawberry\perl\bin\perl.exe Configure no-makedepend no-shared VC-WIN64-ARM
97101
nmake
98102
99103
- name: Build koana
@@ -114,11 +118,13 @@ jobs:
114118

115119
build-linux-x64:
116120
runs-on: ubuntu-latest
121+
needs: version
117122
steps:
118123
- name: Clone koana repo
119124
uses: actions/checkout@v4
120125
with:
121126
repository: DSharpPlus/libkoana
127+
ref: ${{needs.version.outputs.version}}
122128

123129
- name: Install build tools
124130
shell: bash
@@ -132,13 +138,13 @@ jobs:
132138
git clone https://github.com/openssl/openssl
133139
cd openssl
134140
git checkout openssl-3.5.0
135-
./Configure linux-x86_64
141+
./Configure no-makedepend linux-x86_64
136142
make -j4
137143
138144
- name: Build koana
139145
shell: bash
140146
run: |
141-
cmake -B build -DCMAKE_BUILD_TYPE=Release -DOPENSSL_ROOT_DIR="./openssl/" -DOPENSSL_CRYPTO_LIBRARY="./openssl/libcrypto.a" -DOPENSSL_SSL_LIBRARY="./openssl/libssl.a" -DOPENSSL_INCLUDE_DIR="./openssl/include/"
147+
cmake -B build -DCMAKE_BUILD_TYPE=Release -DOPENSSL_ROOT_DIR="./openssl/" -DOPENSSL_CRYPTO_LIBRARY="./openssl/libcrypto.so" -DOPENSSL_SSL_LIBRARY="./openssl/libssl.so" -DOPENSSL_INCLUDE_DIR="./openssl/include/"
142148
cmake --build build --parallel
143149
144150
- name: Rename native
@@ -153,11 +159,13 @@ jobs:
153159

154160
build-linux-arm64:
155161
runs-on: ubuntu-latest
162+
needs: version
156163
steps:
157164
- name: Clone koana repo
158165
uses: actions/checkout@v4
159166
with:
160167
repository: DSharpPlus/libkoana
168+
ref: ${{needs.version.outputs.version}}
161169

162170
- name: Install build tools
163171
shell: bash
@@ -174,13 +182,13 @@ jobs:
174182
export CC=aarch64-linux-gnu-gcc
175183
export CXX=aarch64-linux-gnu-g++
176184
export AR=aarch64-linux-gnu-ar
177-
./Configure linux-aarch64
185+
./Configure no-makedepend linux-aarch64
178186
make -j4
179187
180188
- name: Build koana
181189
shell: bash
182190
run: |
183-
cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DOPENSSL_ROOT_DIR="./openssl/" -DOPENSSL_CRYPTO_LIBRARY="./openssl/libcrypto.a" -DOPENSSL_SSL_LIBRARY="./openssl/libssl.a" -DOPENSSL_INCLUDE_DIR="./openssl/include/"
191+
cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DOPENSSL_ROOT_DIR="./openssl/" -DOPENSSL_CRYPTO_LIBRARY="./openssl/libcrypto.so" -DOPENSSL_SSL_LIBRARY="./openssl/libssl.so" -DOPENSSL_INCLUDE_DIR="./openssl/include/"
184192
cmake --build build --parallel
185193
186194
- name: Rename native
@@ -195,11 +203,13 @@ jobs:
195203

196204
build-macos-x64:
197205
runs-on: macos-latest
206+
needs: version
198207
steps:
199208
- name: Clone koana repo
200209
uses: actions/checkout@v4
201210
with:
202211
repository: DSharpPlus/libkoana
212+
ref: ${{needs.version.outputs.version}}
203213

204214
- name: Install nasm
205215
shell: bash
@@ -212,11 +222,11 @@ jobs:
212222
git clone https://github.com/openssl/openssl
213223
cd openssl
214224
git checkout openssl-3.5.0
215-
./Configure darwin64-x86_64-cc
225+
./Configure no-makedepend no-shared darwin64-x86_64-cc
216226
make -j4
217227
218228
- name: Build koana
219-
shell: pwsh
229+
shell: bash
220230
run: |
221231
cmake -B build -DOPENSSL_ROOT_DIR=".\openssl\" -DOPENSSL_CRYPTO_LIBRARY=".\openssl\libcrypto.a" -DOPENSSL_SSL_LIBRARY=".\openssl\libssl.a" -DOPENSSL_INCLUDE_DIR=".\openssl\include\" -DCMAKE_OSX_ARCHITECTURES=x86_64
222232
cmake --build build --config Release --parallel
@@ -233,11 +243,13 @@ jobs:
233243

234244
build-macos-arm64:
235245
runs-on: macos-latest
246+
needs: version
236247
steps:
237248
- name: Clone koana repo
238249
uses: actions/checkout@v4
239250
with:
240251
repository: DSharpPlus/libkoana
252+
ref: ${{needs.version.outputs.version}}
241253

242254
- name: Install nasm
243255
shell: bash
@@ -250,11 +262,11 @@ jobs:
250262
git clone https://github.com/openssl/openssl
251263
cd openssl
252264
git checkout openssl-3.5.0
253-
./Configure darwin64-arm64-cc
265+
./Configure no-makedepend no-shared darwin64-arm64-cc
254266
make -j4
255267
256268
- name: Build koana
257-
shell: pwsh
269+
shell: bash
258270
run: |
259271
cmake -B build -DOPENSSL_ROOT_DIR=".\openssl\" -DOPENSSL_CRYPTO_LIBRARY=".\openssl\libcrypto.a" -DOPENSSL_SSL_LIBRARY=".\openssl\libssl.a" -DOPENSSL_INCLUDE_DIR=".\openssl\include\" -DCMAKE_OSX_ARCHITECTURES=arm64
260272
cmake --build build --config Release --parallel
@@ -271,11 +283,13 @@ jobs:
271283

272284
build-musl-x64:
273285
runs-on: ubuntu-latest
286+
needs: version
274287
steps:
275288
- name: Clone koana repo
276289
uses: actions/checkout@v4
277290
with:
278291
repository: DSharpPlus/libkoana
292+
ref: ${{needs.version.outputs.version}}
279293

280294
- name: Setup Alpine Linux
281295
uses: jirutka/setup-alpine@v1
@@ -297,13 +311,13 @@ jobs:
297311
git clone https://github.com/openssl/openssl
298312
cd openssl
299313
git checkout openssl-3.5.0
300-
./Configure linux-x86_64
314+
./Configure no-makedepend linux-x86_64
301315
make -j4
302316
303317
- name: Build koana
304-
shell: bash
318+
shell: alpine.sh {0}
305319
run: |
306-
cmake -B build -DCMAKE_BUILD_TYPE=Release -DOPENSSL_ROOT_DIR="./openssl/" -DOPENSSL_CRYPTO_LIBRARY="./openssl/libcrypto.a" -DOPENSSL_SSL_LIBRARY="./openssl/libssl.a" -DOPENSSL_INCLUDE_DIR="./openssl/include/"
320+
cmake -B build -DCMAKE_BUILD_TYPE=Release -DOPENSSL_ROOT_DIR="./openssl/" -DOPENSSL_CRYPTO_LIBRARY="./openssl/libcrypto.so" -DOPENSSL_SSL_LIBRARY="./openssl/libssl.so" -DOPENSSL_INCLUDE_DIR="./openssl/include/"
307321
cmake --build build --parallel
308322
309323
- name: Rename native
@@ -318,11 +332,13 @@ jobs:
318332

319333
build-musl-arm64:
320334
runs-on: ubuntu-latest
335+
needs: version
321336
steps:
322337
- name: Clone koana repo
323338
uses: actions/checkout@v4
324339
with:
325340
repository: DSharpPlus/libkoana
341+
ref: ${{needs.version.outputs.version}}
326342

327343
- name: Setup Alpine Linux
328344
uses: jirutka/setup-alpine@v1
@@ -345,13 +361,13 @@ jobs:
345361
git clone https://github.com/openssl/openssl
346362
cd openssl
347363
git checkout openssl-3.5.0
348-
./Configure linux-aarch64
364+
./Configure no-makedepend linux-aarch64
349365
make -j4
350366
351367
- name: Build koana
352-
shell: bash
368+
shell: alpine.sh {0}
353369
run: |
354-
cmake -B build -DCMAKE_BUILD_TYPE=Release -DOPENSSL_ROOT_DIR="./openssl/" -DOPENSSL_CRYPTO_LIBRARY="./openssl/libcrypto.a" -DOPENSSL_SSL_LIBRARY="./openssl/libssl.a" -DOPENSSL_INCLUDE_DIR="./openssl/include/"
370+
cmake -B build -DCMAKE_BUILD_TYPE=Release -DOPENSSL_ROOT_DIR="./openssl/" -DOPENSSL_CRYPTO_LIBRARY="./openssl/libcrypto.so" -DOPENSSL_SSL_LIBRARY="./openssl/libssl.so" -DOPENSSL_INCLUDE_DIR="./openssl/include/"
355371
cmake --build build --parallel
356372
357373
- name: Rename native
@@ -366,7 +382,7 @@ jobs:
366382

367383
publish-nuget:
368384
runs-on: ubuntu-latest
369-
needs: [version, build-windows-x64, build-windows-arm64, build-linux-x64, build-linux-arm64, build-macos-x64, build-macos-arm64, build-musl-x64, build-musl-arm64]
385+
needs: [build-windows-x64, build-windows-arm64, build-linux-x64, build-linux-arm64, build-macos-x64, build-macos-arm64, build-musl-x64, build-musl-arm64]
370386
steps:
371387
- name: Checkout CSPROJ files
372388
uses: actions/checkout@v4.2.2

0 commit comments

Comments
 (0)