diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 92c1c33723b4..c02a6682e14e 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -1,4 +1,4 @@ -name: Build ARM user +name: Build target user on: [pull_request, workflow_dispatch] @@ -6,19 +6,36 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 + - name: Set up Python 3.x + uses: actions/setup-python@v4 + with: + python-version: '3.x' + - name: Copy source.list file to include deb-src + run: | + sudo cp /etc/apt/sources.list /etc/apt/sources.list.d/tmp.list + sudo sed -i "s/# deb-src/deb-src/g" /etc/apt/sources.list.d/tmp.list - name: Install deps run: | - apt --no-install-recommends -y build-dep qemu - apt install autoconf libtool protobuf-c-compiler + sudo apt-get update + sudo apt-get --no-install-recommends -y build-dep qemu + sudo apt-get install -y autoconf libtool protobuf-c-compiler + pip3 install --user ninja + - name: Install OCaml + uses: ocaml/setup-ocaml@v2 + with: + ocaml-compiler: 4.14.x + dune-cache: true + opam-disable-sandboxing: true + - name: Install piqi + run: | opam install piqi - cs /root - git clone https://github.com/BinaryAnalysisPlatform/bap-frames.git - git clone git@github.com:BinaryAnalysisPlatform/qemu.git - - name: Build for ARM + - name: Clone qemu and bap-frames + run: | + git clone --depth 1 http://github.com/BinaryAnalysisPlatform/bap-frames.git + git clone --depth 1 http://github.com/BinaryAnalysisPlatform/qemu.git + - name: Build without tracewrap run: | cd qemu - ./configure --prefix=$HOME --with-tracewrap="/root/bap-frames" --target-list=arm-linux-user + ./configure --prefix=$HOME --target-list=arm-linux-user ninja -C build - ninja -C build install -