3333 " ubuntu:25.04" ,
3434 " ubuntu:24.04" ,
3535 " ubuntu:22.04" ,
36+ " debian:13" ,
3637 " debian:12" ,
37- " debian:11" ,
3838 ]
3939 libyubihsm_tag : [ "2.7.0" ]
4040
@@ -113,7 +113,7 @@ jobs:
113113 sed -i 's/add_definitions (-D_FORTIFY_SOURCE=2)/add_definitions (-D_FORTIFY_SOURCE=3)/' cmake/SecurityFlags.cmake
114114 fi
115115
116- if [ "$PLATFORM" = "ubuntu2504" ]; then
116+ if [ "$PLATFORM" = "ubuntu2504" ] || [ "$PLATFORM" = "debian13" ] ; then
117117 # Set PCSC flags
118118 sed -i 's/#SET(CMAKE_C_FLAGS/SET(CMAKE_C_FLAGS/' ykhsmauth/CMakeLists.txt
119119 fi
@@ -132,7 +132,7 @@ jobs:
132132 cd ..
133133 git clone -b yubihsm-manager https://github.com/Yubico/yubihsmrs.git
134134
135- - name : Build binary
135+ - name : Build installer
136136 working-directory : yubihsm-manager
137137 env :
138138 PLATFORM : ${{ env.PLATFORM }}
@@ -153,13 +153,26 @@ jobs:
153153 YUBIHSM_LIB_DIR=/usr/lib/x86_64-linux-gnu cargo build --release
154154 strip --strip-all target/release/yubihsm-manager
155155 cargo deb --no-build
156- cp target/debian/*.deb $OUTPUT/
156+ #cp target/debian/*.deb $OUTPUT/
157+
158+ dpkg -i target/debian/*.deb
159+ yubihsm-manager --version
160+ yubihsm-manager --help
161+
162+ - name : Pack artifact
163+ working-directory : yubihsm-manager
164+ env :
165+ PLATFORM : ${{ env.PLATFORM }}
166+ run : |
167+ set -x -e
168+ OUTPUT=$GITHUB_WORKSPACE/$PLATFORM/yubihsm-manager
157169
170+ cp target/debian/*.deb $OUTPUT/
158171 cp $GITHUB_WORKSPACE/libyubihsm1_*.deb $OUTPUT/
159172 cp $GITHUB_WORKSPACE/libyubihsm-http1_*.deb $OUTPUT/
160173 cp $GITHUB_WORKSPACE/libyubihsm-usb1_*.deb $OUTPUT/
161-
162- cd $OUTPUT
174+
175+ cd $OUTPUT/
163176 rm -f yubihsm-manager-$PLATFORM-amd64.tar.gz
164177 tar -C .. -zcvf ../yubihsm-manager-$PLATFORM-amd64.tar.gz yubihsm-manager
165178 rm -f *.deb
@@ -210,24 +223,35 @@ jobs:
210223 git \
211224 chrpath \
212225 cmake \
226+ gengetopt \
213227 openssl-devel \
214228 libedit-devel \
215229 libcurl-devel \
216230 rpmdevtools \
217231 pcsc-lite-devel \
218232 libusb1-devel \
233+ help2man \
234+ zlib-devel
219235
220236 curl -o rustup.sh https://sh.rustup.rs
221237 bash ./rustup.sh -y
222238
223239 - name : install libyubihsm
224240 run : |
225241 git clone https://github.com/Yubico/yubihsm-shell.git
226- cd yubihsm-shell
227- mkdir build
228- cd build
229- cmake .. -DBUILD_ONLY_LIB=ON
230- make
242+ # Set PCSC flags
243+ sed -i 's/#SET(CMAKE_C_FLAGS/SET(CMAKE_C_FLAGS/' yubihsm-shell/ykhsmauth/CMakeLists.txt
244+
245+ export INPUT=$GITHUB_WORKSPACE/yubihsm-shell
246+ export CMAKE="cmake"
247+
248+ RPM_DIR=$GITHUB_WORKSPACE/rpmbuild
249+ mkdir -p $RPM_DIR/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
250+ echo '%_topdir %(echo $HOME)/rpmbuild' > $GITHUB_WORKSPACE/.rpmmacros
251+
252+ cp yubihsm-shell/resources/release/linux/yubihsm-shell.spec $RPM_DIR/SPECS/
253+ QA_SKIP_BUILD_ROOT=1 QA_RPATHS=$(( 0x0001|0x0010 )) rpmbuild -bb $RPM_DIR/SPECS/yubihsm-shell.spec
254+ yum install -y /github/home/rpmbuild/RPMS/x86_64/yubihsm-devel-*.rpm
231255
232256 - name : clone yubihsmrs
233257 run : |
@@ -250,9 +274,30 @@ jobs:
250274
251275 cargo install cargo-rpm
252276 cargo rpm init
253- YUBIHSM_LIB_DIR=$GITHUB_WORKSPACE/yubihsm-shell/build/lib cargo build --release
254- YUBIHSM_LIB_DIR=$GITHUB_WORKSPACE/yubihsm-shell/build/lib cargo rpm build
277+ YUBIHSM_LIB_DIR=/usr/lib64 cargo build --release
278+ YUBIHSM_LIB_DIR=/usr/lib64 cargo rpm build
279+ #cp target/release/rpmbuild/RPMS/x86_64/*.rpm $OUTPUT/
280+ #cp /github/home/rpmbuild/RPMS/x86_64/yubihsm-devel*.rpm $OUTPUT/
281+
282+ yum install -y target/release/rpmbuild/RPMS/x86_64/yubihsm-manager-*.rpm
283+ yubihsm-manager --version
284+ yubihsm-manager --help
285+
286+ - name : Pack artifact
287+ working-directory : yubihsm-manager
288+ env :
289+ PLATFORM : ${{ env.PLATFORM }}
290+ run : |
291+ OUTPUT=$GITHUB_WORKSPACE/$PLATFORM/yubihsm-manager
292+
255293 cp target/release/rpmbuild/RPMS/x86_64/*.rpm $OUTPUT/
294+ cp /github/home/rpmbuild/RPMS/x86_64/yubihsm-devel*.rpm $OUTPUT/
295+
296+ cd $OUTPUT
297+ rm -f yubihsm-manager-$PLATFORM-amd64.tar.gz
298+ tar -C .. -zcvf ../yubihsm-manager-$PLATFORM-amd64.tar.gz yubihsm-manager
299+ rm -f *.deb
300+ rm -rf ../yubihsm-manager
256301
257302 - name : upload artifacts
258303 uses : actions/upload-artifact@v4
@@ -267,7 +312,7 @@ jobs:
267312 fail-fast : false
268313 matrix :
269314 include :
270- - os : macos-latest
315+ - os : macos-latest-large
271316 arch : amd
272317 - os : macos-latest-xlarge
273318 arch : arm
@@ -378,35 +423,16 @@ jobs:
378423
379424 mkdir artifact
380425
381- C:/vcpkg/vcpkg.exe install openssl:x64-windows
382- C:/vcpkg/vcpkg.exe install openssl:x64-windows-static
383- C:/vcpkg/vcpkg.exe integrate install
384- $env:VCPKGRS_DYNAMIC=1
385- $env:OPENSSL_ROOT_DIR ="C:/vcpkg/packages/openssl_x64-windows"
386- $env:OPENSSL_LIBS="ssl:crypto"
387-
388- $env:OPENSSL_LIB_DIR="$env:OPENSSL_ROOT_DIR\lib"
389- $env:OPENSSL_INCLUDE_DIR="$env:OPENSSL_ROOT_DIR\include"
390- $env:OPENSSL_DIR="$env:OPENSSL_ROOT_DIR"
391-
392- #$env:OPENSSL_LIB_DIR="C:\Strawberry\c\lib"
393- #$env:OPENSSL_INCLUDE_DIR="C:\Strawberry\c\include"
394- #$env:OPENSSL_DIR="C:\Strawberry\c"
395-
396- ls $env:OPENSSL_DIR/
397- ls $env:OPENSSL_DIR/bin
398-
399426 rustup target add x86_64-pc-windows-msvc
400427 rustup default stable-x86_64-pc-windows-msvc
401428
402429 $env:RUST_BACKTRACE=1
403- $env:YUBIHSM_LIB_DIR="C:\Program Files\Yubico\YubiHSM Shell\bin"
404- #$env:PATH+=";C:\Program Files\Yubico\YubiHSM Shell\bin;C:\rtools44\x86_64-w64-mingw32.static.posix\bin"
430+ $env:YUBIHSM_LIB_DIR="C:\Program Files\Yubico\YubiHSM Shell\lib"
405431 $env:PATH+=";C:\Program Files\Yubico\YubiHSM Shell\bin"
406432 cargo.exe update
407433 cargo.exe build --release
408- ./target/release/yubihsm-manager.exe --help
409434 ./target/release/yubihsm-manager.exe --version
435+ ./target/release/yubihsm-manager.exe --help
410436 install target/release/yubihsm-manager $env:GITHUB_WORKSPACE/artifact/yubihsm-manager
411437
412438 - name : Upload artifact
0 commit comments