name: Build ksud on: workflow_call: inputs: target: required: true type: string os: required: false type: string default: ubuntu-latest use_cache: required: false type: boolean default: true jobs: build: runs-on: ${{ inputs.os }} steps: - uses: actions/checkout@v4 with: fetch-depth: 0 # cross build failed after Rust 1.68, see https://github.com/cross-rs/cross/issues/1222 - name: Setup rustup run: | rustup default 1.67.0 rustup target add x86_64-apple-darwin rustup target add aarch64-apple-darwin - uses: Swatinem/rust-cache@v2 with: workspaces: userspace/ksud cache-targets: false - name: Install cross run: cargo install cross --locked - name: Build ksud run: cross build --target ${{ inputs.target }} --release --manifest-path ./userspace/ksud/Cargo.toml - name: Upload ksud artifact uses: actions/upload-artifact@v4 with: name: ksud-${{ inputs.target }} path: userspace/ksud/target/**/release/ksud*