https://github.com/cargo-bins/cargo-binstall
A point cargo toml binpkgs..
Else it falls back to cargo build install etc...
https://github.com/marketplace/actions/install-cargo-binstall
Ubuntu docker n rustup multiarch targets
Llvm-mingw64 could autobake for all...
# Simplified logic for your GitHub Release Action
jobs:
release:
strategy:
matrix:
target: [x86_64-unknown-linux-gnu, x86_64-pc-windows-msvc, aarch64-apple-darwin]
include:
- target: x86_64-unknown-linux-gnu
features: "cuda,vulkan"
- target: aarch64-apple-darwin
features: "metal"
steps:
- uses: actions/checkout@v4
- name: Install Toolchain
run: rustup target add ${{ matrix.target }}
run cargo install xargo binstall # cargo-deb cargo-rpm if want pkgs etc...
- name: Build with Xargo
run: xargo build --release --features ${{ matrix.features }} --target ${{ matrix.target }}
- name: Upload to Release
uses: softprops/action-gh-release@v1
with:
files: target/${{ matrix.target }}/release/ltengine*
services:
ltengine-builder:
image: debian:bookworm-slim
environment:
- CUDA_VERSION=12.x
- LLVM_MINGW_VERSION=20240321
volumes:
- .:/src
command: >
sh -c "
apt update && apt install -y curl cmake clang llvm lld git;
# Download llvm-mingw for the Windows side
curl -L https://github.com/mstorsjo/llvm-mingw/releases/download/... -o mingw.tar.xz;
tar -xf mingw.tar.xz;
export PATH=$PATH:$(pwd)/llvm-mingw/bin;
# Build LTEngine
cd /src && cargo build --release --target x86_64-pc-windows-gnullvm --features cuda,vulkan
"
https://github.com/cargo-bins/cargo-binstall
A point cargo toml binpkgs..
Else it falls back to cargo build install etc...
https://github.com/marketplace/actions/install-cargo-binstall
Ubuntu docker n rustup multiarch targets
Llvm-mingw64 could autobake for all...