From edcd93ce30ea1d85cc60afbf4261c00b5fe81509 Mon Sep 17 00:00:00 2001 From: unknowntrojan <14975032+unknowntrojan@users.noreply.github.com> Date: Wed, 20 Sep 2023 18:37:28 +0200 Subject: add github actions --- .github/workflows/rust.yml | 102 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 .github/workflows/rust.yml (limited to '.github') diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml new file mode 100644 index 0000000..b50440c --- /dev/null +++ b/.github/workflows/rust.yml @@ -0,0 +1,102 @@ +name: Rust + +on: + push: + branches: ["master"] + pull_request: + branches: ["master"] + +env: + CARGO_TERM_COLOR: always + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + profile: minimal + override: true + + - name: Install targets + run: | + rustup target add x86_64-unknown-linux-gnu aarch64-unknown-linux-gnu + + - name: Install Binja + env: + BN_SERIAL: ${{ secrets.BN_SERIAL }} + run: | + apt -y update + apt -y install llvm-dev libclang-dev clang llvm-dev libxcb-shape0-dev libxcb-xfixes0-dev build-essential binutils-aarch64-linux-gnu + wget https://raw.githubusercontent.com/Vector35/binaryninja-api/dev/scripts/download_headless.py + python3 -m pip install requests + python3 download_headless.py --serial "$BN_SERIAL" --dev --install --clean --dir /tmp/binja-dev + python3 download_headless.py --serial "$BN_SERIAL" --install --clean --dir /tmp/binja-stable + + - name: Install Binja Stable API + run: | + bash /tmp/binja-stable/binaryninja/scripts/linux-setup.sh -s + python3 /tmp/binja-stable/binaryninja/scripts/install_api.py + + - name: Build Stable - Linux x64 + run: cargo build --release --target x86_64-unknown-linux-gnu && mv target/x86_64-unknown-linux-gnu/release/libbinja_coolsigmaker.so libbinja_coolsigmaker_linux_x64_stable.so + + # - name: Build Stable - Linux aarch64 + # env: + # RUSTFLAGS: "-C target-feature=+neon" + # CC: clang --target aarch64-unknown-linux-gnu + # CXX: clang++ --target aarch64-unknown-linux-gnu + # run: cargo build --release --target aarch64-unknown-linux-gnu && mv target/aarch64-unknown-linux-gnu/release/libbinja_coolsigmaker.so libbinja_coolsigmaker_linux_aarch64_stable.so + + + - name: Install Binja Dev API + run: | + bash /tmp/binja-dev/binaryninja/scripts/linux-setup.sh -s + python3 /tmp/binja-dev/binaryninja/scripts/install_api.py + + - name: Build Dev - Linux x64 + run: cargo build --release --target x86_64-unknown-linux-gnu --config 'patch."https://github.com/Vector35/binaryninja-api".binaryninja.git="https://github.com/Vector35/binaryninja-api?branch=dev"' && mv target/x86_64-unknown-linux-gnu/release/libbinja_coolsigmaker.so libbinja_coolsigmaker_linux_x64_dev.so + + # - name: Build Dev - Linux aarch64 + # env: + # RUSTFLAGS: "-C target-feature=+neon" + # CC: clang --target aarch64-unknown-linux-gnu + # CXX: clang++ --target aarch64-unknown-linux-gnu + # run: cargo build --release --target aarch64-unknown-linux-gnu --config 'patch."https://github.com/Vector35/binaryninja-api".binaryninja.git="https://github.com/Vector35/binaryninja-api?branch=dev"' && mv target/aarch64-unknown-linux-gnu/release/libbinja_coolsigmaker.so libbinja_coolsigmaker_linux_aarch64_dev.so + + + # - name: Build Dev - Mac x64 + # run: cargo build --release --target x86_64-apple-darwin --config 'patch."https://github.com/Vector35/binaryninja-api".binaryninja.git="https://github.com/Vector35/binaryninja-api?branch=dev"' && mv target/release/libbinja_coolsigmaker.so libbinja_coolsigmaker_mac_x64_dev.so + + # - name: Build Stable - Mac x64 + # run: cargo build --release --target x86_64-apple-darwin && mv target/release/libbinja_coolsigmaker.so libbinja_coolsigmaker_mac_x64_stable.so + + + # - name: Build Dev - Mac aarch64 + # run: cargo build --release --target aarch64-apple-darwin --config 'patch."https://github.com/Vector35/binaryninja-api".binaryninja.git="https://github.com/Vector35/binaryninja-api?branch=dev"' && mv target/release/libbinja_coolsigmaker.so libbinja_coolsigmaker_mac_aarch64_dev.so + + # - name: Build Stable - Mac aarch64 + # run: cargo build --release --target aarch64-apple-darwin && mv target/release/libbinja_coolsigmaker.so libbinja_coolsigmaker_mac_aarch64_stable.so + + - name: Release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + files: | + LICENSE + libbinja_coolsigmaker_linux_x64_dev.so + libbinja_coolsigmaker_linux_x64_stable.so + # + # libbinja_coolsigmaker_linux_aarch64_dev.so + # libbinja_coolsigmaker_linux_aarch64_stable.so + # libbinja_coolsigmaker_mac_x64_dev.so + # libbinja_coolsigmaker_mac_x64_stable.so + # libbinja_coolsigmaker_mac_aarch64_dev.so + # libbinja_coolsigmaker_mac_aarch64_stable.so + + -- cgit v1.3.1