name: Build on: push: branches: [ "main" ] pull_request: branches: [ "main" ] permissions: contents: read jobs: build: strategy: matrix: # configuration: [debug, release] configuration: [release] platform: [x64, x86, arm64] fail-fast: false env: SOLUTION_FILE_PATH: src/Shell.sln BUILD_CONFIGURATION: ${{matrix.configuration}} BUILD_PLATFORM: ${{matrix.platform}} BIN_PATH: D:\a\Shell\Shell\src\bin runs-on: windows-latest steps: - uses: actions/checkout@v4 - name: Add MSBuild to PATH uses: microsoft/setup-msbuild@v2 - name: Restore NuGet packages working-directory: ${{env.GITHUB_WORKSPACE}} run: nuget restore ${{env.SOLUTION_FILE_PATH}} - name: Build working-directory: ${{env.GITHUB_WORKSPACE}} run: msbuild /m /p:Configuration=${{env.BUILD_CONFIGURATION}} /p:Platform=${{env.BUILD_PLATFORM}} ${{env.SOLUTION_FILE_PATH}} - name: Upload artifacts uses: actions/upload-artifact@v4 with: name: shell-${{matrix.platform}} path: | ${{env.BIN_PATH}}\* !${{env.BIN_PATH}}\*.lib !${{env.BIN_PATH}}\*.exp !${{env.BIN_PATH}}\*.wixpdb !${{env.BIN_PATH}}\ca.dll if-no-files-found: warn retention-days: 0 compression-level: 6 overwrite: false include-hidden-files: false