Conversation
…from v142 to v143 across multiple projects. Added LanguageStandard settings for improved compatibility.
…tformToolset to v143
Reviewer's GuideThis PR migrates several C++ projects to the VS2022 toolset and introduces a new GitHub Actions workflow to automate the build and artifact upload for the eMule solution. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Hey there - I've reviewed your changes - here's some feedback:
- Consider caching NuGet packages using actions/cache to speed up successive CI runs.
- Add an additional build step for the x64 platform if 64-bit support is required to ensure full coverage.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- Consider caching NuGet packages using actions/cache to speed up successive CI runs.
- Add an additional build step for the x64 platform if 64-bit support is required to ensure full coverage.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
There was a problem hiding this comment.
Pull Request Overview
This PR upgrades the eMule MorphXT project from Visual Studio 2019 (v142) to Visual Studio 2022 (v143) and adds a CI/CD pipeline using GitHub Actions.
- Updates platform toolset from v142 to v143 across all project files
- Adds LanguageStandard compiler settings to all build configurations
- Introduces a GitHub Actions workflow for automated builds
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| srchybrid/emule.vcxproj | Updated platform toolset to v143 and added language standard settings for all configurations (Beta, Release, Debug) |
| srchybrid/CxImage/cximage.vcxproj | Updated platform toolset to v143 and added language standard settings for Release and Debug configurations |
| ResizableLib/ResizableLib.vcxproj | Updated platform toolset to v143 and added language standard settings for Release and Debug configurations |
| ReplaceVistaIcon/ReplaceVistaIcon.vcxproj | Updated platform toolset to v143 and added language standard settings for Release and Debug configurations |
| .github/workflows/build-emule.yml | Added new GitHub Actions workflow to build the project on Windows with automated artifact collection |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…elease Build; include static analysis, lint checks, and dependency reviews
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 10 out of 10 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 10 out of 10 changed files in this pull request and generated 7 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Mika3578 <58137747+Mika3578@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 10 out of 10 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - name: Build Solution | ||
| run: | | ||
| # Note: TreatWarningsAsErrors not enabled to allow gradual warning cleanup | ||
| $outDir = Join-Path "${{ env.BUILD_OUTPUT_ROOT }}" "${{ matrix.platform }}\${{ env.BUILD_CONFIGURATION }}\Binary\" | ||
| msbuild /m ` | ||
| /p:Configuration=${{ env.BUILD_CONFIGURATION }} ` | ||
| /p:Platform=${{ matrix.platform }} ` | ||
| /p:OutDir="$outDir" ` | ||
| "${{ env.SOLUTION_FILE_PATH }}" |
There was a problem hiding this comment.
Missing shell: pwsh directive for this step. The script uses PowerShell commands (Join-Path, $outDir, backtick line continuation) but doesn't explicitly specify the shell. This could cause issues on different runners. Add shell: pwsh to ensure consistent behavior.
| - name: Build Debug Configuration | ||
| working-directory: ${{ github.workspace }} | ||
| run: | | ||
| $outDir = Join-Path "${{ env.BUILD_OUTPUT_ROOT }}" "${{ matrix.platform }}\Debug\Binary\" | ||
| msbuild /m ` | ||
| /p:Configuration=Debug ` | ||
| /p:Platform=${{ matrix.platform }} ` | ||
| /p:OutDir="$outDir" ` | ||
| "${{ env.SOLUTION_FILE_PATH }}" |
There was a problem hiding this comment.
Missing shell: pwsh directive for this step. The script uses PowerShell commands (Join-Path, $outDir, backtick line continuation) but doesn't explicitly specify the shell. This could cause issues on different runners. Add shell: pwsh to ensure consistent behavior.
There was a problem hiding this comment.
@copilot open a new pull request to apply changes based on this feedback
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 10 out of 10 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - name: Setup MSBuild and Install MFC/ATL | ||
| uses: ./.github/actions/setup-msbuild-mfc |
There was a problem hiding this comment.
The workflow references a local action './.github/actions/setup-msbuild-mfc' that does not exist in the repository. This will cause the workflow to fail. Either create this composite action or inline the MSBuild setup steps as done in the 'build-debug' job (lines 86-131).
| - name: Setup MSBuild and Install MFC/ATL | |
| uses: ./.github/actions/setup-msbuild-mfc | |
| - name: Setup MSBuild | |
| uses: microsoft/setup-msbuild@v2 | |
| - name: Install MFC/ATL workloads | |
| shell: pwsh | |
| run: | | |
| $ErrorActionPreference = "Stop" | |
| $vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" | |
| $vsInstallPath = & $vswhere -latest -products * -requires Microsoft.Component.MSBuild -property installationPath | |
| if (-not $vsInstallPath) { | |
| Write-Error "Visual Studio not found" | |
| exit 1 | |
| } | |
| $vsInstaller = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vs_installer.exe" | |
| if (-not (Test-Path $vsInstaller)) { | |
| Write-Error "VS Installer not found at $vsInstaller" | |
| exit 1 | |
| } | |
| & $vsInstaller modify --installPath $vsInstallPath --add Microsoft.VisualStudio.Component.VC.ATLMFC --quiet --norestart | |
| Write-Host "✓ MFC/ATL workloads installed" |
| - name: Download x64 artifacts | ||
| uses: actions/download-artifact@v6 | ||
| with: | ||
| name: emule-x64-release | ||
| path: ./artifacts/x64 | ||
|
|
There was a problem hiding this comment.
The 'create-installer' job attempts to download an 'emule-x64-release' artifact, but the build matrix only includes 'Win32' platform (line 23). This will cause the workflow to fail when trying to download the non-existent x64 artifact. Either add 'x64' to the build matrix or remove this download step.
| - name: Download x64 artifacts | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: emule-x64-release | |
| path: ./artifacts/x64 |
| - name: Restore NuGet packages | ||
| run: nuget restore "${{ env.SOLUTION_FILE_PATH }}" | ||
|
|
||
| - name: Build Solution |
There was a problem hiding this comment.
The 'Build Solution' step is missing 'shell: pwsh' declaration while using PowerShell syntax. This should be added for consistency with other PowerShell steps in the workflow to ensure correct shell interpretation.
| - name: Build Solution | |
| - name: Build Solution | |
| shell: pwsh |
| run: nuget restore "${{ env.SOLUTION_FILE_PATH }}" | ||
|
|
||
| - name: Build Debug Configuration | ||
| working-directory: ${{ github.workspace }} |
There was a problem hiding this comment.
The 'Build Debug Configuration' step is missing 'shell: pwsh' declaration while using PowerShell syntax. This should be added for consistency with other PowerShell steps in the workflow.
| working-directory: ${{ github.workspace }} | |
| working-directory: ${{ github.workspace }} | |
| shell: pwsh |
Summary by Sourcery
Migrate C++ projects to Visual Studio 2022 and introduce a GitHub Actions CI workflow for automated Windows builds
Enhancements:
CI: