forked from sandboxie-plus/Sandboxie
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
344 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,344 @@ | ||
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.1 | ||
ghSsl_user: xanasoft | ||
ghSsl_repo: openssl-builds | ||
#ghQt6Win7_user: DavidXanatos | ||
#ghQt6Win7_repo: qtbase | ||
ghQtBuilds_user: xanasoft | ||
ghQtBuilds_repo: qt-builds | ||
ghQtBuilds_hash_x86: bf4124046cc50ccbbeb3f786c041e884fd4205cd6e616070a75c850105cbf1db | ||
ghQtBuilds_hash_x64: 30290d82a02bfaa24c1bf37bcb9c074aba18a673a7176628fccdf71197cee898 | ||
|
||
jobs: | ||
Build_x64: | ||
runs-on: windows-2019 | ||
timeout-minutes: 45 | ||
|
||
steps: | ||
- name: Checkout code | ||
uses: actions/[email protected] | ||
|
||
- 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/[email protected] | ||
# 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/[email protected] | ||
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/[email protected] | ||
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/[email protected] | ||
|
||
- 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/[email protected] | ||
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/[email protected] | ||
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/[email protected] | ||
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/[email protected] | ||
|
||
- 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/[email protected] | ||
with: | ||
name: Sandboxie_x86 | ||
path: | | ||
Installer/SbiePlus_x86/* | ||
retention-days: 60 |