From 4db00423ccee0a408cb52cbad58d186271e6727e Mon Sep 17 00:00:00 2001 From: Rot127 Date: Fri, 17 Nov 2023 11:42:10 -0500 Subject: [PATCH] Update CI build.yaml --- .github/workflows/build.yaml | 50 +++++++++++++++++++++++++++--------- 1 file changed, 38 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 92c1c33723b49..982745d701418 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,45 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@tracewrap-8.1 + - 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 + - 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 target run: | - cd qemu - ./configure --prefix=$HOME --with-tracewrap="/root/bap-frames" --target-list=arm-linux-user - ninja -C build - ninja -C build install + branch=$(git rev-parse --abbrev-ref HEAD) + if [ "$branch" == "tracewrap-8.1" ]; then + # No build test needed + exit 0 + fi + echo "NOTE:" + echo "Please update this workflow so it builds the target you are working on." + echo "See the commented lines for an example." + exit 1 + # Don't forget to checkout your tracewrap branch under "- uses" above! + # + # Build commands: + # cd qemu + # ./configure --prefix=$HOME --with-tracewrap="/$HOME/bap-frames" --target-list=arm-linux-user + # ninja -C build + # ninja -C build install