Add initial libc build to CI

This commit is contained in:
Caelan Sayler
2024-10-20 01:10:53 +01:00
committed by Caelan
parent 1de333c616
commit abb220ba3b

View File

@@ -40,20 +40,32 @@ jobs:
target\i686-pc-windows-msvc\release\*.exe
target\i686-pc-windows-msvc\release\*.pdb
- name: Build velopack_nodeffi (x64)
run: cargo +1.75.0-x86_64-pc-windows-msvc build --target x86_64-pc-windows-msvc --release --package velopack_nodeffi
run: |
cargo +1.75.0-x86_64-pc-windows-msvc build --target x86_64-pc-windows-msvc --release --package velopack_nodeffi
cargo +1.75.0-x86_64-pc-windows-msvc build --target x86_64-pc-windows-msvc --release --package velopack_libc
- name: Build velopack_nodeffi (arm64)
run: cargo +1.75.0-x86_64-pc-windows-msvc build --target aarch64-pc-windows-msvc --release --package velopack_nodeffi
run: |
cargo +1.75.0-x86_64-pc-windows-msvc build --target aarch64-pc-windows-msvc --release --package velopack_nodeffi
cargo +1.75.0-x86_64-pc-windows-msvc build --target aarch64-pc-windows-msvc --release --package 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\i686-pc-windows-msvc\release\velopack_libc.dll.lib target\velopack_libc_win_x86_msvc.lib
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
- name: Upload Rust Build Artifacts
uses: actions/upload-artifact@v4
with:
name: rust-windows-latest-libs
path: |
target\*.node
target\*.dll
target\*.lib
- name: Cancel workflow if failed
uses: andymckay/cancel-action@0.5
if: ${{ failure() }}
@@ -80,12 +92,14 @@ jobs:
ldd ./target/x86_64-unknown-linux-gnu/release/update || true
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
- name: Build Rust (arm64)
run: |
cross build --release --target aarch64-unknown-linux-gnu
ldd ./target/aarch64-unknown-linux-gnu/release/update || true
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
- name: Upload Rust Build Artifacts
uses: actions/upload-artifact@v4
with:
@@ -128,6 +142,8 @@ jobs:
file ./target/UpdateMac
lipo -create -output ./target/velopack_nodeffi_osx.node ./target/x86_64-apple-darwin/release/libvelopack_nodeffi.dylib ./target/aarch64-apple-darwin/release/libvelopack_nodeffi.dylib
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
- name: Upload Rust Build Artifacts
uses: actions/upload-artifact@v4
with:
@@ -190,18 +206,21 @@ jobs:
run: |
npm install
npm run typecheck
- uses: caesay/wait-artifact-action@494939e840383463b1686ce3624a8aab059c2c8b
with:
token: ${{ secrets.GITHUB_TOKEN }}
max_wait_seconds: 900
artifacts: rust-${{ matrix.os }}
verbose: true
- name: Download Rust Artifacts
uses: actions/download-artifact@v4
with:
path: target/release
pattern: rust-${{ matrix.os }}
merge-multiple: true
- name: Check CPlusPlusWin32 Sample
working-directory: samples/CPlusPlusWin32
run: .\build.bat 1.0.0
# - uses: caesay/wait-artifact-action@494939e840383463b1686ce3624a8aab059c2c8b
# with:
# token: ${{ secrets.GITHUB_TOKEN }}
# max_wait_seconds: 900
# artifacts: rust-${{ matrix.os }}
# verbose: true
# - name: Download Rust Artifacts
# uses: actions/download-artifact@v4
# with:
# path: target/release
# pattern: rust-${{ matrix.os }}
# merge-multiple: true
- name: Test lib-nodejs
working-directory: src/lib-nodejs
run: npm run test