diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 75e6f2a..03c7702 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -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 @@ -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/ \ No newline at end of file + path: Installer/Output/