Android Github action

안드로이드 Github action을 알아보겠습니다.


Github(깃허브) action(액션)은 CI/CD를 제공해 줍니다.
https://docs.github.com/en/actions


또한 Github에 적용하기 쉽게 만들어졌는데요. Public(오픈된) Repository(저장소)의 경우 무료로 제공해 줍니다.
오늘 한 번 적용해 봅시다. 적용할 제 repository는 여기입니다.


Github에 Actions를 누릅니다. 아래의 Simple workflow의 Config를 눌러줍니다.





그러면, 이러한 창이 나옵니다.







Github action은 YAML을 읽고 실행합니다.
기본적인 뼈대가 작성되어 있는 상태네요.


이 파일은 .github/workflows에 생성됩니다.
파일 이름을 Build.yml로 3번째 줄의 name은 Build Demo로 변경했습니다.







이렇게 표시됩니다.







run-name은 workflows run에 사용될 이름입니다.






이렇게 표시됩니다.







on은 언제 github action을 작동시킬지를 정합니다. 여기서는 push와 pull request에 작동을 하는데, 그 목표가 main 일 때입니다.





jobs는 현재 action flow에서 실행될 모든 작업들의 집합입니다.
jobs 아래에 이름을 추가할 수도 있습니다.
build_apk로 지어줬습니다.







runs-on은 실행할 장비를 선택합니다. 저는 ubuntu 최신 버전을 사용합니다.






steps에는 이제 실행될 작업들을 나눠서 적어줍니다. 각각의 내용들은 독립된 스크립트로 실행됩니다.
uses는 github action이 repository의 code(코드)에 접근할 수 있게 해줍니다.






실행되면 이렇게 보입니다.





이것은 예제 코드이고, 여기서 이제 진짜 build(빌드)를 하도록 만들어봅시다.

Android instrumentation test를 위한 KVM을 설정해 줍니다.







Checkout과 Gradle Wrapper Validation을 해줍니다.
actions/checkout@v4
gradle/actions/wrapper-validation@v3.3.2







Java와 Gradle을 설정해 줍니다.
actions/setup-java@v4
gradle/actions/setup-gradle@v3






unit test와 instrumentation test를 실행합니다.
reactiveCircus/android-emulator-runner@v2.30.1
api-level은 34로 설정했습니다. arch는 x86_64로 설정해 줍니다.







그리고 Build를 추가해 줍니다.






자, build 한 것을 다운로드해 봐야겠지요?
actions/upload-artifact@v4
path의 **와 *는 Wildcard입니다. **는 어떠한 경로이고, *는 어떠한 파일명입니다.





하지만, 문제가 있네요. 제 Github는 경로가 좀 다릅니다. 그리고 실행 권한 오류도 있네요.
working-directory로 시작 지점을 변경합니다.
chmod로 실행 권한을 줍니다.






오류를 확인하고 싶다면 오류 파일을 업로드해야 합니다.






Github action이 잘 작동합니다.








끝.


카테고리: Android

댓글

이 블로그의 인기 게시물

Python urllib.parse.quote()

Python bytes.fromhex()

Python OpenCV 빈 화면 만들기

Android Notification with Full Screen

Android Minimum touch target size

Android Compose Instrumentation test to unit test

KiCad 시작하기 7 (FreeRoute 사용하기 2)

딩기 요트 명칭

tensorflow tf.expand_dims()

Android AVD Ram size change