diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index f2c26eb..144e06b 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -23,7 +23,12 @@ jobs: github.event_name == 'workflow_dispatch' || (github.event.pull_request.merged == true && contains(github.event.pull_request.title, 'chore: Release')) - runs-on: macos-latest + # OneSignalSDK.DotNet.csproj adds the net10.0-ios TFM on macOS hosts, + # so the publish build needs an Xcode that satisfies the .NET 10 iOS + # workload. The current workload set (10.0.300+) requires Xcode 26.4, + # which only ships on macos-26 (default Xcode 26.4.1). macos-latest + # still maps to macos-15 with Xcode 26.3 until June 15, 2026. + runs-on: macos-26 outputs: version: ${{ steps.version.outputs.version }} steps: @@ -41,7 +46,12 @@ jobs: uses: actions/setup-dotnet@v5 with: dotnet-version: "10.0.x" - + + - name: Select Xcode + uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: latest-stable + - name: NuGet login uses: nuget/login@v1 id: login diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 2641779..0f40120 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -57,7 +57,6 @@ jobs: run: | echo "ONESIGNAL_APP_ID=${{ vars.APPIUM_ONESIGNAL_APP_ID }}" > .env echo "ONESIGNAL_API_KEY=${{ secrets.APPIUM_ONESIGNAL_API_KEY }}" >> .env - echo "E2E_MODE=true" >> .env # RuntimeIdentifier=android-arm64 ships native code only for arm64-v8a, # which is what BrowserStack's modern Android device farm runs. This @@ -97,7 +96,13 @@ jobs: github.event_name == 'push' || github.event.inputs.platform == 'ios' || github.event.inputs.platform == 'both' - runs-on: macos-latest + # macOS 15 runners only ship up to Xcode 26.3, but the .NET 10 iOS + # workload set 10.0.300+ pulls Microsoft.iOS.Sdk.net10.0_26.4 which + # requires Xcode 26.4 ("This version of .NET for iOS (26.4.x) requires + # Xcode 26.4"). macos-26 ships Xcode 26.4.1 as the default, so we pin + # to it explicitly until macos-latest migrates (scheduled for June 15, + # 2026 per the GitHub Actions changelog). + runs-on: macos-26 steps: - name: Checkout uses: actions/checkout@v5 @@ -107,11 +112,10 @@ jobs: with: dotnet-version: '10.0.x' - # The .NET 10 iOS workload (Microsoft.iOS.Sdk.net10.0_26.2) requires - # Xcode 26.3+. macOS runners default to an older Xcode (16.4 at the - # time of writing), which fails with "This version of .NET for iOS - # requires Xcode 26.3". latest-stable picks the newest installed Xcode - # and avoids hardcoding a version that may roll forward. + # latest-stable resolves to the newest non-prerelease Xcode on the + # runner (26.4.1 on macos-26 today), which keeps us in sync with + # whatever the .NET iOS workload requires without hardcoding a + # version that may roll forward. - name: Select Xcode uses: maxim-lobanov/setup-xcode@v1 with: @@ -130,7 +134,6 @@ jobs: run: | echo "ONESIGNAL_APP_ID=${{ vars.APPIUM_ONESIGNAL_APP_ID }}" > .env echo "ONESIGNAL_API_KEY=${{ secrets.APPIUM_ONESIGNAL_API_KEY }}" >> .env - echo "E2E_MODE=true" >> .env - name: Set up iOS codesigning uses: OneSignal/sdk-shared/.github/actions/setup-ios-demo-codesigning@main diff --git a/OneSignalSDK.DotNet.Android.Core.Binding/Jars/core-release.aar b/OneSignalSDK.DotNet.Android.Core.Binding/Jars/core-release.aar index 996a65b..b67ce19 100644 Binary files a/OneSignalSDK.DotNet.Android.Core.Binding/Jars/core-release.aar and b/OneSignalSDK.DotNet.Android.Core.Binding/Jars/core-release.aar differ diff --git a/OneSignalSDK.DotNet.Android.InAppMessages.Binding/Jars/in-app-messages-release.aar b/OneSignalSDK.DotNet.Android.InAppMessages.Binding/Jars/in-app-messages-release.aar index 1294cbf..ac5ac4b 100644 Binary files a/OneSignalSDK.DotNet.Android.InAppMessages.Binding/Jars/in-app-messages-release.aar and b/OneSignalSDK.DotNet.Android.InAppMessages.Binding/Jars/in-app-messages-release.aar differ diff --git a/OneSignalSDK.DotNet.Android.Notifications.Binding/Jars/notifications-release.aar b/OneSignalSDK.DotNet.Android.Notifications.Binding/Jars/notifications-release.aar index 8fe1ec8..380c145 100644 Binary files a/OneSignalSDK.DotNet.Android.Notifications.Binding/Jars/notifications-release.aar and b/OneSignalSDK.DotNet.Android.Notifications.Binding/Jars/notifications-release.aar differ diff --git a/OneSignalSDK.DotNet.nuspec b/OneSignalSDK.DotNet.nuspec index b4d7369..3719c53 100644 --- a/OneSignalSDK.DotNet.nuspec +++ b/OneSignalSDK.DotNet.nuspec @@ -1,7 +1,7 @@ - 6.1.7 + 6.1.8 OneSignalSDK.DotNet OneSignal SDK for .NET and MAUI OneSignal diff --git a/examples/demo/.env.example b/examples/demo/.env.example index 0bc48c0..56da7a7 100644 --- a/examples/demo/.env.example +++ b/examples/demo/.env.example @@ -1,7 +1,6 @@ # Default App ID (used when ONESIGNAL_APP_ID is empty or missing): 77e32082-ea27-42e3-a898-c72e141824ef ONESIGNAL_APP_ID=your-onesignal-app-id ONESIGNAL_API_KEY=your_rest_api_key -E2E_MODE=false # Optional: Android Notification Channel ID for the WITH SOUND test notification. # Create one in your OneSignal dashboard under Settings > Android Notification Categories. diff --git a/examples/demo/NotificationServiceExtension/NotificationServiceExtension.csproj b/examples/demo/NotificationServiceExtension/NotificationServiceExtension.csproj index 0d03493..26b79f9 100644 --- a/examples/demo/NotificationServiceExtension/NotificationServiceExtension.csproj +++ b/examples/demo/NotificationServiceExtension/NotificationServiceExtension.csproj @@ -5,6 +5,14 @@ true com.onesignal.example.NSE Entitlements.plist + + 14.2