diff --git a/.github/workflows/vcpkg_ci_amd64.yml b/.github/workflows/vcpkg_ci_amd64.yml index abc44d74..e8de4284 100644 --- a/.github/workflows/vcpkg_ci_amd64.yml +++ b/.github/workflows/vcpkg_ci_amd64.yml @@ -39,9 +39,8 @@ jobs: matrix: image: # 'name' is Docker image name whereas 'os' is more generic - - { os: 'ubuntu', name: 'ubuntu-v2', tag: '20.04' } - { os: 'ubuntu', name: 'ubuntu-v2', tag: '22.04' } - llvm: [ 'llvm-15', 'llvm-16[pasta]', 'llvm-16' ] + llvm: [ 'llvm-16[pasta]', 'llvm-16' ] target_arch: [ 'x64', 'arm64' ] container: @@ -119,6 +118,12 @@ jobs: echo "VCPKG_ROOT=$(pwd)/${{ env.ARTIFACT_NAME }}" >> $GITHUB_ENV echo "TARGET_TRIPLET=${{ matrix.target_arch }}-linux-rel" >> $GITHUB_ENV + - name: Cleanup NuGet + shell: 'bash' + run: | + du -sh ~/.nuget || true + rm -rf ~/.nuget || true + - name: Upload CMake logs on error if: failure() uses: actions/upload-artifact@v3 @@ -175,7 +180,7 @@ jobs: - name: 'Rellic build' shell: 'bash' working-directory: rellic - if: contains(matrix.llvm, 'llvm-15') && matrix.target_arch == 'x64' + if: matrix.target_arch == 'x64' run: | # Does not compile with gcc export CC="$(which clang)" @@ -191,10 +196,10 @@ jobs: cmake --build build --target install - name: 'Rellic test' shell: 'bash' - working-directory: rellic/build - if: contains(matrix.llvm, 'llvm-15') && matrix.target_arch == 'x64' + working-directory: rellic + if: matrix.target_arch == 'x64' run: | - ../scripts/roundtrip.py ./tools/rellic-decomp ../tests/tools/decomp "${VCPKG_ROOT}/installed/${TARGET_TRIPLET}/tools/llvm/clang" + cmake --build build --target test - name: 'Remill dependencies' shell: 'bash' @@ -211,11 +216,6 @@ jobs: if: matrix.target_arch == 'x64' working-directory: remill run: | - if [[ '${{ matrix.image.tag }}' == '20.04' ]]; then - # Remill uses C++20 concepts that aren't supported by gcc-9 in 20.04 - export CC="$(which clang)" - export CXX="$(which clang++)" - fi cmake -G Ninja \ -DCMAKE_VERBOSE_MAKEFILE=ON \ "-DCMAKE_TOOLCHAIN_FILE=${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" \ @@ -237,7 +237,7 @@ jobs: - name: 'Anvill build' shell: 'bash' working-directory: anvill - if: contains(matrix.llvm, 'llvm-15') && matrix.target_arch == 'x64' + if: matrix.target_arch == 'x64' run: | # TODO: Does not support compilation with gcc export CC="$(which clang)" @@ -257,17 +257,16 @@ jobs: -S . -B build cmake --build build cmake --install build - # NOTE: This is an old test that doesn't make sense anymore - # Need to find some other way to run a smoketest - #- name: 'Anvill test' - # shell: 'bash' - # working-directory: anvill - # if: contains(matrix.llvm, 'llvm-15') && matrix.target_arch == 'x64' - # run: | - # ./install/bin/anvill-decompile-spec --spec ../bin/Decompile/tests/specs/ret0.json --bc_out ./ret0.bc --ir_out ret0.ir + - name: 'Anvill test' + shell: 'bash' + working-directory: anvill + if: matrix.target_arch == 'x64' + run: | + cmake --build build --target test - name: Cache cleanup and reporting shell: 'bash' run: | rm -rf vcpkg/{buildtrees,installed,packages} ccache --show-stats + df -h diff --git a/.github/workflows/vcpkg_ci_mac.yml b/.github/workflows/vcpkg_ci_mac.yml index f8502dcf..00250189 100644 --- a/.github/workflows/vcpkg_ci_mac.yml +++ b/.github/workflows/vcpkg_ci_mac.yml @@ -37,7 +37,7 @@ jobs: matrix: os: - { runner: 'macos-12', xcode: '14.2' } - llvm: [ 'llvm-15', 'llvm-16[pasta]', 'llvm-16' ] + llvm: [ 'llvm-16[pasta]', 'llvm-16' ] target_arch: [ 'x64', 'arm64' ] runs-on: ${{ matrix.os.runner }} @@ -177,7 +177,7 @@ jobs: - name: 'Rellic build' shell: 'bash' working-directory: rellic - if: contains(matrix.llvm, 'llvm-15') && matrix.target_arch == 'x64' + if: matrix.target_arch == 'x64' run: | cmake -G Ninja \ -DCMAKE_VERBOSE_MAKEFILE=ON \ @@ -191,11 +191,10 @@ jobs: cmake --install build - name: 'Rellic test' shell: 'bash' - working-directory: rellic/build - if: contains(matrix.llvm, 'llvm-15') && matrix.target_arch == 'x64' + working-directory: rellic + if: matrix.target_arch == 'x64' run: | - # Test only should run when we're not cross compiling - ../scripts/roundtrip.py ./tools/rellic-decomp ../tests/tools/decomp "${VCPKG_ROOT}/installed/${TARGET_TRIPLET}/tools/llvm/clang" + cmake --build build --target test - name: 'Remill dependencies' shell: 'bash' @@ -234,7 +233,7 @@ jobs: - name: 'Anvill build' shell: 'bash' working-directory: anvill - if: contains(matrix.llvm, 'llvm-15') && matrix.target_arch == 'x64' + if: matrix.target_arch == 'x64' run: | cmake -G Ninja \ -DCMAKE_VERBOSE_MAKEFILE=ON \ @@ -251,16 +250,12 @@ jobs: -S . -B build cmake --build build cmake --install build - - # NOTE: This is an old test that doesn't make sense anymore - # Need to find some other way to run a smoketest - #- name: 'Anvill test' - # shell: 'bash' - # working-directory: anvill - # # if: contains(matrix.llvm, 'llvm-15') && matrix.target_arch == 'x64' - # if: matrix.target_arch == 'x64' - # run: | - # ./install/bin/anvill-decompile-spec -spec ../bin/Decompile/tests/specs/ret0.json -bc_out ./ret0.bc -ir_out ret0.ir + - name: 'Anvill test' + shell: 'bash' + working-directory: anvill + if: matrix.target_arch == 'x64' + run: | + cmake --build build --target test - name: Cache cleanup and reporting shell: 'bash' diff --git a/anvill b/anvill index 232f78fb..9f3e1235 160000 --- a/anvill +++ b/anvill @@ -1 +1 @@ -Subproject commit 232f78fbc7487cdf3c4f7c73c9af496700602910 +Subproject commit 9f3e12353d4dc7e3e07e74a67882736f404396f9 diff --git a/rellic b/rellic index c516dccb..6226304d 160000 --- a/rellic +++ b/rellic @@ -1 +1 @@ -Subproject commit c516dccbc4f338ab4ad30a268da7e241ae9ebb13 +Subproject commit 6226304d78a142f61fa2866533383f111f9e8913 diff --git a/remill b/remill index 396e228e..a6abbb81 160000 --- a/remill +++ b/remill @@ -1 +1 @@ -Subproject commit 396e228e934bfa2536105927950fb80c19c518c9 +Subproject commit a6abbb818c3c523dfb806cf4e8a0211f3a8d56e4 diff --git a/vcpkg_info.txt b/vcpkg_info.txt index ff35e44a..53a4246e 100644 --- a/vcpkg_info.txt +++ b/vcpkg_info.txt @@ -1,2 +1,2 @@ https://github.com/trail-of-forks/vcpkg.git -fix-cross-compile-linux +cxx-common