From b60ccc2268d7b79fad702004efc4990dee149ba5 Mon Sep 17 00:00:00 2001 From: Behrooz Abbassi Date: Thu, 27 Apr 2023 13:30:31 -0700 Subject: [PATCH] Update vs2022.yml --- .github/workflows/vs2022.yml | 76 +++++++++++++++++++++++++++++++++++- 1 file changed, 74 insertions(+), 2 deletions(-) diff --git a/.github/workflows/vs2022.yml b/.github/workflows/vs2022.yml index f1e8e7b9..05759d4f 100644 --- a/.github/workflows/vs2022.yml +++ b/.github/workflows/vs2022.yml @@ -33,8 +33,80 @@ env: BUILD_BIN_DIR: ./hyperdbg/build/bin/ # Zydis library - ZYDIS_REPO_PATH: ${{env.GITHUB_WORKSPACE}}/hyperdbg/dependencies/zydis/ - ZYDIS_SOLUTION_PATH: ${{env.GITHUB_WORKSPACE}}/hyperdbg/dependencies/zydis/msvc/Zydis.sln + ZYDIS_REPO_PATH: ${{GITHUB_WORKSPACE}}/hyperdbg/dependencies/zydis/ + ZYDIS_SOLUTION_PATH: ${{GITHUB_WORKSPACE}}/hyperdbg/dependencies/zydis/msvc/Zydis.sln + ZYDIS_BIN_DIR: ${{GITHUB_WORKSPACE}}/hyperdbg/libraries/zydis + +jobs: + win-amd64-build: + runs-on: windows-2022 + strategy: + matrix: + BUILD_CONFIGURATION: [release, debug] + PLATFORM: [x64] + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + with: + fetch-depth: 0 + submodules: recursive + + - name: Checkout submodules recursively + run: git submodule update --init --recursive --remote + + - name: Setup WDK version 22H2 + run: | + $wdkSetupPath = "$Env:TEMP\wdksetup.exe" + (New-Object Net.WebClient).DownloadFile('${{env.WDK_URL}}', $wdkSetupPath) + Start-Process -FilePath $wdkSetupPath -ArgumentList "/quiet" -NoNewWindow -Wait + + - name: Add MSBuild to PATH + uses: microsoft/setup-msbuild@v1.0.2 + + - name: Build third-party dependencies (Release Mode) + working-directory: ${{env.GITHUB_WORKSPACE}} + run: msbuild /m /p:Configuration="Release MT" /p:Platform=${{matrix.PLATFORM}} /target:zydis /target:zycore /p:OutDir=${{env.ZYDIS_BIN_DIR}} ${{env.ZYDIS_SOLUTION_PATH}} + + - name: Build Hyperdbg solution + working-directory: ${{env.GITHUB_WORKSPACE}} + run: msbuild /m /p:Configuration=${{matrix.BUILD_CONFIGURATION}} /p:Platform=${{matrix.PLATFORM}} ${{env.SOLUTION_FILE_PATH}} + + - name: Upload build directory + uses: actions/upload-artifact@v2 + with: + name: build_files_${{matrix.BUILD_CONFIGURATION}} + path: ${{ env.BUILD_BIN_DIR }} + + deploy-release: + name: Deploy release + needs: win-amd64-build + runs-on: windows-2019 + + if: startsWith(github.ref, 'refs/tags/') + steps: + - name: Download build files from "build" job + uses: actions/download-artifact@v2 + with: + name: build_files_release + path: ${{ env.BUILD_BIN_DIR }} + + - name: Archive release + uses: thedoctor0/zip-release@master + with: + path: ${{ env.BUILD_BIN_DIR }}release/ + type: 'zip' + filename: ${{env.RELEASE_ZIP_FILE_NAME}}-${{ github.ref_name }}.zip + + - name: Release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + files: | + ${{env.RELEASE_ZIP_FILE_NAME}}-${{ github.ref_name }}.zip + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + ZYDIS_BIN_DIR: ${{env.GITHUB_WORKSPACE}}/hyperdbg/libraries/zydis jobs: