Sandboxie/.github/workflows/main.yml

183 lines
5.3 KiB
YAML
Raw Normal View History

2020-11-28 14:34:18 +00:00
name: CI
on:
2021-09-29 20:38:24 +01:00
workflow_dispatch:
2021-01-31 11:06:16 +00:00
push:
branches: [ master ]
pull_request:
branches: [ master ]
2020-11-28 14:34:18 +00:00
jobs:
2021-12-31 14:21:21 +00:00
Build:
2021-01-30 22:20:06 +00:00
#strategy:
# matrix:
# #platform: [Win32, x64]
# #qt-target: [win32_msvc2019, win64_msvc2019_64]
# include:
# - platform: Win32
# qt-target: win32_msvc2019
# - platform: x64
# qt-target: win64_msvc2019_64
2021-12-08 05:05:13 +00:00
2021-09-09 21:09:47 +01:00
runs-on: windows-2019
2023-04-01 17:27:31 +01:00
timeout-minutes: 45
2021-12-08 05:05:13 +00:00
2020-11-28 14:34:18 +00:00
steps:
2020-11-28 15:23:26 +00:00
- name: Checkout code
uses: actions/checkout@v3
2020-11-28 16:25:50 +00:00
2021-09-09 20:59:05 +01:00
- name: Setup msbuild
uses: microsoft/setup-msbuild@v1.3
2020-11-28 16:25:50 +00:00
2021-09-09 21:22:33 +01:00
# - name: Do Tests
# run: .\TestCI.cmd
2021-09-09 21:06:14 +01:00
2021-01-30 22:20:06 +00:00
# - name: Build Sandboxie
# run: msbuild /t:build Sandboxie\Sandbox.sln /p:Configuration="SbieRelease" /p:Platform=${{ matrix.platform }}
2022-11-20 17:25:39 +00:00
#
# Compile Sandboxie Core
#
2022-10-12 20:13:44 +01:00
- name: Build Sandboxie x86
2021-01-30 23:06:27 +00:00
run: msbuild /t:build Sandboxie\Sandbox.sln /p:Configuration="SbieRelease" /p:Platform=Win32 -maxcpucount:8
2021-12-08 05:05:13 +00:00
2022-10-12 20:13:44 +01:00
- name: Build Sandboxie x64
2021-01-30 23:06:27 +00:00
run: msbuild /t:build Sandboxie\Sandbox.sln /p:Configuration="SbieRelease" /p:Platform=x64 -maxcpucount:8
2022-10-12 20:13:44 +01:00
- name: Build Sandboxie ARM64
run: msbuild /t:build Sandboxie\Sandbox.sln /p:Configuration="SbieRelease" /p:Platform=ARM64 -maxcpucount:8
2021-01-30 22:20:06 +00:00
2022-10-12 20:13:44 +01:00
- name: Build Sandboxie ARM64EC
run: msbuild /t:build Sandboxie\Sandbox.sln /p:Configuration="SbieRelease" /p:Platform=ARM64EC -maxcpucount:8
2022-11-20 17:25:39 +00:00
#
# Prepare Qt Framework
#
2022-10-15 09:57:38 +01:00
#- name: Cache Qt
# id: cache-qt
# uses: actions/cache@v3
# with:
# path: ${{ runner.workspace }}\Qt
# key: Qt-6.3.1+5.15.2-QtCache
2021-01-20 10:23:09 +00:00
2022-10-12 20:13:44 +01:00
- name: Install Qt6 x64
uses: jurplel/install-qt-action@v3
2022-10-12 20:13:44 +01:00
with:
# version: '6.2.4'
version: '6.3.1'
2022-10-15 09:57:38 +01:00
# dir: ..
2022-10-12 20:13:44 +01:00
# arch: ${{ matrix.qt-target }}
arch: 'win64_msvc2019_64'
# tools: 'tools_qtcreator,4.14.0-0-202012170949,qt.tools.qtcreator'
2022-10-15 09:57:38 +01:00
cache: true
2022-10-12 20:13:44 +01:00
- name: Install Qt6 ARM64
uses: jurplel/install-qt-action@v3
2022-10-12 20:13:44 +01:00
with:
# version: '6.2.4'
version: '6.3.1'
2022-10-15 09:57:38 +01:00
# dir: ..
2022-10-12 20:13:44 +01:00
# arch: ${{ matrix.qt-target }}
arch: 'win64_msvc2019_arm64'
# tools: 'tools_qtcreator,4.14.0-0-202012170949,qt.tools.qtcreator'
2022-10-15 09:57:38 +01:00
cache: true
2022-10-12 20:13:44 +01:00
- name: Install Qt5 x64
2022-10-15 09:57:38 +01:00
uses: jurplel/install-qt-action@v3
2021-01-30 18:23:59 +00:00
with:
2021-07-18 20:46:46 +01:00
version: '5.15.2'
2022-10-15 09:57:38 +01:00
# dir: ..
2021-01-30 22:20:06 +00:00
# arch: ${{ matrix.qt-target }}
2021-12-08 05:05:13 +00:00
arch: 'win64_msvc2019_64'
2021-01-30 21:00:05 +00:00
# tools: 'tools_qtcreator,4.14.0-0-202012170949,qt.tools.qtcreator'
2022-10-15 09:57:38 +01:00
# cached: ${{ steps.cache-qt.outputs.cache-hit }}
cache: true
2021-01-30 22:20:06 +00:00
2022-10-12 20:13:44 +01:00
- name: Install Qt5 x86
2022-10-15 09:57:38 +01:00
uses: jurplel/install-qt-action@v3
2021-01-30 22:20:06 +00:00
with:
2021-07-18 21:00:27 +01:00
version: '5.15.2'
2022-10-15 09:57:38 +01:00
# dir: ..
2021-01-30 22:20:06 +00:00
# arch: ${{ matrix.qt-target }}
2021-01-30 22:23:57 +00:00
arch: 'win32_msvc2019'
2021-01-30 22:20:06 +00:00
# tools: 'tools_qtcreator,4.14.0-0-202012170949,qt.tools.qtcreator'
2022-10-15 09:57:38 +01:00
# cached: ${{ steps.cache-qt.outputs.cache-hit }}
cache: true
2021-12-08 05:05:13 +00:00
2021-01-30 22:23:57 +00:00
- name: Installing Jom
2022-10-15 09:57:38 +01:00
# if: steps.cache-qt.outputs.cache-hit != 'true'
2021-01-30 22:23:57 +00:00
run: SandboxiePlus\install_jom.cmd
2022-11-20 17:25:39 +00:00
#
# Compile Sandboxie Plus
#
2022-10-12 20:13:44 +01:00
- name: Build Sandboxie-Plus x64
2021-01-30 22:20:06 +00:00
run: SandboxiePlus\qmake_plus.cmd x64
2021-12-08 05:05:13 +00:00
2022-10-15 08:35:39 +01:00
- name: Build SbieShell x64
run: msbuild /t:restore,build -p:RestorePackagesConfig=true SandboxiePlus\SbieShell\SbieShell.sln /p:Configuration="Release" /p:Platform=x64
2022-05-15 13:03:52 +01:00
2022-10-12 20:13:44 +01:00
- name: Build Sandboxie-Plus ARM64
run: SandboxiePlus\qmake_plus.cmd ARM64
2022-10-15 08:35:39 +01:00
- name: Build SbieShell ARM64
run: msbuild /t:restore,build -p:RestorePackagesConfig=true SandboxiePlus\SbieShell\SbieShell.sln /p:Configuration="Release" /p:Platform=ARM64
2022-10-12 20:13:44 +01:00
- name: Build Sandboxie-Plus x86
2021-01-30 22:23:57 +00:00
run: SandboxiePlus\qmake_plus.cmd Win32
2022-11-20 17:25:39 +00:00
#
# Compile Sandboxie Live Updater
#
- name: Build Sandboxie-Live x86
2022-11-20 17:48:23 +00:00
run: msbuild /t:build SandboxieLive\SandboxieLive.sln /p:Configuration="Release" /p:Platform=x86 -maxcpucount:8
2022-11-20 17:25:39 +00:00
- name: Build Sandboxie-Live x64
run: msbuild /t:build SandboxieLive\SandboxieLive.sln /p:Configuration="Release" /p:Platform=x64 -maxcpucount:8
- name: Build Sandboxie-Live ARM64
run: msbuild /t:build SandboxieLive\SandboxieLive.sln /p:Configuration="Release" /p:Platform=ARM64 -maxcpucount:8
#
2022-11-21 18:22:33 +00:00
# Merge everything together
2022-11-20 17:25:39 +00:00
#
- name: Add missing languages for Qt5 x86 (issue 1528)
2022-10-12 20:13:44 +01:00
run: Installer\fix_qt5_languages.cmd Win32
- name: Add Windows 7 compatible Qt6 DLLs
2022-10-12 20:13:44 +01:00
run: Installer\fix_qt6_win7.cmd
2021-01-30 22:47:50 +00:00
- name: Merging Builds
run: Installer\merge_builds.cmd
2022-10-12 20:13:44 +01:00
- name: Upload Sandboxie x64
uses: actions/upload-artifact@v3
with:
name: Sandboxie_x64
path: |
Installer/SbiePlus_x64/*
retention-days: 60
2021-01-30 22:20:06 +00:00
2022-10-12 20:13:44 +01:00
- name: Upload Sandboxie ARM64
uses: actions/upload-artifact@v3
2020-11-28 14:52:52 +00:00
with:
2022-10-12 20:13:44 +01:00
name: Sandboxie_ARM64
2020-11-28 14:52:52 +00:00
path: |
2022-10-12 20:13:44 +01:00
Installer/SbiePlus_a64/*
2021-12-08 05:05:13 +00:00
retention-days: 60
2022-10-12 20:13:44 +01:00
- name: Upload Sandboxie x86
uses: actions/upload-artifact@v3
2021-01-31 10:34:58 +00:00
with:
2022-10-12 20:13:44 +01:00
name: Sandboxie_x86
2021-01-31 10:34:58 +00:00
path: |
2022-10-12 20:13:44 +01:00
Installer/SbiePlus_x86/*
2021-12-08 05:05:13 +00:00
retention-days: 60