From 7f062a43374367e4357af6f1af1f99a1ced1d2d2 Mon Sep 17 00:00:00 2001 From: Dominic Date: Fri, 16 Jan 2026 18:38:08 +0100 Subject: [PATCH 1/4] ci: mirror release build steps in PR workflow --- .github/workflows/pr-build.yml | 63 +++++++++++++++++++ .../YouTubeMusicStreamer.csproj | 20 +++++- 2 files changed, 80 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/pr-build.yml diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml new file mode 100644 index 0000000..dc50c7a --- /dev/null +++ b/.github/workflows/pr-build.yml @@ -0,0 +1,63 @@ +name: PR Build + +on: + pull_request: + branches: + - main + +jobs: + build: + runs-on: windows-latest + env: + OS: win + APP_NAME: YouTubeMusicStreamer + DOTNET_VERSION: "9.0" + ARCH: x64 + RELEASE_NOTES_FILE: release-notes.md + VPK_OUTPUT_DIR: Releases + VPK_PACK_AUTHORS: XeroxDev + VPK_PACK_TITLE: "YouTube Music Streamer" + steps: + - uses: actions/checkout@v4 + + - name: Prepare build env + shell: pwsh + env: + GITHUB_SHA: ${{ github.sha }} + TWITCH_CLIENT_ID: pr-build + run: .\scripts\prepare-build-env.ps1 + + - name: Set dynamic VPK env vars + shell: pwsh + run: | + $envBlock = @" + VPK_CHANNEL=$($Env:OS)-$($Env:ARCH) + VPK_RUNTIME=$($Env:OS)-$($Env:ARCH) + VPK_PACK_DIR=./publish/$($Env:OS)-$($Env:ARCH) + VPK_FRAMEWORK=webview2,net$($Env:DOTNET_VERSION)-$($Env:ARCH)-desktop + VPK_ICON=./$($Env:APP_NAME)/wwwroot/favicon.ico + VPK_SPLASH_IMAGE=./$($Env:APP_NAME)/Resources/Splash/splash.png + VPK_PACK_VERSION=$($Env:VERSION) + VPK_RELEASE_NAME=v$($Env:VERSION) + VPK_TAG=v$($Env:VERSION) + VPK_TARGET_COMMITISH=$($Env:GITHUB_SHA) + VPK_REPO_URL=https://github.com/$($Env:GITHUB_REPOSITORY) + VPK_PACK_ID=$($Env:APP_NAME) + VPK_MAIN_EXE=$($Env:APP_NAME).exe + "@ + + Add-Content -Path $Env:GITHUB_ENV -Value $envBlock -Encoding utf8 + + - name: Setup .NET SDK + uses: actions/setup-dotnet@v4 + with: + dotnet-version: ${{ env.DOTNET_VERSION }}.x + + - name: Cache NuGet packages + uses: actions/cache@v4 + with: + path: ~/.nuget/packages + key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }} + + - name: Publish + run: dotnet publish YouTubeMusicStreamer/YouTubeMusicStreamer.csproj -c Release -p:PublishProfile=${{ env.VPK_CHANNEL }} diff --git a/YouTubeMusicStreamer/YouTubeMusicStreamer.csproj b/YouTubeMusicStreamer/YouTubeMusicStreamer.csproj index 0263f3a..286134a 100644 --- a/YouTubeMusicStreamer/YouTubeMusicStreamer.csproj +++ b/YouTubeMusicStreamer/YouTubeMusicStreamer.csproj @@ -158,8 +158,22 @@ - - + + + + + + + + + + + Always + + + Always + + - + From 6b5d13963f5ad25e11ee6234b7acb3ed6c93e397 Mon Sep 17 00:00:00 2001 From: Dominic Date: Fri, 16 Jan 2026 18:48:46 +0100 Subject: [PATCH 2/4] fix: preserve ThirdPartyLicenses logical path --- YouTubeMusicStreamer/YouTubeMusicStreamer.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/YouTubeMusicStreamer/YouTubeMusicStreamer.csproj b/YouTubeMusicStreamer/YouTubeMusicStreamer.csproj index 286134a..a3a1729 100644 --- a/YouTubeMusicStreamer/YouTubeMusicStreamer.csproj +++ b/YouTubeMusicStreamer/YouTubeMusicStreamer.csproj @@ -170,7 +170,7 @@ Always - + Always From 070ed00cbb1ba04ed5a0d2f410b4b7cb7e6ccdca Mon Sep 17 00:00:00 2001 From: Dominic Date: Fri, 16 Jan 2026 18:48:54 +0100 Subject: [PATCH 3/4] fix: avoid duplicate license assets in publish --- YouTubeMusicStreamer/YouTubeMusicStreamer.csproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/YouTubeMusicStreamer/YouTubeMusicStreamer.csproj b/YouTubeMusicStreamer/YouTubeMusicStreamer.csproj index a3a1729..94bccab 100644 --- a/YouTubeMusicStreamer/YouTubeMusicStreamer.csproj +++ b/YouTubeMusicStreamer/YouTubeMusicStreamer.csproj @@ -167,6 +167,8 @@ + + Always From 7d511de7adfc6fed746e477b32f751f6a38bd8cc Mon Sep 17 00:00:00 2001 From: Dominic Date: Fri, 16 Jan 2026 19:10:45 +0100 Subject: [PATCH 4/4] fix: align license asset removal with MauiAsset glob --- YouTubeMusicStreamer/YouTubeMusicStreamer.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/YouTubeMusicStreamer/YouTubeMusicStreamer.csproj b/YouTubeMusicStreamer/YouTubeMusicStreamer.csproj index 94bccab..aecd8a2 100644 --- a/YouTubeMusicStreamer/YouTubeMusicStreamer.csproj +++ b/YouTubeMusicStreamer/YouTubeMusicStreamer.csproj @@ -167,8 +167,8 @@ - - + + Always