> Task :respect-lib-xapi-ipc-server:verifyReleaseResources
> Task :respect-lib-xapi-ipc-shared:mergeReleaseResources
> Task :respect-lib-xapi-ipc-server:assembleRelease
> Task :respect-lib-xapi-ipc-server:assemble
> Task :respect-lib-xapi-ipc-server:compileDebugUnitTestKotlinNO-SOURCE
> Task :respect-lib-xapi-ipc-server:compileDebugUnitTestJavaWithJavacNO-SOURCE
> Task :respect-lib-xapi-ipc-server:processDebugUnitTestJavaResNO-SOURCE
> Task :respect-lib-xapi-ipc-server:testDebugUnitTestNO-SOURCE
> Task :respect-lib-xapi-ipc-server:testUP-TO-DATE
> Task :respect-lib-xapi-ipc-shared:bundleDebugAar
> Task :respect-lib-xapi-ipc-shared:assembleDebug
> Task :respect-lib-xapi-ipc-shared:bundleReleaseAar
> Task :respect-lib-xapi-ipc-shared:generateDebugLintReportModel
> Task :respect-lib-xapi-ipc-shared:javaPreCompileDebugUnitTest
> Task :respect-lib-xapi-ipc-shared:generateDebugUnitTestStubRFile
> Task :respect-lib-xapi-ipc-shared:lintReportDebug
> Task :respect-lib-xapi-nanohttpd:transformCommonMainDependenciesMetadata
> Task :respect-lib-xapi-ipc-shared:lintDebug
> Task :respect-lib-xapi-ipc-shared:lint
> Task :respect-lib-xapi-ipc-shared:compileDebugUnitTestKotlinNO-SOURCE
> Task :respect-lib-xapi-ipc-shared:verifyReleaseResources
> Task :respect-lib-xapi-ipc-shared:compileDebugUnitTestJavaWithJavacNO-SOURCE
> Task :respect-lib-xapi-ipc-shared:assembleRelease
> Task :respect-lib-xapi-ipc-shared:assemble
> Task :respect-lib-xapi-ipc-shared:processDebugUnitTestJavaResNO-SOURCE
> Task :respect-lib-xapi-ipc-shared:testDebugUnitTestNO-SOURCE
> Task :respect-lib-xapi-ipc-shared:testUP-TO-DATE
> Task :respect-lib-xapi-ipc-shared:check
> Task :respect-lib-xapi-ipc-shared:build
> Task :respect-lib-xapi-nanohttpd:compileCommonMainKotlinMetadataSKIPPED
> Task :respect-lib-xapi-nanohttpd:generateProjectStructureMetadata
> Task :respect-lib-xapi-nanohttpd:metadataCommonMainProcessResourcesNO-SOURCE
> Task :respect-lib-xapi-nanohttpd:metadataCommonMainClassesUP-TO-DATE
> Task :respect-lib-xapi-nanohttpd:allMetadataJar
> Task :respect-lib-xapi-nanohttpd:mergeAndroidMainConsumerProguardFilesUP-TO-DATE
> Task :respect-lib-xapi-nanohttpd:bundleAndroidMainAar
> Task :respect-lib-xapi-nanohttpd:assembleAndroidMain
> Task :respect-lib-xapi-nanohttpd:jvmProcessResourcesNO-SOURCE
> Task :respect-lib-xapi-nanohttpd:processJvmMainResourcesSKIPPED
> Task :respect-lib-xapi-nanohttpd:jvmTestProcessResourcesNO-SOURCE
> Task :respect-lib-xapi-nanohttpd:processJvmTestResourcesSKIPPED
> Task :respect-lib-xxhash:mergeAndroidMainConsumerProguardFilesUP-TO-DATE
> Task :respect-lib-xxhash:bundleAndroidMainAar
> Task :respect-lib-xxhash:assembleAndroidMain
> Task :respect-lib-xxhash:assemble
> Task :respect-lib-xxhash:compileTestKotlinJvmNO-SOURCE
> Task :respect-lib-xxhash:compileJvmTestJavaNO-SOURCE
> Task :respect-lib-xxhash:jvmTestProcessResourcesNO-SOURCE
> Task :respect-lib-xxhash:processJvmTestResourcesSKIPPED
> Task :respect-lib-xxhash:jvmTestClassesUP-TO-DATE
> Task :respect-lib-xxhash:jvmTestNO-SOURCE
> Task :respect-lib-xxhash:allTestsNO-SOURCE
> Task :respect-lib-xxhash:checkUP-TO-DATE
> Task :respect-lib-xxhash:build
> Task :respect-server:generateTestBuildConfigClassesSKIPPED
> Task :respect-server:processTestResourcesNO-SOURCE
> Task :respect-lib-cache:compileTestKotlinJvm
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt:93:42 Unnecessary non-null assertion (!!) on a non-null receiver of type 'ResponseBody'.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt:122:42 Unnecessary non-null assertion (!!) on a non-null receiver of type 'ResponseBody'.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt:157:42 Unnecessary non-null assertion (!!) on a non-null receiver of type 'ResponseBody'.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt:191:20 Unnecessary non-null assertion (!!) on a non-null receiver of type 'ResponseBody'.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt:205:62 Unnecessary non-null assertion (!!) on a non-null receiver of type 'ResponseBody'.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt:241:20 Unnecessary non-null assertion (!!) on a non-null receiver of type 'ResponseBody'.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt:272:20 Unnecessary non-null assertion (!!) on a non-null receiver of type 'ResponseBody'.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt:286:20 Unnecessary non-null assertion (!!) on a non-null receiver of type 'ResponseBody'.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt:333:20 Unnecessary non-null assertion (!!) on a non-null receiver of type 'ResponseBody'.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt:359:20 Unnecessary non-null assertion (!!) on a non-null receiver of type 'ResponseBody'.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt:408:22 Unnecessary safe call on a non-null receiver of type 'ResponseBody'.
> Task :respect-lib-xapi-nanohttpd:compileKotlinJvm
> Task :respect-server:generateSwaggerUIRespect
> Task :respect-lib-cache:compileJvmTestJavaNO-SOURCE
> Task :respect-lib-cache:jvmTestClasses
> Task :respect-datalayer-db:kspKotlinJvm
w: [ksp] /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt:94: world.respect.datalayer.school.model.composites.PersonListDetails has some properties [email, phoneNumber, role] which are not returned by the query. If they are not supposed to be read from the result, you can mark them with @Ignore annotation. You can suppress this warning by annotating the function with @SuppressWarnings(RoomWarnings.QUERY_MISMATCH). Columns returned by the query: guid, givenName, familyName, username.
w: [ksp] /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt:137: The return value includes a data class with a @Relation. It is usually desired to annotate this function with @Transaction to avoid possibility of inconsistent results between the data class and its relations. See https://developer.android.com/reference/androidx/room/Transaction.html for details.
w: [ksp] /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt:218: world.respect.datalayer.school.model.composites.PersonListDetails has some properties [email, phoneNumber] which are not returned by the query. If they are not supposed to be read from the result, you can mark them with @Ignore annotation. You can suppress this warning by annotating the function with @SuppressWarnings(RoomWarnings.QUERY_MISMATCH). Columns returned by the query: guid, givenName, familyName, username, role.
w: [ksp] /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt:36: The return value includes a data class with a @Relation. It is usually desired to annotate this function with @Transaction to avoid possibility of inconsistent results between the data class and its relations. See https://developer.android.com/reference/androidx/room/Transaction.html for details.
w: [ksp] /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt:93: The return value includes a data class with a @Relation. It is usually desired to annotate this function with @Transaction to avoid possibility of inconsistent results between the data class and its relations. See https://developer.android.com/reference/androidx/room/Transaction.html for details.
w: [ksp] /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt:101: The return value includes a data class with a @Relation. It is usually desired to annotate this function with @Transaction to avoid possibility of inconsistent results between the data class and its relations. See https://developer.android.com/reference/androidx/room/Transaction.html for details.
w: [ksp] /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt:24: The return value includes a data class with a @Relation. It is usually desired to annotate this function with @Transaction to avoid possibility of inconsistent results between the data class and its relations. See https://developer.android.com/reference/androidx/room/Transaction.html for details.
w: [ksp] /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt:58: The return value includes a data class with a @Relation. It is usually desired to annotate this function with @Transaction to avoid possibility of inconsistent results between the data class and its relations. See https://developer.android.com/reference/androidx/room/Transaction.html for details.
w: [ksp] /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt:25: The return value includes a data class with a @Relation. It is usually desired to annotate this function with @Transaction to avoid possibility of inconsistent results between the data class and its relations. See https://developer.android.com/reference/androidx/room/Transaction.html for details.
> Task :respect-lib-xapi-ipc-client:lintAnalyzeDebug
> Task :respect-datalayer-db:kspAndroidMain
w: [ksp] /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt:94: world.respect.datalayer.school.model.composites.PersonListDetails has some properties [email, phoneNumber, role] which are not returned by the query. If they are not supposed to be read from the result, you can mark them with @Ignore annotation. You can suppress this warning by annotating the function with @SuppressWarnings(RoomWarnings.QUERY_MISMATCH). Columns returned by the query: guid, givenName, familyName, username.
w: [ksp] /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt:137: The return value includes a data class with a @Relation. It is usually desired to annotate this function with @Transaction to avoid possibility of inconsistent results between the data class and its relations. See https://developer.android.com/reference/androidx/room/Transaction.html for details.
w: [ksp] /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt:218: world.respect.datalayer.school.model.composites.PersonListDetails has some properties [email, phoneNumber] which are not returned by the query. If they are not supposed to be read from the result, you can mark them with @Ignore annotation. You can suppress this warning by annotating the function with @SuppressWarnings(RoomWarnings.QUERY_MISMATCH). Columns returned by the query: guid, givenName, familyName, username, role.
w: [ksp] /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt:36: The return value includes a data class with a @Relation. It is usually desired to annotate this function with @Transaction to avoid possibility of inconsistent results between the data class and its relations. See https://developer.android.com/reference/androidx/room/Transaction.html for details.
w: [ksp] /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt:93: The return value includes a data class with a @Relation. It is usually desired to annotate this function with @Transaction to avoid possibility of inconsistent results between the data class and its relations. See https://developer.android.com/reference/androidx/room/Transaction.html for details.
w: [ksp] /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt:101: The return value includes a data class with a @Relation. It is usually desired to annotate this function with @Transaction to avoid possibility of inconsistent results between the data class and its relations. See https://developer.android.com/reference/androidx/room/Transaction.html for details.
w: [ksp] /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt:24: The return value includes a data class with a @Relation. It is usually desired to annotate this function with @Transaction to avoid possibility of inconsistent results between the data class and its relations. See https://developer.android.com/reference/androidx/room/Transaction.html for details.
w: [ksp] /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt:58: The return value includes a data class with a @Relation. It is usually desired to annotate this function with @Transaction to avoid possibility of inconsistent results between the data class and its relations. See https://developer.android.com/reference/androidx/room/Transaction.html for details.
w: [ksp] /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt:25: The return value includes a data class with a @Relation. It is usually desired to annotate this function with @Transaction to avoid possibility of inconsistent results between the data class and its relations. See https://developer.android.com/reference/androidx/room/Transaction.html for details.
OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
> Task :respect-lib-cache:jvmTest
> Task :respect-datalayer-db:jvmProcessResourcesNO-SOURCE
> Task :respect-datalayer-db:processJvmMainResourcesSKIPPED
> Task :respect-lib-cache:allTests
> Task :respect-lib-cache:check
> Task :respect-lib-cache:build
> Task :respect-lib-xapi-nanohttpd:compileJvmMainJavaNO-SOURCE
> Task :respect-lib-xapi-nanohttpd:jvmMainClasses
> Task :respect-lib-xapi-nanohttpd:jvmJar
> Task :respect-lib-xapi-nanohttpd:assemble
> Task :respect-lib-xapi-nanohttpd:compileTestKotlinJvmNO-SOURCE
> Task :respect-lib-xapi-nanohttpd:compileJvmTestJavaNO-SOURCE
> Task :respect-lib-xapi-nanohttpd:jvmTestClassesUP-TO-DATE
> Task :respect-lib-xapi-nanohttpd:jvmTestNO-SOURCE
> Task :respect-lib-xapi-nanohttpd:allTestsNO-SOURCE
> Task :respect-lib-xapi-nanohttpd:checkUP-TO-DATE
> Task :respect-lib-xapi-nanohttpd:build
> Task :respect-server:generateSwaggerUINO-SOURCE
> Task :respect-lib-xapi-ipc-client:lintReportDebug
> Task :respect-lib-xapi-ipc-client:lintDebug
> Task :respect-lib-xapi-ipc-client:lint
> Task :respect-lib-xapi-ipc-client:check
> Task :respect-lib-xapi-ipc-client:build
> Task :respect-datalayer-db:compileKotlinJvm
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-datalayer-db/build/generated/ksp/jvm/jvmMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseConstructor.kt:5:8 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. Consider using the '-Xexpect-actual-classes' flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-datalayer-db/build/generated/ksp/jvm/jvmMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseConstructor.kt:5:8 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. Consider using the '-Xexpect-actual-classes' flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
> Task :respect-datalayer-db:compileAndroidMain
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-datalayer-db/build/generated/ksp/android/androidMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseConstructor.kt:5:8 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. Consider using the '-Xexpect-actual-classes' flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-datalayer-db/build/generated/ksp/android/androidMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseConstructor.kt:5:8 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. Consider using the '-Xexpect-actual-classes' flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
> Task :respect-datalayer-db:processAndroidMainJavaRes
> Task :respect-datalayer-db:compileJvmMainJavaNO-SOURCE
> Task :respect-datalayer-db:jvmMainClasses
> Task :respect-datalayer-db:kspTestKotlinJvmSKIPPED
> Task :respect-datalayer-db:copyRoomSchemasNO-SOURCE
> Task :respect-datalayer-db:mergeAndroidMainGeneratedProguardFilesUP-TO-DATE
> Task :respect-datalayer-db:bundleAndroidMainClassesToCompileJar
> Task :respect-datalayer-db:exportAndroidMainConsumerProguardFilesUP-TO-DATE
> Task :respect-datalayer-db:bundleLibRuntimeToDirAndroidMain
> Task :respect-lib-shared:extractAndroidMainAnnotations
> Task :respect-datalayer-db:mergeAndroidMainJavaResource
> Task :respect-datalayer-db:bundleAndroidMainClassesToRuntimeJar
> Task :respect-datalayer-db:jvmJar
> Task :respect-datalayer-db:createFullJarAndroidMain
> Task :respect-datalayer-db:syncAndroidMainLibJars
> Task :respect-datalayer-db:bundleAndroidMainLocalLintAar
> Task :respect-lib-xapi-ipc-server:generateDebugAndroidTestLintModel
> Task :respect-datalayer-db:mergeAndroidMainConsumerProguardFilesUP-TO-DATE
> Task :respect-datalayer-db:bundleAndroidMainAar
> Task :respect-datalayer-db:assembleAndroidMain
> Task :respect-datalayer-db:assemble
> Task :respect-datalayer-db:jvmTestProcessResources
> Task :respect-datalayer-db:processJvmTestResourcesSKIPPED
> Task :respect-lib-test:extractAndroidMainAnnotations
> Task :respect-lib-test:compileAndroidMainNO-SOURCE
> Task :respect-lib-test:mergeAndroidMainGeneratedProguardFilesUP-TO-DATE
> Task :respect-lib-test:mergeAndroidMainConsumerProguardFilesUP-TO-DATE
> Task :respect-lib-test:processAndroidMainJavaResNO-SOURCE
> Task :respect-lib-test:mergeAndroidMainJavaResource
> Task :respect-lib-test:syncAndroidMainLibJars
> Task :respect-lib-test:bundleAndroidMainAar
> Task :respect-lib-test:assembleAndroidMain
> Task :respect-datalayer-db:compileTestKotlinJvm
> Task :respect-datalayer-db:compileJvmTestJavaNO-SOURCE
> Task :respect-datalayer-db:jvmTestClasses
> Task :respect-lib-xapi-ipc-server:lintAnalyzeDebugAndroidTest
> Task :respect-datalayer-db:jvmTest
> Task :respect-datalayer-db:allTests
> Task :respect-datalayer-db:check
> Task :respect-datalayer-db:build
> Task :respect-lib-xapi-ipc-server:lintReportDebug
> Task :respect-lib-xapi-ipc-server:lintDebug
> Task :respect-lib-xapi-ipc-server:lint
> Task :respect-lib-xapi-ipc-server:check
> Task :respect-lib-xapi-ipc-server:build
> Task :respect-lib-shared:compileAndroidMain
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCaseAndroid.kt:67:70 'fun String.encodeBase64(): String' is deprecated. Use `Base64.Default.encode()` from the Kotlin standard library.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt:26:14 'fun String.decodeBase64String(): String' is deprecated. Ambiguous and lenient. Use `Base64.Default.decode()` from the Kotlin standard library.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt:11:1 Annotation `@ParameterName(name = "date")` is missing on actual declaration.
All annotations from expect `world.respect.shared.util.rememberFormattedDateTime` must be present with the same arguments on actual `world.respect.shared.util.rememberFormattedDateTime`, otherwise they might behave incorrectly.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt:22:31 'fun ByteArray.encodeBase64(): String' is deprecated. Use `Base64.Default.encode()` from the Kotlin standard library.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt:23:64 'fun String.decodeBase64Bytes(): ByteArray' is deprecated. Ambiguous and lenient. Use `Base64.Default.decode()` from the Kotlin standard library.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt:24:70 'fun ByteArray.encodeBase64(): String' is deprecated. Use `Base64.Default.encode()` from the Kotlin standard library.
> Task :respect-lib-shared:bundleAndroidMainClassesToCompileJar
> Task :respect-lib-shared:processAndroidMainJavaRes
> Task :respect-lib-shared:mergeAndroidMainGeneratedProguardFilesUP-TO-DATE
> Task :respect-lib-shared:exportAndroidMainConsumerProguardFilesUP-TO-DATE
> Task :respect-lib-shared-se:extractAndroidMainAnnotations
> Task :respect-lib-shared:mergeAndroidMainConsumerProguardFilesUP-TO-DATE
> Task :respect-lib-shared:mergeAndroidMainJavaResource
> Task :respect-lib-shared:bundleAndroidMainClassesToRuntimeJar
> Task :respect-lib-shared:compileKotlinJvm
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt:22:31 'fun ByteArray.encodeBase64(): String' is deprecated. Use `Base64.Default.encode()` from the Kotlin standard library.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt:23:64 'fun String.decodeBase64Bytes(): ByteArray' is deprecated. Ambiguous and lenient. Use `Base64.Default.decode()` from the Kotlin standard library.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt:24:70 'fun ByteArray.encodeBase64(): String' is deprecated. Use `Base64.Default.encode()` from the Kotlin standard library.
> Task :respect-lib-shared:bundleLibRuntimeToDirAndroidMain
> Task :respect-lib-shared:syncAndroidMainLibJars
> Task :respect-lib-shared:createFullJarAndroidMain
> Task :respect-lib-shared-se:compileAndroidMain
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt:45:46 'fun String.decodeBase64Bytes(): ByteArray' is deprecated. Ambiguous and lenient. Use `Base64.Default.decode()` from the Kotlin standard library.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt:46:46 'fun String.decodeBase64Bytes(): ByteArray' is deprecated. Ambiguous and lenient. Use `Base64.Default.decode()` from the Kotlin standard library.
> Task :respect-lib-shared-se:bundleAndroidMainClassesToCompileJar
> Task :respect-lib-shared-se:processAndroidMainJavaRes
> Task :respect-lib-shared-se:mergeAndroidMainGeneratedProguardFilesUP-TO-DATE
> Task :respect-lib-shared-se:exportAndroidMainConsumerProguardFilesUP-TO-DATE
> Task :respect-lib-shared-se:bundleLibRuntimeToDirAndroidMain
> Task :respect-lib-shared-se:bundleAndroidMainClassesToRuntimeJar
> Task :respect-app-compose:extractAndroidMainAnnotations
> Task :respect-lib-shared-se:createFullJarAndroidMain
> Task :respect-lib-shared-se:mergeAndroidMainJavaResource
> Task :respect-lib-shared:bundleAndroidMainLocalLintAar
> Task :respect-lib-shared-se:syncAndroidMainLibJars
> Task :respect-lib-shared-se:bundleAndroidMainLocalLintAar
> Task :respect-lib-shared:compileJvmMainJavaNO-SOURCE
> Task :respect-lib-shared:jvmMainClasses
> Task :respect-lib-shared:jvmJar
> Task :respect-lib-shared:bundleAndroidMainAar
> Task :respect-lib-shared:assembleAndroidMain
> Task :respect-lib-shared:assemble
> Task :respect-lib-shared-se:mergeAndroidMainConsumerProguardFilesUP-TO-DATE
> Task :respect-lib-shared-se:bundleAndroidMainAar
> Task :respect-lib-shared-se:assembleAndroidMain
> Task :respect-cli:compileKotlin
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-cli/src/main/java/world/respect/clitools/RespectCLI.kt:65:32 Unnecessary safe call on a non-null receiver of type 'Namespace'.
> Task :respect-lib-shared-se:compileKotlinJvm
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt:45:46 'fun String.decodeBase64Bytes(): ByteArray' is deprecated. Ambiguous and lenient. Use `Base64.Default.decode()` from the Kotlin standard library.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt:46:46 'fun String.decodeBase64Bytes(): ByteArray' is deprecated. Ambiguous and lenient. Use `Base64.Default.decode()` from the Kotlin standard library.
> Task :respect-lib-shared-se:compileJvmMainJavaNO-SOURCE
> Task :respect-lib-shared-se:jvmMainClasses
> Task :respect-lib-shared-se:jvmJar
> Task :respect-cli:compileJavaNO-SOURCE
> Task :respect-cli:classesUP-TO-DATE
> Task :respect-cli:jar
> Task :respect-cli:startScripts
> Task :respect-cli:distTar
> Task :respect-cli:distZip
> Task :respect-cli:assemble
> Task :respect-cli:compileTestKotlinNO-SOURCE
> Task :respect-cli:compileTestJavaNO-SOURCE
> Task :respect-cli:testClassesUP-TO-DATE
> Task :respect-cli:testNO-SOURCE
> Task :respect-cli:checkUP-TO-DATE
> Task :respect-cli:build
> Task :respect-lib-shared-se:assemble
> Task :respect-server:compileKotlin
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt:60:57 'fun String.encodeBase64(): String' is deprecated. Use `Base64.Default.encode()` from the Kotlin standard library.
> Task :respect-server:compileJavaNO-SOURCE
> Task :respect-server:classes
> Task :respect-server:jar
> Task :respect-server:startScripts
> Task :respect-lib-test:compileKotlinJvm
> Task :respect-server:distTar
> Task :respect-lib-test:compileJvmMainJavaNO-SOURCE
> Task :respect-lib-test:jvmMainClasses
> Task :respect-lib-test:jvmJar
> Task :respect-lib-shared-se:compileTestKotlinJvmNO-SOURCE
> Task :respect-lib-shared-se:compileJvmTestJavaNO-SOURCE
> Task :respect-lib-shared-se:jvmTestClassesUP-TO-DATE
> Task :respect-lib-shared-se:jvmTestNO-SOURCE
> Task :respect-lib-shared-se:allTestsNO-SOURCE
> Task :respect-lib-shared-se:checkUP-TO-DATE
> Task :respect-lib-shared-se:build
> Task :respect-lib-test:assemble
> Task :respect-lib-test:compileTestKotlinJvmNO-SOURCE
> Task :respect-lib-test:compileJvmTestJavaNO-SOURCE
> Task :respect-lib-test:jvmTestClassesUP-TO-DATE
> Task :respect-lib-test:jvmTestNO-SOURCE
> Task :respect-lib-test:allTestsNO-SOURCE
> Task :respect-lib-test:checkUP-TO-DATE
> Task :respect-lib-test:build
> Task :respect-lib-shared:compileTestKotlinJvm
> Task :respect-datalayer-repository:compileTestKotlinJvm
> Task :respect-server:distZip
> Task :respect-datalayer-repository:compileJvmTestJavaNO-SOURCE
> Task :respect-datalayer-repository:jvmTestClasses
2026-08-09 23:10:14.176 [Test worker] INFO io.ktor.server.Application - Application started in 0.216 seconds.
> Task :respect-app-compose:compileKotlinDesktop
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt:107:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt:13:1 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. Consider using the '-Xexpect-actual-classes' flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt:38:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt:186:25 Expression is unused.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt:98:41 'val outlinedButtonBorder: BorderStroke' is deprecated. Please use the version that takes an `enabled` param to get the `BorderStroke` with the correct opacity.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt:53:44 'typealias MenuAnchorType = ExposedDropdownMenuAnchorType' is deprecated. Renamed to ExposedDropdownMenuAnchorType.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt:66:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt:423:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt:431:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt:46:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt:120:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt:91:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt:130:33 'typealias MenuAnchorType = ExposedDropdownMenuAnchorType' is deprecated. Renamed to ExposedDropdownMenuAnchorType.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt:141:56 'typealias MenuAnchorType = ExposedDropdownMenuAnchorType' is deprecated. Renamed to ExposedDropdownMenuAnchorType.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt:410:18 'fun Modifier.menuAnchor(): Modifier' is deprecated. Use overload that takes ExposedDropdownMenuAnchorType and enabled parameters.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/desktopMain/kotlin/world/respect/app/app/AppIcon.desktop.kt:15:19 'fun painterResource(resourcePath: String): Painter' is deprecated. Migrate to the Compose resources library. See https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-images-resources.html If you need to load resources specificly from Java classpath, you should still use the new resource library and use a snippet from https://github.com/JetBrains/compose-multiplatform-core/pull/1457.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt:9:1 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. Consider using the '-Xexpect-actual-classes' flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt:22:21 'constructor(p0: String!): Locale' is deprecated. Deprecated in Java.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/desktopMain/kotlin/world/respect/images/RespectImage.desktop.kt:13:12 'fun painterResource(resourcePath: String): Painter' is deprecated. Migrate to the Compose resources library. See https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-images-resources.html If you need to load resources specificly from Java classpath, you should still use the new resource library and use a snippet from https://github.com/JetBrains/compose-multiplatform-core/pull/1457.
2026-08-09 23:10:14.260 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:44795
> Task :respect-app-compose:compileAndroidMain
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt:20:18 This declaration overrides a deprecated member but is not marked as deprecated itself. Add the '@Deprecated' annotation or suppress the diagnostic.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt:10:1 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. Consider using the '-Xexpect-actual-classes' flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt:25:21 'constructor(p0: String!): Locale' is deprecated. Deprecated in Java.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt:31:19 'fun updateConfiguration(p0: Configuration!, p1: DisplayMetrics!): Unit' is deprecated. Deprecated in Java.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt:107:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt:13:1 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. Consider using the '-Xexpect-actual-classes' flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt:38:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt:186:25 Expression is unused.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt:98:41 'val outlinedButtonBorder: BorderStroke' is deprecated. Please use the version that takes an `enabled` param to get the `BorderStroke` with the correct opacity.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt:53:44 'typealias MenuAnchorType = ExposedDropdownMenuAnchorType' is deprecated. Renamed to ExposedDropdownMenuAnchorType.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt:66:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt:423:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt:431:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt:46:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt:120:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt:91:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt:130:33 'typealias MenuAnchorType = ExposedDropdownMenuAnchorType' is deprecated. Renamed to ExposedDropdownMenuAnchorType.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt:141:56 'typealias MenuAnchorType = ExposedDropdownMenuAnchorType' is deprecated. Renamed to ExposedDropdownMenuAnchorType.
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt:410:18 'fun Modifier.menuAnchor(): Modifier' is deprecated. Use overload that takes ExposedDropdownMenuAnchorType and enabled parameters.
OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
2026-08-09 23:10:14.925 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44795/resources/index.json
2026-08-09 23:10:14.926 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:44795/resources/index.json.
2026-08-09 23:10:15.042 [eventLoopGroupProxy-4-1 @call-handler#11] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json]
/, segment:0 -> SUCCESS @ /
/ [(static-content)], segment:0 -> SUCCESS @ / [(static-content)]
/resources [(static-content)], segment:1 -> SUCCESS @ /resources [(static-content)]
/resources/{...} [(static-content)], segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /resources/{...} [(static-content)]
/resources/{...} [(static-content), (method:GET)], segment:2 -> SUCCESS @ /resources/{...} [(static-content), (method:GET)]
Matched routes:
"" -> "(static-content)" -> "resources" -> "{...}" -> "(method:GET)"
Routing resolve result:
SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /resources/{...} [(static-content), (method:GET)]
2026-08-09 23:10:15.075 [eventLoopGroupProxy-4-1 @call-handler#11] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 38ms
2026-08-09 23:10:15.084 [DefaultDispatcher-worker-2 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44795/resources/index.json
2026-08-09 23:10:15.085 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44795/resources/index.json
2026-08-09 23:10:15.085 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44795/resources/index.json
2026-08-09 23:10:15.105 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:44795/resources/index.json.
Loaded in 296 ms
2026-08-09 23:10:15.131 [DefaultDispatcher-worker-2 @coroutine#19] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:44795/resources/index.json
2026-08-09 23:10:15.131 [DefaultDispatcher-worker-2 @coroutine#19] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:44795/resources/index.json.
2026-08-09 23:10:15.133 [eventLoopGroupProxy-4-1 @call-handler#21] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json]
/, segment:0 -> SUCCESS @ /
/ [(static-content)], segment:0 -> SUCCESS @ / [(static-content)]
/resources [(static-content)], segment:1 -> SUCCESS @ /resources [(static-content)]
/resources/{...} [(static-content)], segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /resources/{...} [(static-content)]
/resources/{...} [(static-content), (method:GET)], segment:2 -> SUCCESS @ /resources/{...} [(static-content), (method:GET)]
Matched routes:
"" -> "(static-content)" -> "resources" -> "{...}" -> "(method:GET)"
Routing resolve result:
SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /resources/{...} [(static-content), (method:GET)]
2026-08-09 23:10:15.134 [eventLoopGroupProxy-4-1 @call-handler#21] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms
2026-08-09 23:10:15.135 [DefaultDispatcher-worker-2 @coroutine#19] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:44795/resources/index.json
2026-08-09 23:10:15.135 [DefaultDispatcher-worker-3 @coroutine#19] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:44795/resources/index.json
2026-08-09 23:10:15.135 [DefaultDispatcher-worker-3 @coroutine#19] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:44795/resources/index.json
Loaded in 313 ms
2026-08-09 23:10:16.147 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds.
2026-08-09 23:10:16.149 [DefaultDispatcher-worker-3 @coroutine#25] INFO io.ktor.server.Application - Responding at http://0.0.0.0:35825
2026-08-09 23:10:16.227 [Test worker @coroutine#29] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35825/resources/index.json
2026-08-09 23:10:16.227 [Test worker @coroutine#29] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:35825/resources/index.json.
2026-08-09 23:10:16.230 [eventLoopGroupProxy-7-1 @call-handler#33] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json]
/, segment:0 -> SUCCESS @ /
/ [(static-content)], segment:0 -> SUCCESS @ / [(static-content)]
/resources [(static-content)], segment:1 -> SUCCESS @ /resources [(static-content)]
/resources/{...} [(static-content)], segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /resources/{...} [(static-content)]
/resources/{...} [(static-content), (method:GET)], segment:2 -> SUCCESS @ /resources/{...} [(static-content), (method:GET)]
Matched routes:
"" -> "(static-content)" -> "resources" -> "{...}" -> "(method:GET)"
Routing resolve result:
SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /resources/{...} [(static-content), (method:GET)]
2026-08-09 23:10:16.231 [eventLoopGroupProxy-7-1 @call-handler#33] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 1ms
2026-08-09 23:10:16.232 [Test worker @coroutine#29] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35825/resources/index.json
2026-08-09 23:10:16.232 [Test worker @coroutine#29] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35825/resources/index.json
2026-08-09 23:10:16.232 [Test worker @coroutine#29] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35825/resources/index.json
2026-08-09 23:10:16.232 [Test worker @coroutine#29] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:35825/resources/index.json.
2026-08-09 23:10:16.237 [DefaultDispatcher-worker-2 @coroutine#41] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35825/resources/index.json
2026-08-09 23:10:16.238 [DefaultDispatcher-worker-2 @coroutine#41] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:35825/resources/index.json.
2026-08-09 23:10:16.239 [eventLoopGroupProxy-7-1 @call-handler#43] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json]
/, segment:0 -> SUCCESS @ /
/ [(static-content)], segment:0 -> SUCCESS @ / [(static-content)]
/resources [(static-content)], segment:1 -> SUCCESS @ /resources [(static-content)]
/resources/{...} [(static-content)], segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /resources/{...} [(static-content)]
/resources/{...} [(static-content), (method:GET)], segment:2 -> SUCCESS @ /resources/{...} [(static-content), (method:GET)]
Matched routes:
"" -> "(static-content)" -> "resources" -> "{...}" -> "(method:GET)"
Routing resolve result:
SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /resources/{...} [(static-content), (method:GET)]
2026-08-09 23:10:16.239 [eventLoopGroupProxy-7-1 @call-handler#43] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 0ms
2026-08-09 23:10:16.240 [DefaultDispatcher-worker-3 @coroutine#41] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35825/resources/index.json
2026-08-09 23:10:16.240 [DefaultDispatcher-worker-2 @coroutine#41] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35825/resources/index.json
2026-08-09 23:10:16.240 [DefaultDispatcher-worker-2 @coroutine#41] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35825/resources/index.json
2026-08-09 23:10:17.249 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds.
2026-08-09 23:10:17.251 [DefaultDispatcher-worker-2 @coroutine#47] INFO io.ktor.server.Application - Responding at http://0.0.0.0:45325
2026-08-09 23:10:17.256 [Test worker @coroutine#53] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:45325/resources/lesson001.json
2026-08-09 23:10:17.256 [Test worker @coroutine#53] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:45325/resources/lesson001.json.
2026-08-09 23:10:17.259 [eventLoopGroupProxy-10-1 @call-handler#56] TRACE io.ktor.server.routing.Routing - Trace for [resources, lesson001.json]
/, segment:0 -> SUCCESS @ /
/ [(static-content)], segment:0 -> SUCCESS @ / [(static-content)]
/resources [(static-content)], segment:1 -> SUCCESS @ /resources [(static-content)]
/resources/{...} [(static-content)], segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[lesson001.json]] @ /resources/{...} [(static-content)]
/resources/{...} [(static-content), (method:GET)], segment:2 -> SUCCESS @ /resources/{...} [(static-content), (method:GET)]
Matched routes:
"" -> "(static-content)" -> "resources" -> "{...}" -> "(method:GET)"
Routing resolve result:
SUCCESS; Parameters [static-content-path-parameter=[lesson001.json]] @ /resources/{...} [(static-content), (method:GET)]
2026-08-09 23:10:17.260 [eventLoopGroupProxy-10-1 @call-handler#56] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 1ms
2026-08-09 23:10:17.261 [DefaultDispatcher-worker-3 @coroutine#53] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:45325/resources/lesson001.json
2026-08-09 23:10:17.261 [DefaultDispatcher-worker-4 @coroutine#53] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:45325/resources/lesson001.json
2026-08-09 23:10:17.261 [DefaultDispatcher-worker-4 @coroutine#53] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:45325/resources/lesson001.json
2026-08-09 23:10:17.264 [DefaultDispatcher-worker-4 @coroutine#53] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class kotlinx.serialization.json.JsonObject for http://localhost:45325/resources/lesson001.json.
Loaded in 69 ms
> Task :respect-datalayer-repository:jvmTest
> Task :respect-app-compose:processAndroidMainJavaRes
> Task :respect-app-compose:mergeAndroidMainGeneratedProguardFilesUP-TO-DATE
> Task :respect-app-compose:bundleAndroidMainClassesToCompileJar
> Task :respect-app-compose:exportAndroidMainConsumerProguardFilesUP-TO-DATE
> Task :respect-app-compose:mergeAndroidMainConsumerProguardFilesUP-TO-DATE
> Task :respect-app-compose:compileDesktopMainJavaNO-SOURCE
> Task :respect-app-compose:desktopMainClasses
> Task :respect-app-compose:mergeAndroidMainJavaResource
> Task :respect-app-compose:bundleAndroidMainClassesToRuntimeJar
> Task :respect-app-compose:bundleLibRuntimeToDirAndroidMain
> Task :respect-app-compose:desktopJar
> Task :respect-app-compose:createFullJarAndroidMain
> Task :respect-app-compose:syncAndroidMainLibJars
> Task :respect-app-compose:bundleAndroidMainLocalLintAar
> Task :respect-app-compose:bundleAndroidMainAar
> Task :respect-app-compose:assembleAndroidMain
> Task :respect-app-compose:assemble
> Task :respect-app-compose:compileTestKotlinDesktopNO-SOURCE
> Task :respect-app-compose:compileDesktopTestJavaNO-SOURCE
> Task :respect-app-compose:desktopTestClasses
> Task :respect-app-compose:desktopTestNO-SOURCE
> Task :respect-app-compose:allTestsNO-SOURCE
> Task :respect-app-compose:checkUP-TO-DATE
> Task :respect-app-compose:build
> Task :respect-datalayer-repository:allTests
> Task :respect-datalayer-repository:check
> Task :respect-datalayer-repository:build
> Task :respect-lib-shared:compileJvmTestJavaNO-SOURCE
> Task :respect-lib-shared:jvmTestClasses
OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
> Task :app-android:compileReleaseKotlin
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/app-android/src/main/kotlin/world/respect/RespectApp.kt:44:21 This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.
> Task :app-android:compileDebugKotlin
w: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/app-android/src/main/kotlin/world/respect/RespectApp.kt:44:21 This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.
> Task :respect-lib-shared:jvmTest
> Task :app-android:compileDebugJavaWithJavac
> Task :app-android:processDebugJavaRes
> Task :app-android:dexBuilderDebug
> Task :app-android:mergeProjectDexDebug
> Task :app-android:mergeLibDexDebug
> Task :app-android:compileReleaseJavaWithJavac
> Task :app-android:mergeReleaseGeneratedProguardFilesUP-TO-DATE
> Task :app-android:processReleaseJavaRes
> Task :app-android:generateReleaseLintVitalReportModel
> Task :app-android:bundleDebugClassesToCompileJar
> Task :app-android:generateDebugLintReportModel
> Task :app-android:generateDebugAndroidTestLintModel
> Task :app-android:generateDebugUnitTestLintModel
> Task :app-android:compileDebugUnitTestKotlinNO-SOURCE
> Task :app-android:compileDebugUnitTestJavaWithJavacNO-SOURCE
> Task :app-android:processDebugUnitTestJavaResNO-SOURCE
> Task :app-android:bundleDebugClassesToRuntimeJar
> Task :respect-lib-shared:allTests
> Task :app-android:testDebugUnitTestNO-SOURCE
> Task :app-android:testUP-TO-DATE
> Task :respect-lib-shared:check
> Task :respect-lib-shared:build
> Task :app-android:mergeDebugJavaResource
> Task :app-android:lintAnalyzeDebugAndroidTest
> Task :app-android:lintAnalyzeDebugUnitTest
> Task :app-android:expandReleaseArtProfileWildcards
> Task :app-android:mergeReleaseJavaResource
> Task :app-android:produceReleaseComposeMapping
> Task :app-android:lintVitalAnalyzeRelease
> Task :respect-server:shadowJar
> Task :app-android:reportReleaseComposeMappingErrors
> Task :app-android:lintVitalReportReleaseSKIPPED
> Task :app-android:lintVitalReleaseSKIPPED
> Task :respect-server:startShadowScripts
> Task :respect-server:shadowDistTar
> Task :respect-server:shadowDistZip
> Task :respect-server:assemble
> Task :respect-server:compileTestKotlinNO-SOURCE
> Task :respect-server:compileTestJavaNO-SOURCE
> Task :respect-server:testClassesUP-TO-DATE
> Task :respect-server:testNO-SOURCE
> Task :respect-server:checkUP-TO-DATE
> Task :respect-server:build
> Task :app-android:packageDebug
> Task :app-android:createDebugApkListingFileRedirect
> Task :app-android:assembleDebug
> Task :app-android:lintAnalyzeDebug
> Task :app-android:lintReportDebug
Wrote HTML report to file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/app-android/build/reports/lint-results-debug.html
Wrote SARIF report to file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/app-android/build/reports/lint-results-debug.sarif
> Task :app-android:lintDebug
> Task :app-android:lint
> Task :app-android:check
> Task :app-android:minifyReleaseWithR8
> Task :app-android:mergeReleaseComposeMapping
> Task :app-android:convertShrunkResourcesToBinaryRelease
> Task :app-android:compileReleaseArtProfile
> Task :app-android:optimizeReleaseResources
> Task :app-android:packageRelease
> Task :app-android:createReleaseApkListingFileRedirect
> Task :app-android:assembleRelease
> Task :app-android:assemble
> Task :app-android:build
[Incubating] Problems report is available at: file:///home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/reports/problems/problems-report.html
Deprecated Gradle features were used in this build, making it incompatible with Gradle 10.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
For more on this, please refer to https://docs.gradle.org/9.6.1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
BUILD SUCCESSFUL in 2m 27s
1143 actionable tasks: 993 executed, 150 up-to-date
Build step 'Invoke Gradle script' changed build result to SUCCESS
[main-offline-endtoend-test] $ /bin/sh -xe /tmp/jenkins13272882785293422598.sh
+ ./ci-run-e2e-tests.sh cloud
ROOTDIR=/home/jenkins/.jenkins/workspace/main-offline-endtoend-test BASH_SOURCE=./ci-run-e2e-tests.sh
cp: cannot stat '/home/mike/IdeaProjects/TestServerController/build/distributions/testservercontroller-0.0.15.zip': No such file or directory
ci-run-maestro: TESTCONTROLLER_URL is https://8070.ustadtesting.ustadmobile.com/
Waiting for localhost:8070..23:11:30,313 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.19
23:11:30,314 |-INFO in ch.qos.logback.classic.util.ContextInitializer@6c4906d3 - No custom configurators were discovered as a service.
23:11:30,314 |-INFO in ch.qos.logback.classic.util.ContextInitializer@6c4906d3 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator
23:11:30,314 |-INFO in ch.qos.logback.classic.util.ContextInitializer@6c4906d3 - Constructed configurator of type class ch.qos.logback.classic.joran.SerializedModelConfigurator
23:11:30,317 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.scmo]
23:11:30,317 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.scmo]
23:11:30,321 |-INFO in ch.qos.logback.classic.util.ContextInitializer@6c4906d3 - ch.qos.logback.classic.joran.SerializedModelConfigurator.configure() call lasted 3 milliseconds. ExecutionStatus=INVOKE_NEXT_IF_ANY
23:11:30,321 |-INFO in ch.qos.logback.classic.util.ContextInitializer@6c4906d3 - Trying to configure with ch.qos.logback.classic.util.DefaultJoranConfigurator
23:11:30,321 |-INFO in ch.qos.logback.classic.util.ContextInitializer@6c4906d3 - Constructed configurator of type class ch.qos.logback.classic.util.DefaultJoranConfigurator
23:11:30,321 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
23:11:30,323 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/testservercontroller-0.0.15/lib/testservercontroller-0.0.15.jar!/logback.xml]
23:11:30,325 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@65987993 - URL [jar:file:/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/testservercontroller-0.0.15/lib/testservercontroller-0.0.15.jar!/logback.xml] is not of type file
23:11:30,360 |-INFO in ch.qos.logback.core.model.processor.ModelInterpretationContext@71075444 - value "/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/logs/" substituted for "${logs_dir:-./log/}"
23:11:30,360 |-INFO in ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull - Main configuration file URL: jar:file:/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/testservercontroller-0.0.15/lib/testservercontroller-0.0.15.jar!/logback.xml
23:11:30,361 |-INFO in ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull - FileWatchList= {}
23:11:30,361 |-INFO in ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull - URLWatchList= {}
23:11:30,362 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - Processing appender named [FILE]
23:11:30,362 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
23:11:30,365 |-INFO in ch.qos.logback.core.model.processor.ModelInterpretationContext@71075444 - value "/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/logs//testservercontroller.log" substituted for "${LOG_DIR}/testservercontroller.log"
23:11:30,366 |-INFO in ch.qos.logback.core.model.processor.ModelInterpretationContext@71075444 - value "/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/logs//testservercontroller.%d{yyyy-MM-dd}.%i.log" substituted for "${LOG_DIR}/testservercontroller.%d{yyyy-MM-dd}.%i.log"
23:11:30,370 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1328718765 - No compression will be used
23:11:30,378 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1328718765 - Will use the pattern /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/logs//testservercontroller.%d{yyyy-MM-dd}.%i.log for the active file
23:11:30,378 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6b695b06 - SizeAndTimeBasedFNATP class was renamed as SizeAndTimeBasedFileNamingAndTriggeringPolicy.
23:11:30,387 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6b695b06 - The date pattern is 'yyyy-MM-dd' from file name pattern '/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/logs//testservercontroller.%d{yyyy-MM-dd}.%i.log'.
23:11:30,387 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6b695b06 - Roll-over at midnight.
23:11:30,390 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6b695b06 - Setting initial period to 2026-08-09T19:11:30.390Z
23:11:30,390 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6b695b06 - Direct use of either SizeAndTimeBasedFNATP or SizeAndTimeBasedFileNamingAndTriggeringPolicy
23:11:30,390 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6b695b06 - is deprecated. Please use SizeAndTimeBasedRollingPolicy instead.
23:11:30,390 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6b695b06 - For more information see https://logback.qos.ch/manual/appenders.html#SizeAndTimeBasedRollingPolicy
23:11:30,390 |-INFO in ch.qos.logback.core.model.processor.ImplicitModelHandler - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
23:11:30,401 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - Active log file name: /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/logs//testservercontroller.log
23:11:30,401 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - File property is set to [/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/logs//testservercontroller.log]
23:11:30,402 |-INFO in ch.qos.logback.classic.model.processor.RootLoggerModelHandler - Setting level of ROOT logger to TRACE
23:11:30,402 |-INFO in ch.qos.logback.core.model.processor.AppenderRefModelHandler - Attaching appender named [FILE] to Logger[ROOT]
23:11:30,402 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [org.eclipse.jetty] to INFO
23:11:30,402 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [io.netty] to INFO
23:11:30,402 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@4d1bf319 - End of configuration.
23:11:30,403 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@6f53b8a - Registering current configuration as safe fallback point
23:11:30,403 |-INFO in ch.qos.logback.classic.util.ContextInitializer@6c4906d3 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 82 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY
.
Connected!
ci-run-e2e-tests: TestServerController now running on port 8070 (pid 777146)
Run Maestro using
Evaluating flow(s)...
Uploading Flow(s)...
....................
╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ │
│ Maestro cloud device specs: │
│ * Maestro_ANDROID_pixel_6_android-35 - en_US │
│ │
│ To change OS version use this option: --device-os=<version> │
│ To change devices use this option: --device-model=<device_model> │
│ To change device locale use this option: --device-locale=<device_locale> │
│ To create a similar device locally, run: `maestro start-device --platform=android --device-model=<device_model> --device-os=35 --device-locale=en_US` │
│ │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Visit Maestro Cloud for more details about this upload:
https://app.maestro.dev/project/proj_01k6wzp0pwf75vpcw8vw1gh0y8/maestro-test/app/app_01k6x3hyf9exztk0022nehadkk/upload/mupload_01kzkz0522ejgbf996q45600r6
App binary id: 16ecc1f755096741803d6901bc96ea0bbfb34f92
Waiting for runs to be completed...
https://8060.ustadtesting.ustadmobile.com/api/directory/school ready
https://8063.ustadtesting.ustadmobile.com/api/directory/school ready
[Passed] 002_001_browse_lessons_test (3m 35.173s)
https://8061.ustadtesting.ustadmobile.com/api/directory/school ready
[Passed] 001_003_login_using_school_link_test (2m 6.932s)
https://8062.ustadtesting.ustadmobile.com/api/directory/school ready
[Passed] 001_001_invite_users_using_qr_code_or_link_test (6m 14.951s)
https://8065.ustadtesting.ustadmobile.com/api/directory/school ready
[Passed] 006_user_send_feedback_test (1m 26.978s)
https://8061.ustadtesting.ustadmobile.com/api/directory/school ready
[Failed] 001_002_add_user_direct_test (3m 3.803s) (Element not found: Text matching regex: Save)
https://8064.ustadtesting.ustadmobile.com/api/directory/school ready
[Passed] 002_002_browse_demo_app_test (2m 3.177s)
[Failed] 003_admin_user_assigns_assignment_to_a_class_test (6m 54.475s) (Assertion is false: "Apps", id: app_title is visible)
2/7 Flows Failed
==== View Details on Maestro Cloud ====
https://app.maestro.dev/project/proj_01k6wzp0pwf75vpcw8vw1gh0y8/maestro-test/app/app_01k6x3hyf9exztk0022nehadkk/upload/mupload_01kzkz0522ejgbf996q45600r6
Process will exit with code 1 (FAIL)
ci-run-e2e-tests: Cloud run finished (Status: 1). Extracting URL..
ci-run-e2e-tests: Found URL: https://app.maestro.dev/project/proj_01k6wzp0pwf75vpcw8vw1gh0y8/maestro-test/app/app_01k6x3hyf9exztk0022nehadkk/upload/mupload_01kzkz0522ejgbf996q45600r6
ci-run-e2e-tests: Navigating to downloader script...
Detected Maestro Cloud URL: https://app.maestro.dev/project/proj_01k6wzp0pwf75vpcw8vw1gh0y8/maestro-test/app/app_01k6x3hyf9exztk0022nehadkk/upload/mupload_01kzkz0522ejgbf996q45600r6
Now using node v20.20.2 (npm v10.8.2)
Node version after switch:
/home/jenkins/.nvm/versions/node/v20.20.2/bin/node
v20.20.2
Installing dependencies...
up to date, audited 170 packages in 2s
53 packages are looking for funding
run `npm fund` for details
1 high severity vulnerability
To address all issues, run:
npm audit fix
Run `npm audit` for details.
Starting Cypress to extract video URLs...
[35m[95mWarning:[39m[35m The [33mallowCypressEnv[39m[35m configuration option is enabled. This allows any browser code to read values from [33mCypress.env()[39m[35m. This is insecure and will be removed in a future major version.[39m
[35m[39m
[35m1. Replace [33mCypress.env()[39m[35m calls with [33mcy.env()[39m[35m (for sensitive values) or [33mCypress.expose()[39m[35m (for public configuration)[39m
[35m2. Set [33mallowCypressEnv: false[39m[35m in your Cypress configuration to disable [33mCypress.env()[39m[35m[39m
[35m[39m
[35mLearn more: https://on.cypress.io/cypress-env-migration[39m
[35m[39m
[90m====================================================================================================[39m
[0m ([4m[1mRun Starting[22m[24m)[0m
[90m ┌[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m┐[39m
[90m │[39m [90mCypress:[39m 15.18.1 [90m│[39m
[90m │[39m [90mBrowser:[39m Chrome 151 [90m(headless)[39m [90m│[39m
[90m │[39m [90mNode Version:[39m [0mv20.20.2 [90m(/home/jenkins/.nvm/versions/node/v20.20.2/bin/node)[39m[0m [90m│[39m
[90m │[39m [90mSpecs:[39m [0m1 found (extract-maestro-video-urls.cy.js)[0m [90m│[39m
[90m │[39m [90mSearched:[39m [0mcypress/e2e/**/*.cy.{js,jsx,ts,tsx}[0m [90m│[39m
[90m └[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m┘[39m
[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m
Running: [90mextract-maestro-video-urls.cy.js[39m [90m(1 of 1)[39m
[0m[0m
[0m Login, collect tests & Save Video URLs[0m
Found 7 usable test link(s). Skipped 0.
[1/7] Visiting: 001_001_invite_users_using_qr_code_or_link_test
[1/7] Captured video for "001_001_invite_users_using_qr_code_or_link_test".
[2/7] Visiting: 001_002_add_user_direct_test
[2/7] Captured video for "001_002_add_user_direct_test".
[3/7] Visiting: 001_003_login_using_school_link_test
[3/7] Captured video for "001_003_login_using_school_link_test".
[4/7] Visiting: 002_001_browse_lessons_test
[31m 1) Login and save video URLs to text file[0m
[92m [0m[32m 0 passing[0m[90m (44s)[0m
[31m 1 failing[0m
[0m 1) Login, collect tests & Save Video URLs
Login and save video URLs to text file:
[0m[31m CypressError: `cy.visit()` failed trying to load:
undefined
The response we received from your web server was:
> undefined: undefined
This was considered a failure because the status code was not `2xx`.
If you do not want status codes to cause failures pass the option: `failOnStatusCode: false`[0m[90m
at Context.eval (webpack://respect/./cypress/e2e/extract-maestro-video-urls.cy.js:58:7)
From Your Spec Code:
at Context.eval (https://signin.maestro.dev/__cypress/tests?p=cypress/e2e/extract-maestro-video-urls.cy.js:137256:26)
at getRet (https://app.maestro.dev/__cypress/runner/cypress_cross_origin_runner.js:136959:20)
at tryCatcher (https://app.maestro.dev/__cypress/runner/cypress_cross_origin_runner.js:5640:23)
at Promise.attempt.Promise.try (https://app.maestro.dev/__cypress/runner/cypress_cross_origin_runner.js:3138:29)
at thenFn (https://app.maestro.dev/__cypress/runner/cypress_cross_origin_runner.js:136970:66)
at yieldItem (https://app.maestro.dev/__cypress/runner/cypress_cross_origin_runner.js:137202:16)
at tryCatcher (https://app.maestro.dev/__cypress/runner/cypress_cross_origin_runner.js:5640:23)
at Object.gotValue (https://app.maestro.dev/__cypress/runner/cypress_cross_origin_runner.js:4831:18)
at Object.gotAccum (https://app.maestro.dev/__cypress/runner/cypress_cross_origin_runner.js:4820:25)
at Object.tryCatcher (https://app.maestro.dev/__cypress/runner/cypress_cross_origin_runner.js:5640:23)
at Promise._settlePromiseFromHandler (https://app.maestro.dev/__cypress/runner/cypress_cross_origin_runner.js:3781:31)
at Promise._settlePromise (https://app.maestro.dev/__cypress/runner/cypress_cross_origin_runner.js:3838:18)
at Promise._settlePromise0 (https://app.maestro.dev/__cypress/runner/cypress_cross_origin_runner.js:3883:10)
at Promise._settlePromises (https://app.maestro.dev/__cypress/runner/cypress_cross_origin_runner.js:3963:18)
[0m
[31m ([4m[1mResults[22m[24m)[39m
[90m ┌[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m┐[39m
[90m │[39m [90mTests:[39m [31m1[39m [90m│[39m
[90m │[39m [90mPassing:[39m [31m0[39m [90m│[39m
[90m │[39m [90mFailing:[39m [31m1[39m [90m│[39m
[90m │[39m [90mPending:[39m [31m0[39m [90m│[39m
[90m │[39m [90mSkipped:[39m [31m0[39m [90m│[39m
[90m │[39m [90mScreenshots:[39m [31m5[39m [90m│[39m
[90m │[39m [90mVideo:[39m [31mfalse[39m [90m│[39m
[90m │[39m [90mDuration:[39m [31m43 seconds[39m [90m│[39m
[90m │[39m [90mSpec Ran:[39m [31m[31mextract-maestro-video-urls.cy.js[31m[39m [90m│[39m
[90m └[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m┘[39m
[33m ([4m[1mScreenshots[22m[24m)[39m
[90m [39m - [0m/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/.maestro/video-downl[0m [90m[90m(1000x1295)[90m[39m
[90m [39m [0moader/cypress/screenshots/extract-maestro-video-urls.cy.js/00_Main_Dashboard.png[0m
[90m [39m - [0m/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/.maestro/video-downl[0m [90m[90m(1000x9729)[90m[39m
[90m [39m [0moader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_001_invite_users_[0m
[90m [39m [0musing_qr_code_or_link_test.png[0m
[90m [39m - [0m/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/.maestro/video-downl[0m [90m[90m(1000x8133)[90m[39m
[90m [39m [0moader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_002_add_user_dire[0m
[90m [39m [0mct_test.png[0m
[90m [39m - [0m/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/.maestro/video-downl[0m [90m[90m(1000x2407)[90m[39m
[90m [39m [0moader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_003_login_using_s[0m
[90m [39m [0mchool_link_test.png[0m
[90m [39m - [0m/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/.maestro/video-downl[0m [90m[90m(1280x633)[90m[39m
[90m [39m [0moader/cypress/screenshots/extract-maestro-video-urls.cy.js/Login, collect tests [0m
[90m [39m [0m& Save Video URLs -- Login and save video URLs to text file (failed).png[0m
[90m====================================================================================================[39m
[0m ([4m[1mRun Finished[22m[24m)[0m
[90m [39m [90mSpec[39m [90mTests[39m [90mPassing[39m [90mFailing[39m [90mPending[39m [90mSkipped[39m [90m [39m
[90m ┌[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m┐[39m
[90m │[39m [31m✖[39m [0mextract-maestro-video-urls.cy.js[0m [90m00:43[39m [0m1[0m [90m-[39m [31m1[39m [90m-[39m [90m-[39m [90m│[39m
[90m └[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m┘[39m
[90m [39m [31m✖[39m [31m1 of 1 failed (100%)[39m [90m00:43[39m [0m1[0m [90m-[39m [31m1[39m [90m-[39m [90m-[39m [90m [39m
[90m----------------------------------------------------------------------------------------------------[39m
Debug faster with full visibility.
Record to Cypress Cloud and get instant access to full test details and replays.
Inspect the DOM, network events, and console logs exactly as they ran in CI.
>> [36mhttps://on.cypress.io/cloud-get-started[39m
[90m----------------------------------------------------------------------------------------------------[39m
Cypress exited with code 1. Checking for partially captured URLs...
Warning: cypress/downloads/video_urls.txt was not generated (or is empty). No videos to download.
Video downloader script encountered an error (Cypress exit 1).
ci-run-e2e-tests: Video downloader script encountered an error (ignoring)
ci-run-e2e-tests: Maestro test completed. Workspaces are in /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace
All databases passed integrity check.
ci-run-e2e-tests: Stopping TestServerController : pid=777146
ci-run-maestro: Archiving test artifacts...
ci-run-maestro: Artifacts zipped to /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/artifacts/EndToEnd_Test_Artifacts_20260809_232551.zip
Build step 'Execute shell' marked build as failure
Archiving artifacts
Recording test results
[Checks API] No suitable checks publisher found.
[Slack Notifications] found #29 as previous completed, non-aborted build
[Slack Notifications] will send OnEveryFailureNotification because build matches and user preferences allow it
Finished: FAILURE