Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,20 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Setup .NET 8
- name: Setup .NET 10
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'
dotnet-version: '10.0.x'

- name: Restore dependencies
run: dotnet restore WindowSeat.sln
run: |
dotnet restore src/WindowSeat.App/WindowSeat.App.csproj
dotnet restore src/WindowSeat.Tests/WindowSeat.Tests.csproj

- name: Build (Release)
run: dotnet build WindowSeat.sln --configuration Release --no-restore
run: |
dotnet build src/WindowSeat.App/WindowSeat.App.csproj --configuration Release --no-restore
dotnet build src/WindowSeat.Tests/WindowSeat.Tests.csproj --configuration Release --no-restore

- name: Run tests
run: dotnet test src/WindowSeat.Tests/WindowSeat.Tests.csproj --configuration Release --no-build --verbosity normal --logger trx --results-directory TestResults
Expand Down
55 changes: 41 additions & 14 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,13 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Setup .NET 8
- name: Setup .NET 10
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'
dotnet-version: '10.0.x'

- name: Setup MSBuild
uses: microsoft/setup-msbuild@v2

- name: Extract version from tag
id: version
Expand All @@ -27,14 +30,14 @@ jobs:
echo "VERSION=$version" >> $env:GITHUB_OUTPUT

- name: Restore dependencies
run: dotnet restore WindowSeat.sln
run: |
dotnet restore src/WindowSeat.App/WindowSeat.App.csproj
dotnet restore src/WindowSeat.Tests/WindowSeat.Tests.csproj

- name: Build (Release)
run: >
dotnet build WindowSeat.sln
--configuration Release
--no-restore
/p:Version=${{ steps.version.outputs.VERSION }}
run: |
dotnet build src/WindowSeat.App/WindowSeat.App.csproj --configuration Release --no-restore /p:Version=${{ steps.version.outputs.VERSION }}
dotnet build src/WindowSeat.Tests/WindowSeat.Tests.csproj --configuration Release --no-restore

- name: Run tests
run: >
Expand All @@ -52,16 +55,40 @@ jobs:
--output publish/
/p:Version=${{ steps.version.outputs.VERSION }}

# ── MSIX packaging ────────────────────────────────────────────────────
# TODO: Wire up Windows Application Packaging Project (wapproj) here
# once packaging/ scaffold is complete. For v1.0, zip the publish output
# as a stopgap so users can still download and run.

- name: Package (stopgap zip)
# ── ZIP (GitHub Releases sideload) ────────────────────────────────────
- name: Package zip
shell: pwsh
run: |
Compress-Archive -Path publish/* -DestinationPath "WindowSeat-${{ steps.version.outputs.VERSION }}-win-x64.zip"

# ── MSIX (Microsoft Store submission) ─────────────────────────────────
- name: Patch manifest version
shell: pwsh
run: |
$v = "${{ steps.version.outputs.VERSION }}.0"
$path = "packaging/WindowSeat.Package/Package.appxmanifest"
(Get-Content $path -Raw) `
-replace '(?<=<Identity[^>]*Version=")[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+', $v |
Set-Content $path
Write-Host "Manifest version set to $v"

- name: Build MSIX package
shell: pwsh
run: |
msbuild packaging/WindowSeat.Package/WindowSeat.Package.wapproj `
/p:Configuration=Release `
/p:Platform=x64 `
/p:AppxPackageSigningEnabled=false `
/p:AppxAutoIncrementPackageRevision=false `
/p:GenerateTestArtifacts=false `
"/p:AppxPackageDir=${{ github.workspace }}\artifacts\msix\\"

- name: Upload MSIX (Store submission artifact)
uses: actions/upload-artifact@v4
with:
name: WindowSeat-${{ steps.version.outputs.VERSION }}-store-package
path: artifacts/msix/*.msix

- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,9 @@ coverage/
Thumbs.db
Desktop.ini

# Git worktrees
.worktrees/

# Secrets — never commit these
*.pfx
*.p12
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ For advanced configuration see [docs/power-user-guide.md](docs/power-user-guide.
## Building from Source

**Prerequisites**
- [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0)
- [.NET 10 SDK](https://dotnet.microsoft.com/download/dotnet/10.0)
- Visual Studio 2022 (17.8+) with the **Windows application development** workload, or VS Code with the C# Dev Kit extension

**Clone and build**
Expand Down
6 changes: 6 additions & 0 deletions WindowSeat.sln
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WindowSeat.Settings", "src\
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WindowSeat.Tests", "src\WindowSeat.Tests\WindowSeat.Tests.csproj", "{A1B2C3D4-0004-0004-0004-000000000004}"
EndProject
Project("{C7167F0D-BC9F-4E6A-9F78-5F2B13F8E92E}") = "WindowSeat.Package", "packaging\WindowSeat.Package\WindowSeat.Package.wapproj", "{D1E2F3A4-0005-0005-0005-000000000005}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand All @@ -32,5 +34,9 @@ Global
{A1B2C3D4-0004-0004-0004-000000000004}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A1B2C3D4-0004-0004-0004-000000000004}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A1B2C3D4-0004-0004-0004-000000000004}.Release|Any CPU.Build.0 = Release|Any CPU
{D1E2F3A4-0005-0005-0005-000000000005}.Debug|Any CPU.ActiveCfg = Debug|x64
{D1E2F3A4-0005-0005-0005-000000000005}.Debug|Any CPU.Build.0 = Debug|x64
{D1E2F3A4-0005-0005-0005-000000000005}.Release|Any CPU.ActiveCfg = Release|x64
{D1E2F3A4-0005-0005-0005-000000000005}.Release|Any CPU.Build.0 = Release|x64
EndGlobalSection
EndGlobal
2 changes: 1 addition & 1 deletion docs/WindowSeat-Scope.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
**Last Updated:** 2026-03-30
**License:** MIT
**Target Platform:** Windows 11 (primary), Windows 10 22H2+ (best effort)
**Stack:** .NET 8 LTS, C#, WPF, PowerShell (build/packaging tooling)
**Stack:** .NET 10, C#, WPF, PowerShell (build/packaging tooling)

---

Expand Down
2 changes: 1 addition & 1 deletion docs/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Thank you for your interest in contributing. This document covers everything you

## Prerequisites

- [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0)
- [.NET 10 SDK](https://dotnet.microsoft.com/download/dotnet/10.0)
- Visual Studio 2022 (17.8+) with the **Windows application development** workload
_or_ VS Code with the [C# Dev Kit](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit) extension
- Git
Expand Down
Loading
Loading