This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build Project | |
| on: | |
| push: | |
| branches: [ 'main', 'stable' ] | |
| tags: [ 'v*' ] # <-- Tells GitHub to listen for version tags | |
| pull_request: | |
| branches: [ 'main', 'stable' ] | |
| workflow_dispatch: | |
| defaults: | |
| run: | |
| shell: pwsh | |
| jobs: | |
| build: | |
| name: Build Application | |
| runs-on: windows-latest # <-- Provisions the VS 2026 / v145 toolset | |
| if: | | |
| !contains(github.event.head_commit.message, '***NO_CI***') && | |
| !contains(github.event.head_commit.message, '[skip ci]') | |
| steps: | |
| - name: Set up build environment | |
| uses: microsoft/setup-msbuild@v2 | |
| - name: Set up NuGet | |
| uses: nuget/setup-nuget@v2 | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| fetch-depth: 0 | |
| - name: Build Core Application | |
| run: | | |
| msbuild nextxi.sln -t:'restore;build' -p:configuration=release -p:PlatformToolset=v143 -p:TreatWarningsAsErrors=false -p:RunCodeAnalysis=false -p:ReleaseBuild=true -m -nowarn:NU1503 | |
| - name: Build Installer | |
| run: | | |
| nuget restore installer.sln | |
| msbuild installer.sln -t:'build' -p:configuration=release -m -nowarn:NU1503 | |
| - name: Upload build artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: compiled-binaries | |
| path: build/bin/release/ | |
| # --- UPDATED: Automated Release Pipeline --- | |
| - name: Publish to GitHub Releases | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: | | |
| build/bin/release/windower.msi | |
| build/bin/release/windower.zip | |
| build/bin/release/windower.portable.zip | |
| generate_release_notes: true |