Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 38 additions & 16 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,27 +1,50 @@
name: CI

on: [ push, pull_request ]
on:
push:
branches:
- main
pull_request:

env:
CI: 1

jobs:
build:
runs-on: windows-latest
runs-on: windows-2025
steps:
- uses: actions/checkout@v2
- uses: microsoft/setup-msbuild@v1
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: cpp
- name: Checkout project code
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

- name: Setup MSBuild
uses: microsoft/setup-msbuild@6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce # v2.0.0

- name: Install missing ATL components
run: |
Set-Location "C:\Program Files (x86)\Microsoft Visual Studio\Installer\"
$InstallPath = "C:\Program Files\Microsoft Visual Studio\2022\Enterprise"
$componentsToAdd= @(
"Microsoft.VisualStudio.Component.VC.14.29.16.11.ATL"
"Microsoft.VisualStudio.Component.VC.14.29.16.11.ATL.Spectre"
"Microsoft.VisualStudio.Component.VC.14.29.16.11.MFC"
"Microsoft.VisualStudio.Component.VC.14.29.16.11.MFC.Spectre"
)
[string]$workloadArgs = $componentsToAdd | ForEach-Object {" --add " + $_}
$Arguments = ('/c', "vs_installer.exe", 'modify', '--installPath', "`"$InstallPath`"",$workloadArgs, '--quiet', '--norestart', '--nocache')
# should be run twice
$process = Start-Process -FilePath cmd.exe -ArgumentList $Arguments -Wait -PassThru -WindowStyle Hidden
$process = Start-Process -FilePath cmd.exe -ArgumentList $Arguments -Wait -PassThru -WindowStyle Hidden

- name: Cache NuGet packages
uses: actions/cache@v2
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
with:
path: packages
key: packages-v1-${{ hashFiles('**/packages.config') }}
key: packages-v4-${{ hashFiles('**/packages.config') }}
restore-keys: |
packages-v1-
packages-
packages-v4-
- name: Restore NuGet packages
run: nuget restore

- name: Build Debug Win32
run: msbuild /p:Platform=Win32 /p:Configuration=Debug PathCopyCopy.sln
- name: Build Debug x64
Expand All @@ -30,12 +53,11 @@ jobs:
run: msbuild /p:Platform=Win32 /p:Configuration=Release PathCopyCopy.sln
- name: Build Release x64
run: msbuild /p:Platform=x64 /p:Configuration=Release PathCopyCopy.sln
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

- name: Build installer
run: iscc /O+ /DSIGNCODE="no" /DDEVBUILD="yes" "Installer\Setup.iss"
- name: Upload installer artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
with:
name: installer
path: Installer/Output/
path: Installer/Output/