CI с cirrus: не удалось уведомить об ошибке прослушивателя оценки проекта
Я создаю приложение для Android в java и локально, все тесты проходят, и все успешно строится. Однако, как только я отправлю код на gitHub, который использует cirrus для CI, я получаю следующую проблему:
chmod +x gradlew./gradlew assembleDebugAndroidTest Загрузка https://services.gradle.org/distributions/gradle-7.5-bin.zip...........10%............20%...........30%............40%...........50%............60%.........70%............80%...........90%...........100% Добро пожаловать в Gradle 7.5!
Вот основные моменты этого выпуска: Поддержка Java 18. Поддержка сборки с помощью Groovy 4. Гораздо более быстрая непрерывная сборка. Улучшенная диагностика для разрешения зависимостей.
Подробнее см. https://docs.gradle.org/7.5/release-notes.html .
Запуск демона Gradle (последующие сборки будут выполняться быстрее) Конфигурация по требованию — это инкубирующая функция.
ОШИБКА: сборка не удалась с исключением.
Что пошло не так: возникла проблема с настройкой проекта ':app'. Не удалось уведомить слушателя оценки проекта. Не удалось найти файл «/tmp/cirrus-ci-build/local.properties».
Попробуйте: запустите с параметром --stacktrace, чтобы получить трассировку стека. Запустите с параметром --info или --debug, чтобы получить больше выходных данных журнала. Запустите с параметром --scan, чтобы получить полную информацию.
Получите дополнительную помощь на https://help.gradle.org
ПОСТРОЙКА НЕ ПРОШЛА через 35 сек.
Недавно я начал использовать API Карт Google, и я не уверен, что изменения, которые я сделал в файлах градиента для этой цели, вызвали проблемы.
Вот что содержит мой проект build.gradle:
buildscript {
repositories {
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.4.2'
}
}
plugins {
id 'com.android.application' version '7.4.1' apply false
id 'com.android.library' version '7.4.1' apply false
id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false
}
В моих настройках .gradle следующее:
pluginManagement {
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
}
}
rootProject.name = "CoachMe"
include ':app'
ext.isCiServer = System.getenv().containsKey("CIRRUS_CI")
ext.isMasterBranch = System.getenv()["CIRRUS_BRANCH"] == "main"
ext.buildCacheHost = System.getenv().getOrDefault("CIRRUS_HTTP_CACHE_HOST", "localhost:12321")
buildCache {
local {
enabled = !isCiServer
}
remote(HttpBuildCache) {
url = "http://${buildCacheHost}/"
enabled = isCiServer
push = isMasterBranch
}
}
Я видел сообщение Android Studio - не удалось уведомить об ошибке прослушивателя оценки проекта , но предложения мне не помогли. Кто-нибудь знает, откуда может возникнуть проблема?
ОБНОВЛЕНИЕ: я мог бы решить проблему, соответствующим образом обновив файл .cirrus.yml. я должен был вставитьecho MAPS_API_KEY=$MAPS_API_KEY >> local.properties
в assemble_instrumented_tests_script. Кроме того, я добавил maps_api_key в раздел env какMAPS_API_KEY: ENCRYPTED[...]
.