CI #44
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
workflow_dispatch: | |
push: | |
branches: [ master ] | |
paths-ignore: | |
# Case-sensitive paths to ignore on push events | |
- '.editorconfig' | |
- '.gitattributes' | |
- '.gitignore' | |
- 'MergeDbg.cmd' | |
- 'TestCI.cmd' | |
- '.github/codeql/codeql-config.yml' | |
- '.github/ISSUE_TEMPLATE/**' | |
- '.github/workflows/codeql.yml' | |
- '.github/workflows/codespell.yml' | |
- '.github/workflows/lupdate.yml' | |
- '.github/workflows/stale.yml' | |
- '.github/workflows/test.yml' | |
- '.github/workflows/winget.yml' | |
- '.github/FUNDING.yml' | |
- '.github/dependabot.yml' | |
- 'Sandboxie/msgs/report/*.txt' | |
- '**/*.md' | |
- '**/*.html' | |
- '**/*.png' | |
- '**/*.bmp' | |
- '**/LICENSE*' | |
- '**/license*' | |
- '**/README*' | |
- '**/ReadMe*' | |
- '**/INSTALL*' | |
- '**/AUTHORS' | |
- '**/COPYING' | |
pull_request: | |
branches: [ master ] | |
paths-ignore: | |
# Case-sensitive paths to ignore on pull events | |
- '.editorconfig' | |
- '.gitattributes' | |
- '.gitignore' | |
- 'MergeDbg.cmd' | |
- 'TestCI.cmd' | |
- '.github/codeql/codeql-config.yml' | |
- '.github/ISSUE_TEMPLATE/**' | |
- '.github/workflows/codeql.yml' | |
- '.github/workflows/codespell.yml' | |
- '.github/workflows/lupdate.yml' | |
- '.github/workflows/stale.yml' | |
- '.github/workflows/test.yml' | |
- '.github/workflows/winget.yml' | |
- '.github/FUNDING.yml' | |
- '.github/dependabot.yml' | |
- 'Sandboxie/msgs/report/*.txt' | |
- '**/*.md' | |
- '**/*.html' | |
- '**/*.png' | |
- '**/*.bmp' | |
- '**/LICENSE*' | |
- '**/license*' | |
- '**/README*' | |
- '**/ReadMe*' | |
- '**/INSTALL*' | |
- '**/AUTHORS' | |
- '**/COPYING' | |
env: | |
qt_version: 5.15.14 | |
qt6_version: 6.3.1 | |
openssl_version: 3.3.0 | |
ghSsl_user: offhub # DavidXanatos | |
ghSsl_repo: openssl | |
ghQt6Win7_user: DavidXanatos | |
ghQt6Win7_repo: qtbase | |
ghQtBuilds_user: offhub # xanasoft | |
ghQtBuilds_repo: qt-sbie-builds # qt-builds | |
ghQtBuilds_hash_x86: 1E22E6D81AF478FD52AE5F0F465523CE042325127556B57E6731802D03C04622 # 79755f2bf95d0ca305096fc33582cd557345a79aa63f9821002fdddefdc0fd94 | |
ghQtBuilds_hash_x64: 5764FE462D99ADA5871E9D87DCBEA36D40733978C9F9E91E2F9F4D921412DC3B # f9029e02badd6a79d9bb092f9fb0772214dbcf8cd0122422514291d755860c37 | |
jobs: | |
Build_x64: | |
runs-on: windows-2019 | |
timeout-minutes: 45 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4.1.5 | |
- name: Setup msbuild | |
uses: microsoft/setup-msbuild@v2 | |
# | |
# 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 | |
# | |
# Prepare Qt Framework | |
# | |
# - name: Install Qt6 x64 | |
# uses: jurplel/install-qt-action@v4.0.0 | |
# with: | |
# # version: '6.2.4' | |
# version: '6.3.1' | |
# # dir: .. | |
# # arch: ${{ matrix.qt-target }} | |
# arch: 'win64_msvc2019_64' | |
# # tools: 'tools_qtcreator,4.14.0-0-202012170949,qt.tools.qtcreator' | |
# cache: true | |
- name: Install Qt5 x64 | |
run: SandboxiePlus\install_qt.cmd x64 ${{ env.qt_version }} ${{ env.qt6_version }} ${{ env.ghQtBuilds_user }} ${{ env.ghQtBuilds_repo }} ${{ env.ghQtBuilds_hash_x86 }} ${{ env.ghQtBuilds_hash_x64 }} | |
- name: Installing Jom | |
# if: steps.cache-qt.outputs.cache-hit != 'true' | |
run: SandboxiePlus\install_jom.cmd | |
# | |
# Compile Sandboxie Plus | |
# | |
- name: Build Sandboxie-Plus x64 | |
run: SandboxiePlus\qmake_plus.cmd x64 ${{ env.qt_version }} ${{ env.qt6_version }} | |
- 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 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 ${{ env.qt6_version }} ${{ env.ghQt6Win7_user }} ${{ env.ghQt6Win7_repo }} | |
- name: Add missing languages for Qt5 (issue 1528) | |
run: Installer\fix_qt5_languages.cmd x64 ${{ env.qt_version }} ${{ env.qt6_version }} | |
- name: Get openssl binaries | |
run: Installer\get_openssl.cmd ${{ env.openssl_version }} ${{ env.ghSsl_user }} ${{ env.ghSsl_repo }} | |
- name: Get 7z binaries | |
run: Installer\get_7zip.cmd | |
- name: Merging Build | |
run: Installer\copy_build.cmd x64 ${{ env.qt_version }} ${{ env.qt6_version }} ${{ env.openssl_version }} | |
- 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.3.3 | |
with: | |
name: Assets | |
path: | | |
Installer/Assets/* | |
retention-days: 60 | |
- name: Upload Sandboxie x64 | |
#if: github.ref == 'refs/heads/master' && github.event_name != 'pull_request' | |
uses: actions/upload-artifact@v4.3.3 | |
with: | |
name: Sandboxie_x64 | |
path: | | |
Installer/SbiePlus_x64/* | |
retention-days: 60 | |
Build_ARM64: | |
runs-on: windows-2019 | |
timeout-minutes: 45 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4.1.5 | |
- name: Setup msbuild | |
uses: microsoft/setup-msbuild@v2 | |
# | |
# 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 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 for ARM64 (we also need Qt x64 for some utilities like qmake) | |
# | |
- name: Install Qt6 x64 | |
uses: jurplel/install-qt-action@v4.0.0 | |
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' | |
cache: true | |
- name: Install Qt6 ARM64 | |
uses: jurplel/install-qt-action@v4.0.0 | |
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' | |
cache: true | |
- name: Installing Jom | |
# if: steps.cache-qt.outputs.cache-hit != 'true' | |
run: SandboxiePlus\install_jom.cmd | |
# | |
# Compile Sandboxie Plus | |
# | |
- name: Build Sandboxie-Plus ARM64 | |
run: SandboxiePlus\qmake_plus.cmd ARM64 ${{ env.qt_version }} ${{ env.qt6_version }} | |
- 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 ARM64 | |
run: msbuild /t:build SandboxieTools\SandboxieTools.sln /p:Configuration="Release" /p:Platform=ARM64 -maxcpucount:8 | |
# | |
# Merge everything together | |
# | |
- name: Get openssl binaries | |
run: Installer\get_openssl.cmd ${{ env.openssl_version }} ${{ env.ghSsl_user }} ${{ env.ghSsl_repo }} | |
- name: Get 7z binaries | |
run: Installer\get_7zip.cmd | |
- name: Merging Build | |
run: Installer\copy_build.cmd ARM64 ${{ env.qt_version }} ${{ env.qt6_version }} ${{ env.openssl_version }} | |
- name: Upload Sandboxie ARM64 | |
#if: github.ref == 'refs/heads/master' && github.event_name != 'pull_request' | |
uses: actions/upload-artifact@v4.3.3 | |
with: | |
name: Sandboxie_ARM64 | |
path: | | |
Installer/SbiePlus_a64/* | |
retention-days: 60 | |
Build_x86: | |
runs-on: windows-2019 | |
timeout-minutes: 45 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4.1.5 | |
- name: Setup msbuild | |
uses: microsoft/setup-msbuild@v2 | |
# | |
# Compile Sandboxie Core | |
# | |
- 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 Qt5 x86 | |
run: SandboxiePlus\install_qt.cmd Win32 ${{ env.qt_version }} ${{ env.qt6_version }} ${{ env.ghQtBuilds_user }} ${{ env.ghQtBuilds_repo }} ${{ env.ghQtBuilds_hash_x86 }} ${{ env.ghQtBuilds_hash_x64 }} | |
- name: Installing Jom | |
# if: steps.cache-qt.outputs.cache-hit != 'true' | |
run: SandboxiePlus\install_jom.cmd | |
# | |
# Compile Sandboxie Plus | |
# | |
- name: Build Sandboxie-Plus x86 | |
run: SandboxiePlus\qmake_plus.cmd Win32 ${{ env.qt_version }} ${{ env.qt6_version }} | |
# | |
# Compile Sandboxie Tools | |
# | |
- 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 missing languages for Qt5 (issue 1528) | |
run: Installer\fix_qt5_languages.cmd Win32 ${{ env.qt_version }} ${{ env.qt6_version }} | |
- name: Get openssl binaries | |
run: Installer\get_openssl.cmd ${{ env.openssl_version }} ${{ env.ghSsl_user }} ${{ env.ghSsl_repo }} | |
- name: Get 7z binaries | |
run: Installer\get_7zip.cmd | |
- name: Merging Build | |
run: Installer\copy_build.cmd x86 ${{ env.qt_version }} ${{ env.qt6_version }} ${{ env.openssl_version }} | |
- name: Upload Sandboxie x86 | |
#if: github.ref == 'refs/heads/master' && github.event_name != 'pull_request' | |
uses: actions/upload-artifact@v4.3.3 | |
with: | |
name: Sandboxie_x86 | |
path: | | |
Installer/SbiePlus_x86/* | |
retention-days: 60 |