name: macOS 13 KVM Cryptex Recovery compatibility diagnostic on: workflow_dispatch: jobs: macos-native-diagnostic: runs-on: ubuntu-latest timeout-minutes: 45 env: DOTNET_SKIP_FIRST_TIME_EXPERIENCE: "1" DOTNET_NOLOGO: "1" steps: - name: Checkout diagnostic source uses: actions/checkout@v7 - name: Setup .NET for the diagnostic helper uses: actions/setup-dotnet@v6 with: dotnet-version: "10.0.x" - name: Probe macOS 13 Recovery with existing KVM and host CPU run: dotnet run --file tools/ci/MacOsNativeDiagnostic.cs -- --run --output artifacts/native-macos - name: Always clean up only this diagnostic's owned resources if: always() run: dotnet run --file tools/ci/MacOsNativeDiagnostic.cs -- --cleanup --output artifacts/native-macos - name: Preserve native diagnostic evidence if: always() uses: actions/upload-artifact@v3 with: name: native-macos-recovery-diagnostic path: artifacts/native-macos/ if-no-files-found: error retention-days: 7