about summary refs log tree commit diff stats
path: root/.github/workflows
diff options
context:
space:
mode:
authorYang Liu <liuyang22@iscas.ac.cn>2025-06-09 23:13:14 +0800
committerGitHub <noreply@github.com>2025-06-09 17:13:14 +0200
commitab5c42f0dcc90d1452103bd2dd763a095c8f0144 (patch)
tree118b5ca9f8db3a881d0c2a91dd5d7793aac43c77 /.github/workflows
parentb19dc0db89ab4fdaa1a7c379e30d608a89f29163 (diff)
downloadbox64-ab5c42f0dcc90d1452103bd2dd763a095c8f0144.tar.gz
box64-ab5c42f0dcc90d1452103bd2dd763a095c8f0144.zip
[TRACE] Added support for libzydis v4.x and removed the in-house zydis header (#2720)
* [TRACE] Exclude non-trace build from relying on in-house Zydis header

* [TRACE] Upgrade zydis to version 4.x

* [TRACE] Update docs

* [TRACE] Update CI

* [TRACE] No reason to drop 3.x support
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/release.yml26
1 files changed, 19 insertions, 7 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index c972f98f..3d70df44 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -65,6 +65,12 @@ jobs:
             type: StaticBuild
           - platform: WOW64
             type: Box32
+          - platform: ANDROID
+            type: Trace
+          - platform: TERMUX
+            type: Trace
+          - platform: LARCH64
+            type: Trace
 
     runs-on: ${{ matrix.os }}
     steps:
@@ -75,7 +81,7 @@ jobs:
         run: |
           sudo apt-get update
           if [[ ${{ matrix.platform }} != 'X64' && ${{ matrix.platform }} != 'RISCV' && ${{ matrix.platform }} != 'LARCH64' ]]; then
-            sudo apt-get -y install git cmake make python3 patchelf
+            sudo apt-get -y install git cmake make python3 patchelf libzydis-dev
             if [[ ${{ matrix.platform }} == 'ANDROID' || ${{ matrix.platform }} == 'TERMUX' ]]; then
               sudo apt-get -y install p7zip
               wget -q https://dl.google.com/android/repository/android-ndk-r26b-linux.zip
@@ -120,11 +126,11 @@ jobs:
             if [[ ${{ matrix.platform }} == 'X64' ]]; then
               echo "BOX64_PLATFORM_MARCRO=-DLD80BITS=1 -DNOALIGN=1" >> $GITHUB_ENV
               echo "BOX64_COMPILER=gcc" >> $GITHUB_ENV
-              sudo apt-get -y install git cmake make python3
+              sudo apt-get -y install git cmake make python3 libzydis-dev
             elif [[ ${{ matrix.platform }} == 'RISCV' ]]; then
               echo BOX64_PLATFORM_MARCRO="-DRV64=ON" >> $GITHUB_ENV
               echo "BOX64_COMPILER=riscv64-linux-gnu-gcc" >> $GITHUB_ENV
-              sudo apt-get -y install git gcc-riscv64-linux-gnu cmake make python3 ninja-build libglib2.0-dev
+              sudo apt-get -y install git gcc-riscv64-linux-gnu cmake make python3 ninja-build libglib2.0-dev libzydis-dev
             elif [[ ${{ matrix.platform }} == 'LARCH64' ]]; then
               sudo mkdir /usr/local/larch
               wget -O- -q https://github.com/loongson/build-tools/releases/download/2023.08.08/CLFS-loongarch64-8.1-x86_64-cross-tools-gcc-glibc.tar.xz | sudo tar -C /usr/local/larch --strip-components=1 --xz -xf -
@@ -139,11 +145,11 @@ jobs:
 
               echo BOX64_PLATFORM_MARCRO="-DLARCH64=ON" >> $GITHUB_ENV
               echo "BOX64_COMPILER=loongarch64-linux-gnu-gcc" >> $GITHUB_ENV
-              sudo apt-get -y install git cmake make python3
+              sudo apt-get -y install git cmake make python3 libzydis-dev
             else
               echo BOX64_PLATFORM_MARCRO="-DARM_DYNAREC=ON" >> $GITHUB_ENV
               echo "BOX64_COMPILER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
-              sudo apt-get -y install git gcc-aarch64-linux-gnu cmake make python3
+              sudo apt-get -y install git gcc-aarch64-linux-gnu cmake make python3 libzydis-dev
             fi
           fi
           if [[ ${{ matrix.type }} == 'Release' ]]; then
@@ -167,6 +173,11 @@ jobs:
             echo BOX64_STATICBUILD=0 >> $GITHUB_ENV
             echo BOX64_BOX32=0 >> $GITHUB_ENV
           fi
+          if [[ ${{ matrix.os }} == 'ubuntu-22.04-arm' ]]; then
+            echo "BOX64_ZYDIS3=1" >> $GITHUB_ENV
+          else
+            echo "BOX64_ZYDIS3=0" >> $GITHUB_ENV
+          fi
 
       - name: "Get XuanTie QEMU Cache Key"
         if: matrix.platform == 'RISCV'
@@ -217,6 +228,7 @@ jobs:
                    ${{ env.BOX64_PLATFORM_MARCRO }}\
                    -DCMAKE_BUILD_TYPE=${{ env.BOX64_BUILD_TYPE }}\
                    -DHAVE_TRACE=${{ env.BOX64_HAVE_TRACE }}\
+                   -DZYDIS3=${{ env.BOX64_ZYDIS3 }}\
                    -DSTATICBUILD=${{ env.BOX64_STATICBUILD }}\
                    -DBOX32=${{ env.BOX64_BOX32 }}\
                    -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON\
@@ -326,14 +338,14 @@ jobs:
           7z -tzip -mx=5 a box64-latest.rat files pkg-header
 
       - name: "Upload WCP file"
-        if: matrix.platform == 'ANDROID_GLIBC' && matrix.type != 'StaticBuild'
+        if: matrix.platform == 'ANDROID_GLIBC' && matrix.type == 'Release'
         uses: actions/upload-artifact@v4
         with:
           name: box64-latest-${{ matrix.type }}-wcp
           path: build/box64-latest.wcp
 
       - name: "Upload Rat File"
-        if: matrix.platform == 'ANDROID' && matrix.type != 'StaticBuild'
+        if: matrix.platform == 'ANDROID' && matrix.type == 'Release'
         uses: actions/upload-artifact@v4
         with:
           name: box64-MiceWine-${{ matrix.type }}