diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5557172838..52bad0a712 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,4 +1,4 @@ -name: CI +name: CI (Qt 5) on: workflow_dispatch: @@ -190,7 +190,7 @@ jobs: Installer/SbiePlus_x64/* retention-days: 60 - Build_x86: + Build_ARM64: runs-on: windows-2019 timeout-minutes: 45 @@ -198,6 +198,13 @@ jobs: - name: Checkout code uses: actions/checkout@v4.1.7 + - name: Load Variables from buildVariables.cmd + shell: cmd + run: | + @echo on + call "${{ github.workspace }}\Installer\buildVariables.cmd" build_qt6 + echo qt6_version=%qt6_version% >> %GITHUB_ENV% + - name: Setup msbuild uses: microsoft/setup-msbuild@v2 @@ -205,15 +212,42 @@ jobs: # Compile Sandboxie Core # - - name: Build Sandboxie x86 (all) - run: msbuild /t:build Sandboxie\Sandbox.sln /p:Configuration="SbieRelease" /p:Platform=Win32 -maxcpucount:8 + - name: Build Sandboxie x86 (DLLs & svc) + run: msbuild /t:build Sandboxie\SandboxDll.sln /p:Configuration="SbieRelease" /p:Platform=Win32 -maxcpucount:8 + + - name: Build Sandboxie ARM64 (all) + run: msbuild /t:build Sandboxie\Sandbox.sln /p:Configuration="SbieRelease" /p:Platform=ARM64 -maxcpucount:8 + + - name: Build Sandboxie ARM64EC (DLL) + run: msbuild /t:build Sandboxie\SandboxDll.sln /p:Configuration="SbieRelease" /p:Platform=ARM64EC -maxcpucount:8 # - # Prepare Qt Framework + # Prepare Qt Framework for ARM64 (we also need Qt x64 for some utilities like qmake) # - - name: Install Qt5 x86 - run: SandboxiePlus\install_qt.cmd Win32 + - name: Install Qt6 x64 + uses: jurplel/install-qt-action@v4.1.1 + with: + # version: '6.2.4' + version: '${{ env.qt6_version }}' + # dir: .. + # arch: ${{ matrix.qt-target }} + arch: 'win64_msvc2019_64' + # tools: 'tools_qtcreator,4.14.0-0-202012170949,qt.tools.qtcreator' + tools: 'tools_opensslv3_x64' + cache: true + + - name: Install Qt6 ARM64 + uses: jurplel/install-qt-action@v4.1.1 + with: + # version: '6.2.4' + version: '${{ env.qt6_version }}' + # dir: .. + # arch: ${{ matrix.qt-target }} + arch: 'win64_msvc2019_arm64' + # tools: 'tools_qtcreator,4.14.0-0-202012170949,qt.tools.qtcreator' + tools: 'tools_opensslv3_x64' + cache: true - name: Installing Jom # if: steps.cache-qt.outputs.cache-hit != 'true' @@ -223,22 +257,25 @@ jobs: # Compile Sandboxie Plus # - - name: Build Sandboxie-Plus x86 - run: SandboxiePlus\qmake_plus.cmd Win32 + - name: Build Sandboxie-Plus ARM64 + run: SandboxiePlus\qmake_plus.cmd ARM64 build_qt6 + + - name: Build SbieShell ARM64 + run: msbuild /t:restore,build -p:RestorePackagesConfig=true SandboxiePlus\SbieShell\SbieShell.sln /p:Configuration="Release" /p:Platform=ARM64 # # Compile Sandboxie Tools # - - name: Build Sandboxie-Tools x86 - run: msbuild /t:build SandboxieTools\SandboxieTools.sln /p:Configuration="Release" /p:Platform=x86 -maxcpucount:8 + - name: Build Sandboxie-Tools ARM64 + run: msbuild /t:build SandboxieTools\SandboxieTools.sln /p:Configuration="Release" /p:Platform=ARM64 -maxcpucount:8 # # Merge everything together # - - name: Add missing languages for Qt5 (issue 1528) - run: Installer\fix_qt5_languages.cmd Win32 + - name: Add missing languages for Qt6 (issue 1528) + run: Installer\fix_qt5_languages.cmd x64 build_qt6 - name: Get openssl binaries run: Installer\get_openssl.cmd @@ -247,18 +284,18 @@ jobs: run: Installer\get_7zip.cmd - name: Merging Build - run: Installer\copy_build.cmd x86 + run: Installer\copy_build.cmd ARM64 build_qt6 - - name: Upload Sandboxie x86 + - name: Upload Sandboxie ARM64 #if: github.ref == 'refs/heads/master' && github.event_name != 'pull_request' uses: actions/upload-artifact@v4.4.3 with: - name: Sandboxie_x86 + name: Sandboxie_ARM64 path: | - Installer/SbiePlus_x86/* + Installer/SbiePlus_a64/* retention-days: 60 - Build_x64_Qt6: + Build_x86: runs-on: windows-2019 timeout-minutes: 45 @@ -266,14 +303,6 @@ jobs: - name: Checkout code uses: actions/checkout@v4.1.7 - - name: Load Variables from buildVariables.cmd - shell: cmd - run: | - @echo on - call "${{ github.workspace }}\Installer\buildVariables.cmd" build_qt6 - echo qt6_version=%qt6_version% >> %GITHUB_ENV% - echo qt_version=%qt6_version% >> %GITHUB_ENV% - - name: Setup msbuild uses: microsoft/setup-msbuild@v2 @@ -281,30 +310,15 @@ jobs: # Compile Sandboxie Core # - - name: Build Sandboxie x86 (DLLs & svc) - run: msbuild /t:build Sandboxie\SandboxDll.sln /p:Configuration="SbieRelease" /p:Platform=Win32 -maxcpucount:8 - - - name: Build Sandboxie x64 (all) - run: msbuild /t:build Sandboxie\Sandbox.sln /p:Configuration="SbieRelease" /p:Platform=x64 -maxcpucount:8 + - name: Build Sandboxie x86 (all) + run: msbuild /t:build Sandboxie\Sandbox.sln /p:Configuration="SbieRelease" /p:Platform=Win32 -maxcpucount:8 # # Prepare Qt Framework # - - name: Install Qt6 x64 - uses: jurplel/install-qt-action@v4.1.1 - with: - # version: '6.2.4' - version: '${{ env.qt6_version }}' - # dir: .. - # arch: ${{ matrix.qt-target }} - arch: 'win64_msvc2019_64' - # tools: 'tools_qtcreator,4.14.0-0-202012170949,qt.tools.qtcreator' - tools: 'tools_opensslv3_x64' - cache: true - -# - name: Install Qt5 x64 -# run: SandboxiePlus\install_qt.cmd x64 + - name: Install Qt5 x86 + run: SandboxiePlus\install_qt.cmd Win32 - name: Installing Jom # if: steps.cache-qt.outputs.cache-hit != 'true' @@ -314,28 +328,22 @@ jobs: # Compile Sandboxie Plus # - - name: Build Sandboxie-Plus x64 - run: SandboxiePlus\qmake_plus.cmd x64 build_qt6 - - - name: Build SbieShell x64 - run: msbuild /t:restore,build -p:RestorePackagesConfig=true SandboxiePlus\SbieShell\SbieShell.sln /p:Configuration="Release" /p:Platform=x64 + - name: Build Sandboxie-Plus x86 + run: SandboxiePlus\qmake_plus.cmd Win32 # # Compile Sandboxie Tools # - - name: Build Sandboxie-Tools x64 - run: msbuild /t:build SandboxieTools\SandboxieTools.sln /p:Configuration="Release" /p:Platform=x64 -maxcpucount:8 + - name: Build Sandboxie-Tools x86 + run: msbuild /t:build SandboxieTools\SandboxieTools.sln /p:Configuration="Release" /p:Platform=x86 -maxcpucount:8 # # Merge everything together # -# - name: Add Windows 7 compatible Qt6 DLLs -# run: Installer\fix_qt6_win7.cmd - - - name: Add missing languages for Qt6 (issue 1528) - run: Installer\fix_qt5_languages.cmd x64 build_qt6 + - name: Add missing languages for Qt5 (issue 1528) + run: Installer\fix_qt5_languages.cmd Win32 - name: Get openssl binaries run: Installer\get_openssl.cmd @@ -344,30 +352,18 @@ jobs: run: Installer\get_7zip.cmd - name: Merging Build - run: Installer\copy_build.cmd x64 build_qt6 - - - name: Collect installer assets - run: Installer\get_assets.cmd - - - name: Upload installer assets - #if: github.ref == 'refs/heads/master' && github.event_name != 'pull_request' - uses: actions/upload-artifact@v4.4.3 - with: - name: Assets - path: | - Installer/Assets/* - retention-days: 60 + run: Installer\copy_build.cmd x86 - - name: Upload Sandboxie x64 Qt6 + - name: Upload Sandboxie x86 #if: github.ref == 'refs/heads/master' && github.event_name != 'pull_request' uses: actions/upload-artifact@v4.4.3 with: - name: Sandboxie_x64_Qt6 + name: Sandboxie_x86 path: | - Installer/SbiePlus_x64/* + Installer/SbiePlus_x86/* retention-days: 60 - Build_ARM64: + Build_x64_Qt6: runs-on: windows-2019 timeout-minutes: 45 @@ -381,6 +377,7 @@ jobs: @echo on call "${{ github.workspace }}\Installer\buildVariables.cmd" build_qt6 echo qt6_version=%qt6_version% >> %GITHUB_ENV% + echo qt_version=%qt6_version% >> %GITHUB_ENV% - name: Setup msbuild uses: microsoft/setup-msbuild@v2 @@ -392,14 +389,11 @@ jobs: - name: Build Sandboxie x86 (DLLs & svc) run: msbuild /t:build Sandboxie\SandboxDll.sln /p:Configuration="SbieRelease" /p:Platform=Win32 -maxcpucount:8 - - name: Build Sandboxie ARM64 (all) - run: msbuild /t:build Sandboxie\Sandbox.sln /p:Configuration="SbieRelease" /p:Platform=ARM64 -maxcpucount:8 - - - name: Build Sandboxie ARM64EC (DLL) - run: msbuild /t:build Sandboxie\SandboxDll.sln /p:Configuration="SbieRelease" /p:Platform=ARM64EC -maxcpucount:8 + - name: Build Sandboxie x64 (all) + run: msbuild /t:build Sandboxie\Sandbox.sln /p:Configuration="SbieRelease" /p:Platform=x64 -maxcpucount:8 # - # Prepare Qt Framework for ARM64 (we also need Qt x64 for some utilities like qmake) + # Prepare Qt Framework # - name: Install Qt6 x64 @@ -414,17 +408,8 @@ jobs: tools: 'tools_opensslv3_x64' cache: true - - name: Install Qt6 ARM64 - uses: jurplel/install-qt-action@v4.1.1 - with: - # version: '6.2.4' - version: '${{ env.qt6_version }}' - # dir: .. - # arch: ${{ matrix.qt-target }} - arch: 'win64_msvc2019_arm64' - # tools: 'tools_qtcreator,4.14.0-0-202012170949,qt.tools.qtcreator' - tools: 'tools_opensslv3_x64' - cache: true +# - name: Install Qt5 x64 +# run: SandboxiePlus\install_qt.cmd x64 - name: Installing Jom # if: steps.cache-qt.outputs.cache-hit != 'true' @@ -434,23 +419,26 @@ jobs: # Compile Sandboxie Plus # - - name: Build Sandboxie-Plus ARM64 - run: SandboxiePlus\qmake_plus.cmd ARM64 build_qt6 + - name: Build Sandboxie-Plus x64 + run: SandboxiePlus\qmake_plus.cmd x64 build_qt6 - - name: Build SbieShell ARM64 - run: msbuild /t:restore,build -p:RestorePackagesConfig=true SandboxiePlus\SbieShell\SbieShell.sln /p:Configuration="Release" /p:Platform=ARM64 + - name: Build SbieShell x64 + run: msbuild /t:restore,build -p:RestorePackagesConfig=true SandboxiePlus\SbieShell\SbieShell.sln /p:Configuration="Release" /p:Platform=x64 # # Compile Sandboxie Tools # - - name: Build Sandboxie-Tools ARM64 - run: msbuild /t:build SandboxieTools\SandboxieTools.sln /p:Configuration="Release" /p:Platform=ARM64 -maxcpucount:8 + - name: Build Sandboxie-Tools x64 + run: msbuild /t:build SandboxieTools\SandboxieTools.sln /p:Configuration="Release" /p:Platform=x64 -maxcpucount:8 # # Merge everything together # +# - name: Add Windows 7 compatible Qt6 DLLs +# run: Installer\fix_qt6_win7.cmd + - name: Add missing languages for Qt6 (issue 1528) run: Installer\fix_qt5_languages.cmd x64 build_qt6 @@ -461,13 +449,25 @@ jobs: run: Installer\get_7zip.cmd - name: Merging Build - run: Installer\copy_build.cmd ARM64 build_qt6 + run: Installer\copy_build.cmd x64 build_qt6 - - name: Upload Sandboxie ARM64 + - name: Collect installer assets + run: Installer\get_assets.cmd + + - name: Upload installer assets #if: github.ref == 'refs/heads/master' && github.event_name != 'pull_request' uses: actions/upload-artifact@v4.4.3 with: - name: Sandboxie_ARM64 + name: Assets path: | - Installer/SbiePlus_a64/* + Installer/Assets/* + retention-days: 60 + + - name: Upload Sandboxie x64 Qt6 + #if: github.ref == 'refs/heads/master' && github.event_name != 'pull_request' + uses: actions/upload-artifact@v4.4.3 + with: + name: Sandboxie_x64_Qt6 + path: | + Installer/SbiePlus_x64/* retention-days: 60