Also compile to static lib

This commit is contained in:
Caelan Sayler
2024-11-15 22:09:10 +00:00
committed by Caelan
parent f4e06eb29c
commit e67c60258d
3 changed files with 30 additions and 9 deletions

View File

@@ -30,7 +30,7 @@ jobs:
- name: Update Version
shell: pwsh
run: .\set-nbgv-version.ps1
- name: Build Rust (x86)
- name: Build Rust Binaries
run: cargo +1.75.0-x86_64-pc-windows-msvc build --target i686-pc-windows-msvc --features windows --release -p velopack_bins
- name: Upload Rust Build Artifacts
uses: actions/upload-artifact@v4
@@ -39,18 +39,29 @@ jobs:
path: |
target\i686-pc-windows-msvc\release\*.exe
target\i686-pc-windows-msvc\release\*.pdb
- name: Build Rust (x86)
run: cargo +1.75.0-x86_64-pc-windows-msvc build --target i686-pc-windows-msvc --release -p velopack_nodeffi -p velopack_libc
- name: Build Rust (x64)
run: cargo +1.75.0-x86_64-pc-windows-msvc build --target x86_64-pc-windows-msvc --release -p velopack_nodeffi -p velopack_libc
- name: Build Rust (arm64)
run: cargo +1.75.0-x86_64-pc-windows-msvc build --target aarch64-pc-windows-msvc --release -p velopack_nodeffi -p velopack_libc
- name: Collect Artifacts
run: |
move target\i686-pc-windows-msvc\release\velopack_nodeffi.dll target\velopack_nodeffi_win_x86_msvc.node
move target\x86_64-pc-windows-msvc\release\velopack_nodeffi.dll target\velopack_nodeffi_win_x64_msvc.node
move target\aarch64-pc-windows-msvc\release\velopack_nodeffi.dll target\velopack_nodeffi_win_arm64_msvc.node
move target\i686-pc-windows-msvc\release\velopack_libc.dll target\velopack_libc_win_x86_msvc.dll
move target\x86_64-pc-windows-msvc\release\velopack_libc.dll target\velopack_libc_win_x64_msvc.dll
move target\aarch64-pc-windows-msvc\release\velopack_libc.dll target\velopack_libc_win_arm64_msvc.dll
move target\x86_64-pc-windows-msvc\release\velopack_libc.dll.lib target\velopack_libc_win_x64_msvc.lib
move target\aarch64-pc-windows-msvc\release\velopack_libc.dll.lib target\velopack_libc_win_arm64_msvc.lib
move target\i686-pc-windows-msvc\release\velopack_libc.dll.lib target\velopack_libc_win_x86_msvc.dll.lib
move target\x86_64-pc-windows-msvc\release\velopack_libc.dll.lib target\velopack_libc_win_x64_msvc.dll.lib
move target\aarch64-pc-windows-msvc\release\velopack_libc.dll.lib target\velopack_libc_win_arm64_msvc.dll.lib
move target\i686-pc-windows-msvc\release\velopack_libc.lib target\velopack_libc_win_x86_msvc.lib
move target\x86_64-pc-windows-msvc\release\velopack_libc.lib target\velopack_libc_win_x64_msvc.lib
move target\aarch64-pc-windows-msvc\release\velopack_libc.lib target\velopack_libc_win_arm64_msvc.lib
- name: Upload Rust Build Artifacts
uses: actions/upload-artifact@v4
with:
@@ -86,6 +97,7 @@ jobs:
cp ./target/x86_64-unknown-linux-gnu/release/update ./target/UpdateNix_x64
cp ./target/x86_64-unknown-linux-gnu/release/libvelopack_nodeffi.so ./target/velopack_nodeffi_linux_x64_gnu.node
cp ./target/x86_64-unknown-linux-gnu/release/libvelopack_libc.so ./target/velopack_libc_linux_x64_gnu.so
cp ./target/x86_64-unknown-linux-gnu/release/libvelopack_libc.a ./target/velopack_libc_linux_x64_gnu.a
- name: Build Rust (arm64)
run: |
cargo build --release --target aarch64-unknown-linux-gnu
@@ -93,6 +105,7 @@ jobs:
cp ./target/aarch64-unknown-linux-gnu/release/update ./target/UpdateNix_arm64
cp ./target/aarch64-unknown-linux-gnu/release/libvelopack_nodeffi.so ./target/velopack_nodeffi_linux_arm64_gnu.node
cp ./target/aarch64-unknown-linux-gnu/release/libvelopack_libc.so ./target/velopack_libc_linux_arm64_gnu.so
cp ./target/aarch64-unknown-linux-gnu/release/libvelopack_libc.a ./target/velopack_libc_linux_arm64_gnu.a
- name: Upload Rust Build Artifacts
uses: actions/upload-artifact@v4
with:
@@ -137,6 +150,8 @@ jobs:
file ./target/velopack_nodeffi_osx.node
lipo -create -output ./target/velopack_libc_osx.dylib ./target/x86_64-apple-darwin/release/libvelopack_libc.dylib ./target/aarch64-apple-darwin/release/libvelopack_libc.dylib
file ./target/velopack_libc_osx.dylib
cp ./target/x86_64-apple-darwin/release/libvelopack_libc.a ./target/velopack_libc_osx_x64_gnu.a
cp ./target/aarch64-apple-darwin/release/libvelopack_libc.a ./target/velopack_libc_osx_arm64_gnu.a
- name: Upload Rust Build Artifacts
uses: actions/upload-artifact@v4
with:
@@ -315,12 +330,17 @@ jobs:
mv target/release/*.node src/lib-nodejs/lib/native/
mkdir lib-c
mkdir lib-c/lib
mkdir lib-c/dylib
mkdir lib-c/staticlib
mkdir lib-c/include
mv target/release/*.so lib-c/lib/
mv target/release/*.dylib lib-c/lib/
mv target/release/*.dll lib-c/lib/
mv target/release/*.lib lib-c/lib/
mv target/release/*.so lib-c/dylib/
mv target/release/*.dylib lib-c/dylib/
mv target/release/*.dll lib-c/dylib/
mv target/release/*.dll.lib lib-c/dylib/
mv target/release/*.a lib-c/staticlib/
mv target/release/*.lib lib-c/staticlib/
cp src/lib-cpp/include/* lib-c/include/
mkdir bin-core