From 421424579114bd6b877be7d211c6e3edf2f0915a Mon Sep 17 00:00:00 2001 From: Kevin Phoenix Date: Mon, 10 Nov 2025 14:33:57 -0700 Subject: [PATCH 1/3] Update CI to include more platforms and use uv --- .github/workflows/ci.yml | 46 ++++++++++++++++++++++++++++++++-- .github/workflows/windows.yml | 47 ----------------------------------- 2 files changed, 44 insertions(+), 49 deletions(-) delete mode 100644 .github/workflows/windows.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e2eb0bf14..8cc842140 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,5 +12,47 @@ jobs: uses: angr/ci-settings/.github/workflows/angr-ci.yml@master pyinstaller: uses: ./.github/workflows/pyinstaller-build.yml - windows: - uses: ./.github/workflows/windows.yml + test: + name: Test ${{ matrix.os }} + strategy: + matrix: + os: [windows-2022, macos-15, ubuntu-24.04-arm] # ubuntu 24.04 is excluded due to inclusion in coverage.yml + fail-fast: false + runs-on: ${{ matrix.os }} + env: + QT_QPA_PLATFORM: minimal:enable_fonts + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4 + with: + repository: angr/binaries + path: binaries + - name: Move binaries + run: mv binaries .. + - name: Setup Rust + uses: actions-rust-lang/setup-rust-toolchain@v1 + - name: Install dependencies (Ubuntu) + run: | + sudo apt-get update; + sudo apt-get install -y \ + libfuse2 \ + libegl1 \ + libxkbcommon-x11-0 \ + libxcb-cursor0 \ + libxcb-icccm4 \ + libxcb-image0 \ + libxcb-keysyms1 \ + libxcb-randr0 \ + libxcb-render-util0 \ + libxcb-shape0 + if: startsWith(matrix.os, 'ubuntu') + - name: Install dependencies (macOS) + run: brew install flatcc flatbuffers + if: startsWith(matrix.os, 'macos') + - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1 + if: startsWith(runner.os, 'windows') + - uses: astral-sh/setup-uv@85856786d1ce8acfbcc2f13a5f3fbd6b938f9f41 # v6 + - name: Sync dependencies + run: uv sync -p 3.10 + - name: Run tests + run: uv run pytest -vv -n auto tests diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml deleted file mode 100644 index 7d702acc7..000000000 --- a/.github/workflows/windows.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: Test on Windows - -on: - workflow_dispatch: - workflow_call: - -jobs: - windows: - name: Test Windows - runs-on: windows-2022 - steps: - - uses: actions/checkout@v4 - with: - path: angr-management - - uses: actions/checkout@v4 - with: - repository: angr/binaries - path: binaries - - uses: actions/setup-python@v4 - with: - python-version: "3.10" - - run: python -m venv $HOME/venv - name: Create venv - shell: bash - - run: | - call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" - call %USERPROFILE%\venv\Scripts\activate - python -m pip install --upgrade pip - pip install -U setuptools wheel setuptools-rust cffi "unicorn==2.0.1.post1" - pip install git+https://github.com/angr/archinfo.git - pip install git+https://github.com/angr/pyvex.git - pip install git+https://github.com/angr/cle.git - pip install git+https://github.com/angr/claripy.git - pip install --no-build-isolation git+https://github.com/angr/angr.git - name: Install dependencies - shell: cmd - - run: | - call %USERPROFILE%\venv\Scripts\activate - pip install .\angr-management - pip install --group .\angr-management\pyproject.toml:testing - name: Install angr-management - shell: cmd - - run: | - call %USERPROFILE%\venv\Scripts\activate - pytest -n auto angr-management - name: Run pytest - shell: cmd From 7a25640514e3f4d0c62fc1f1604f8659045b7e80 Mon Sep 17 00:00:00 2001 From: Kevin Phoenix Date: Wed, 12 Nov 2025 16:28:07 -0700 Subject: [PATCH 2/3] Use QT_QPA_PLATFORM=offscreen --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8cc842140..2363001d6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,7 +20,7 @@ jobs: fail-fast: false runs-on: ${{ matrix.os }} env: - QT_QPA_PLATFORM: minimal:enable_fonts + QT_QPA_PLATFORM: offscreen steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4 From 6dbfe9c6ea3992aa63155a4ceac108e290863634 Mon Sep 17 00:00:00 2001 From: Kevin Phoenix Date: Wed, 12 Nov 2025 17:06:33 -0700 Subject: [PATCH 3/3] Unset QT_QPA_PLATFORM --- .github/workflows/ci.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2363001d6..5fa87f78d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,8 +19,6 @@ jobs: os: [windows-2022, macos-15, ubuntu-24.04-arm] # ubuntu 24.04 is excluded due to inclusion in coverage.yml fail-fast: false runs-on: ${{ matrix.os }} - env: - QT_QPA_PLATFORM: offscreen steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4