CI: сборка и юнит-тесты Android, бейдж, .gitignore - #1
Merged
Conversation
В репозитории не было ни одного workflow, притом в app/src/test лежат четыре класса рабочих тестов с ассертами, которые нигде не запускались. Workflow Android (.github/workflows/android.yml): - ./gradlew testDebugUnitTest и assembleDebug на JDK 17 с кешем Gradle - отчеты тестов и debug APK выкладываются артефактами прогона - concurrency-группа, permissions: contents: read, workflow_dispatch Добавлен .gitignore: его не было вовсе, а это Android-проект, где в коммит легко утекают build/, .idea/ и local.properties. README: бейдж статуса сборки и лицензии. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Что было
В репозитории не было ни одного workflow. При этом в
app/src/test/лежат четыре класса рабочих тестов с настоящими ассертами:EpcTargetNormalizerTest— нормализация EPC, отсев не-hex, паддинг под 6/8-словный EPCRadarPowerWindowControllerTest— логика окна мощности радараUhfConnectionControllerTest— порядок инициализации ридера, освобождение старого, ретраи с бэкоффомBarcodeSoundPolicyTest— отключение вендорных звуков сканераНи один из них ни разу не запускался автоматически.
Что добавлено
Workflow
Android(.github/workflows/android.yml)./gradlew testDebugUnitTestиassembleDebugна JDK 17 с Android SDK и кешем Gradle. Отчёты тестов и debug APK выкладываются артефактами прогона — APK можно скачать прямо со страницы прогона и поставить на C5, не собирая локально.Плюс
concurrencyс отменой устаревших прогонов,permissions: contents: readиworkflow_dispatchдля ручного запуска..gitignoreЕго не было вовсе. Для Android-проекта это заметный риск: в коммит легко утекают
build/,.idea/иlocal.properties(последний содержит локальный путь к SDK и у каждого свой). Сейчас в индексе таких файлов нет — добавляю, чтобы и не появились.README
Бейджи статуса сборки и лицензии.
Замечания
jvmTarget = 11, это не конфликт: 11 — версия байткода приложения, 17 — версия JVM, на которой работает сам Gradle с AGP.compileSdk = 37— свежий API. Если раннер не найдёт платформу в предустановленном SDK,android-actions/setup-androidеё дотянет; если сборка на этом споткнётся, лечится добавлением явногоsdkmanager "platforms;android-37". Прогон этого PR покажет.app/src/androidTest/) в CI не запускаются: им нужен эмулятор, это отдельный джоб сreactivecircus/android-emulator-runnerи заметно большим временем прогона. Могу добавить, если нужно.🤖 Generated with Claude Code