Skip to content

Update msbuild.yml #260

Update msbuild.yml

Update msbuild.yml #260

Workflow file for this run

name: MSBuild
on:
push:
branches: [ "main" ]
paths-ignore:
- LICENSE
- README.md
# pull_request:
# branches: [ "main" ]
env:
SOLUTION_FILE_PATH: .
permissions:
contents: read
actions: write
jobs:
building-debug-x86:
name: Building Debug (x86)
runs-on: windows-latest
steps:
- uses: actions/[email protected]
- name: Add MSBuild to PATH
uses: microsoft/[email protected]
- name: Restore NuGet packages
working-directory: ${{env.GITHUB_WORKSPACE}}
run: dotnet restore ${{env.SOLUTION_FILE_PATH}}
- name: Building Debug (x86)
working-directory: ${{env.GITHUB_WORKSPACE}}
run: msbuild /m /p:Configuration=Debug /p:Platform=x86 ${{env.SOLUTION_FILE_PATH}}
- name: Uploading build
uses: actions/upload-artifact@v4
with:
name: BuildDebug32
path: |
${{env.SOLUTION_FILE_PATH}}\build\**\*.exe
${{env.SOLUTION_FILE_PATH}}\build\**\*.pdb
if-no-files-found: error
building-debug-x86-64:
name: Building Debug (x86_64)
runs-on: windows-latest
steps:
- uses: actions/[email protected]
- name: Add MSBuild to PATH
uses: microsoft/[email protected]
- name: Restore NuGet packages
working-directory: ${{env.GITHUB_WORKSPACE}}
run: dotnet restore ${{env.SOLUTION_FILE_PATH}}
- name: Building Debug (x86_64)
working-directory: ${{env.GITHUB_WORKSPACE}}
run: msbuild /m /p:Configuration=Debug /p:Platform=x64 ${{env.SOLUTION_FILE_PATH}}
- name: Uploading build
uses: actions/upload-artifact@v4
with:
name: BuildDebug64
path: |
${{env.SOLUTION_FILE_PATH}}\build\**\*.exe
${{env.SOLUTION_FILE_PATH}}\build\**\*.pdb
if-no-files-found: error
building-release-x86:
name: Building Release (x86)
runs-on: windows-latest
steps:
- uses: actions/[email protected]
- name: Add MSBuild to PATH
uses: microsoft/[email protected]
- name: Restore NuGet packages
working-directory: ${{env.GITHUB_WORKSPACE}}
run: dotnet restore ${{env.SOLUTION_FILE_PATH}}
- name: Building Release (x86)
working-directory: ${{env.GITHUB_WORKSPACE}}
run: msbuild /m /p:Configuration=Release /p:Platform=x86 ${{env.SOLUTION_FILE_PATH}}
- name: Uploading build
uses: actions/upload-artifact@v4
with:
name: BuildRelease32
path: |
${{env.SOLUTION_FILE_PATH}}\build\**\*.exe
${{env.SOLUTION_FILE_PATH}}\build\**\*.pdb
if-no-files-found: error
building-release-x86-64:
name: Building Release (x86_64)
runs-on: windows-latest
steps:
- uses: actions/[email protected]
- name: Add MSBuild to PATH
uses: microsoft/[email protected]
- name: Restore NuGet packages
working-directory: ${{env.GITHUB_WORKSPACE}}
run: dotnet restore ${{env.SOLUTION_FILE_PATH}}
- name: Building Release (x86_64)
working-directory: ${{env.GITHUB_WORKSPACE}}
run: msbuild /m /p:Configuration=Release /p:Platform=x64 ${{env.SOLUTION_FILE_PATH}}
- name: Uploading build
uses: actions/upload-artifact@v4
with:
name: BuildRelease64
path: |
${{env.SOLUTION_FILE_PATH}}\build\**\*.exe
${{env.SOLUTION_FILE_PATH}}\build\**\*.pdb
if-no-files-found: error
analysis:
name: Analysis
runs-on: self-hosted
needs: [ building-debug-x86, building-debug-x86-64, building-release-x86, building-release-x86-64 ]
steps:
- uses: actions/[email protected]
- name: Add MSBuild to PATH
uses: microsoft/[email protected]
- name: Restore NuGet packages
working-directory: ${{env.GITHUB_WORKSPACE}}
run: dotnet restore ${{env.SOLUTION_FILE_PATH}}
- name: Analysis Debug (x86)
if: always()
working-directory: ${{env.GITHUB_WORKSPACE}}
run: |
mkdir "${{env.SOLUTION_FILE_PATH}}\build\x86\Debug"
python "C:\PVS-Studio_Cmd.py" --settings "C:\Settings.xml" --target "${{env.SOLUTION_FILE_PATH}}\Detours.sln" --useSuppressFile "${{env.SOLUTION_FILE_PATH}}\SuppressionFile.suppress" --configuration Debug --platform x86 --output "${{env.SOLUTION_FILE_PATH}}\build\x86\Debug\results.plog"
- name: Analysis Debug (x86_64)
if: always()
working-directory: ${{env.GITHUB_WORKSPACE}}
run: |
mkdir "${{env.SOLUTION_FILE_PATH}}\build\x86_64\Debug"
python "C:\PVS-Studio_Cmd.py" --settings "C:\Settings.xml" --target "${{env.SOLUTION_FILE_PATH}}\Detours.sln" --useSuppressFile "${{env.SOLUTION_FILE_PATH}}\SuppressionFile.suppress" --configuration Debug --platform x64 --output "${{env.SOLUTION_FILE_PATH}}\build\x86_64\Debug\results.plog"
- name: Analysis Release (x86)
if: always()
working-directory: ${{env.GITHUB_WORKSPACE}}
run: |
mkdir "${{env.SOLUTION_FILE_PATH}}\build\x86\Release"
python "C:\PVS-Studio_Cmd.py" --settings "C:\Settings.xml" --target "${{env.SOLUTION_FILE_PATH}}\Detours.sln" --useSuppressFile "${{env.SOLUTION_FILE_PATH}}\SuppressionFile.suppress" --configuration Release --platform x86 --output "${{env.SOLUTION_FILE_PATH}}\build\x86\Debug\results.plog"
- name: Analysis Release (x86_64)
if: always()
working-directory: ${{env.GITHUB_WORKSPACE}}
run: |
mkdir "${{env.SOLUTION_FILE_PATH}}\build\x86_64\Release"
python "C:\PVS-Studio_Cmd.py" --settings "C:\Settings.xml" --target "${{env.SOLUTION_FILE_PATH}}\Detours.sln" --useSuppressFile "${{env.SOLUTION_FILE_PATH}}\SuppressionFile.suppress" --configuration Release --platform x64 --output "${{env.SOLUTION_FILE_PATH}}\build\x86_64\Debug\results.plog"
- name: Uploading results
if: always()
uses: actions/upload-artifact@v4
with:
name: Analysis
path: |
${{env.SOLUTION_FILE_PATH}}\build\**\*.plog
if-no-files-found: error
testing-debug-x86:
name: Testing Debug (x86)
runs-on: windows-latest
needs: analysis
steps:
- name: Downloading Debug (x86)
uses: actions/download-artifact@v4
with:
name: BuildDebug32
path: |
${{env.SOLUTION_FILE_PATH}}\build
- name: Testing Debug (x86)
timeout-minutes: 3
working-directory: ${{env.GITHUB_WORKSPACE}}
run: ${{env.SOLUTION_FILE_PATH}}\build\x86\Debug\Detours.exe
testing-debug-x86-64:
name: Testing Debug (x86_64)
runs-on: windows-latest
needs: analysis
steps:
- name: Downloading Debug (x86_64)
uses: actions/download-artifact@v4
with:
name: BuildDebug64
path: |
${{env.SOLUTION_FILE_PATH}}\build
- name: Testing Debug (x86_64)
timeout-minutes: 3
working-directory: ${{env.GITHUB_WORKSPACE}}
run: ${{env.SOLUTION_FILE_PATH}}\build\x86_64\Debug\Detours.exe
testing-release-x86:
name: Testing Release (x86)
runs-on: windows-latest
needs: analysis
steps:
- name: Downloading Release (x86)
uses: actions/download-artifact@v4
with:
name: BuildRelease32
path: |
${{env.SOLUTION_FILE_PATH}}\build
- name: Testing Release (x86)
timeout-minutes: 3
working-directory: ${{env.GITHUB_WORKSPACE}}
run: ${{env.SOLUTION_FILE_PATH}}\build\x86\Release\Detours.exe
testing-release-x86-64:
name: Testing Release (x86_64)
runs-on: windows-latest
needs: analysis
steps:
- name: Downloading Release (x86_64)
uses: actions/download-artifact@v4
with:
name: BuildRelease64
path: |
${{env.SOLUTION_FILE_PATH}}\build
- name: Testing Release (x86_64)
timeout-minutes: 3
working-directory: ${{env.GITHUB_WORKSPACE}}
run: ${{env.SOLUTION_FILE_PATH}}\build\x86_64\Release\Detours.exe
signing:
name: Signing Release
runs-on: self-hosted
needs: [ testing-debug-x86, testing-debug-x86-64, testing-release-x86, testing-release-x86-64 ]
steps:
- name: Downloading Release (x86)
uses: actions/download-artifact@v4
with:
name: BuildRelease32
path: |
${{env.SOLUTION_FILE_PATH}}\build
- name: Downloading Release (x86_64)
uses: actions/download-artifact@v4
with:
name: BuildRelease64
path: |
${{env.SOLUTION_FILE_PATH}}\build
- name: Signing Release (x86)
working-directory: ${{env.GITHUB_WORKSPACE}}
run: python "C:\SignExecutable.py" "${{env.SOLUTION_FILE_PATH}}\build\x86\Release\Detours.exe"
- name: Signing Release (x86_64)
working-directory: ${{env.GITHUB_WORKSPACE}}
run: python "C:\SignExecutable.py" "${{env.SOLUTION_FILE_PATH}}\build\x86_64\Release\Detours.exe"
- name: Uploading Release
uses: actions/upload-artifact@v4
with:
name: Production
path: |
${{env.SOLUTION_FILE_PATH}}\build\**\Release\*.exe
if-no-files-found: error