mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-08-20 06:51:15 +00:00
In AArch64 prototype, there are code to construct the flattened device tree, and to make such code compilable we need to install libfdt-dev. In normal situation, this installation process can be done by either installing libfdt-dev locally or in the development container. Before formal AArch64 CI is setup, we use the workaround in this commit to install libfdt in the github cross-build workflow. Signed-off-by: Henry Wang <Henry.Wang@arm.com>
35 lines
1.3 KiB
YAML
35 lines
1.3 KiB
YAML
name: Cloud Hypervisor Cross Build
|
|
on: [pull_request, create]
|
|
|
|
jobs:
|
|
build:
|
|
if: github.event_name == 'pull_request'
|
|
name: Build
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
rust:
|
|
- stable
|
|
target:
|
|
- aarch64-unknown-linux-gnu
|
|
- aarch64-unknown-linux-musl
|
|
steps:
|
|
- name: Code checkout
|
|
uses: actions/checkout@v2
|
|
- name: Install Rust toolchain (${{ matrix.rust }})
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: ${{ matrix.rust }}
|
|
target: ${{ matrix.target }}
|
|
override: true
|
|
- name: Install arm64 libfdt
|
|
run: wget http://ftp.us.debian.org/debian/pool/main/d/device-tree-compiler/libfdt-dev_1.6.0-1_arm64.deb && dpkg-deb -xv libfdt-dev_1.6.0-1_arm64.deb ./tlibfdtdev && sudo mkdir /tmmmp && mkdir target && mkdir target/debug && mkdir target/debug/deps && sudo cp ./tlibfdtdev/usr/lib/aarch64-linux-gnu/libfdt.a target/debug/deps/libfdt.a && echo "libfdt installed"
|
|
- name: Disable "with-serde" in kvm-bindings
|
|
run: sed -i 's/"with-serde",\ //g' vmm/Cargo.toml
|
|
- name: Build
|
|
uses: actions-rs/cargo@v1
|
|
with:
|
|
use-cross: true
|
|
command: build
|
|
args: --target=${{ matrix.target }} --no-default-features --features "mmio"
|