From 3e88d9c2df29c4081a300165a8d40967a7c6ecdf Mon Sep 17 00:00:00 2001 From: Christian Heitman Date: Mon, 13 Apr 2026 10:37:27 -0300 Subject: [PATCH] Update vcpkg workflow --- .github/workflows/vcpkg.yml | 154 +++++++++++++++++------------------- 1 file changed, 71 insertions(+), 83 deletions(-) diff --git a/.github/workflows/vcpkg.yml b/.github/workflows/vcpkg.yml index afaf921d..1793e512 100644 --- a/.github/workflows/vcpkg.yml +++ b/.github/workflows/vcpkg.yml @@ -1,95 +1,83 @@ -# name: Test the VCPKG install +name: Test the VCPKG install -# on: [push, pull_request, workflow_dispatch] +on: [push, pull_request, workflow_dispatch] -# jobs: -# build-test-install: +jobs: + build-test-install: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + python-version: ['3.11'] + os: + - macos-latest + - ubuntu-latest + - windows-latest + include: + - os: windows-latest + platform: windows + arch: x64 + vcpkg-triplet: x64-windows-static-release-md + cmake-preset: windows-x64 + - os: ubuntu-latest + platform: linux + arch: x64 + vcpkg-triplet: x64-linux-release + cmake-preset: linux-x64 + - os: macos-latest + platform: macos + arch: arm64 + vcpkg-triplet: arm64-macos-release + cmake-preset: macos-arm64 -# runs-on: ${{ matrix.os }} -# strategy: -# fail-fast: false -# matrix: -# os: -# - macOS-latest -# - ubuntu-latest -# - windows-2022 -# include: -# - os: windows-2022 -# platform: windows -# vcpkg-triplet: x64-windows-static-release-md -# cmake-preset: windows-x64 -# python-executable: python -# - os: ubuntu-latest -# platform: linux -# vcpkg-triplet: x64-linux-release -# cmake-preset: linux-x64 -# python-executable: python3 -# - os: macOS-latest -# platform: macos -# vcpkg-triplet: x64-osx-release -# cmake-preset: macos-x64 -# python-executable: python3 + steps: + - name: Checkout Triton repository + uses: actions/checkout@v6 -# steps: + - name: Checkout vcpkg repository + uses: actions/checkout@v6 + with: + repository: 'microsoft/vcpkg' + ref: '2026.03.18' + path: '${{ github.workspace }}/_vcpkg' + fetch-depth: 0 -# - uses: actions/checkout@v4 + - name: Get CMake + uses: lukka/get-cmake@latest -# - uses: actions/checkout@v4 -# name: Get vcpkg -# with: -# repository: 'microsoft/vcpkg' -# ref: '2025.06.13' -# path: '${{ github.workspace }}/_vcpkg' -# fetch-depth: 0 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v6 + with: + python-version: ${{ matrix.python-version }} -# - uses: lukka/get-cmake@latest -# name: Get CMake + - name: Setup MSVC dev environment + if: ${{ matrix.platform == 'windows' }} + uses: ilammy/msvc-dev-cmd@v1 -# - name: Set up Python 3.11 -# uses: actions/setup-python@v5 -# with: -# python-version: '3.11' + - name: Configure + run: | + python -m pip install importlib-resources + cmake --preset=${{ matrix.cmake-preset }} -DBUILD_SHARED_LIBS:BOOL=ON -DVCPKG_OVERLAY_TRIPLETS:PATH=${{ github.workspace }}/vcpkg/triplets -DVCPKG_TARGET_TRIPLET:STRING=${{ matrix.vcpkg-triplet }} + env: + VCPKG_ROOT: ${{ github.workspace }}/_vcpkg + VCPKG_FEATURE_FLAGS: manifests,versions,binarycaching,registries -# - uses: ilammy/msvc-dev-cmd@v1 -# name: Setup Windows dev environment -# with: -# arch: 'x64' -# if: ${{ matrix.platform == 'windows' }} + - name: Build Triton + run: | + cmake --build --preset build-${{ matrix.cmake-preset }} --config Release -# - name: Configure (Windows) -# if: ${{ matrix.platform == 'windows' }} -# run: | -# cmake --preset=${{ matrix.cmake-preset }} -DBUILD_SHARED_LIBS:BOOL=ON -DVCPKG_OVERLAY_TRIPLETS:PATH=${{ github.workspace }}\vcpkg\triplets -DVCPKG_TARGET_TRIPLET:STRING=${{ matrix.vcpkg-triplet }} -# env: -# VCPKG_ROOT: ${{ github.workspace }}/_vcpkg -# VCPKG_FEATURE_FLAGS: manifests,versions,binarycaching,registries + - name: Run tests + run: | + python -m pip install lief unicorn z3-solver + ctest --preset test-${{ matrix.cmake-preset }} -C Release --output-on-failure -# - name: Configure (UNIX) -# if: ${{ matrix.platform != 'windows' }} -# run: | -# python -m pip install importlib-resources -# cmake --preset=${{ matrix.cmake-preset }} -DBUILD_SHARED_LIBS:BOOL=ON -DVCPKG_OVERLAY_TRIPLETS:PATH=${{ github.workspace }}/vcpkg/triplets -DVCPKG_TARGET_TRIPLET:STRING=${{ matrix.vcpkg-triplet }} -# env: -# VCPKG_ROOT: ${{ github.workspace }}/_vcpkg -# VCPKG_FEATURE_FLAGS: manifests,versions,binarycaching,registries + - name: Test installation + run: | + cmake --build --preset build-${{ matrix.cmake-preset }} --config Release --target install -# - name: Build -# run: | -# cmake --build --preset build-${{ matrix.cmake-preset }} --config Release - -# - name: Test -# run: | -# ${{ matrix.python-executable }} --version -# ${{ matrix.python-executable }} -m pip install lief==0.15.1 unicorn z3-solver -# ctest --preset test-${{ matrix.cmake-preset }} -C Release --output-on-failure - -# - name: Install -# run: | -# cmake --build --preset build-${{ matrix.cmake-preset }} --config Release --target install - -# - name: Upload -# uses: actions/upload-artifact@v4 -# with: -# name: triton-x64-${{ matrix.platform }} -# path: ${{ github.workspace }}/out/install/${{ matrix.cmake-preset }} -# if-no-files-found: warn + - name: Upload package + uses: actions/upload-artifact@v7 + with: + name: triton-${{ matrix.arch }}-${{ matrix.platform }} + path: ${{ github.workspace }}/out/install/${{ matrix.cmake-preset }} + if-no-files-found: warn