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..aecd8a2 100644 --- a/YouTubeMusicStreamer/YouTubeMusicStreamer.csproj +++ b/YouTubeMusicStreamer/YouTubeMusicStreamer.csproj @@ -158,8 +158,24 @@ - - + + + + + + + + + + + + + Always + + + Always + + - +