모듈식 Android 프로젝트를 빌드하기 위한 GitHub 작업

내 워크플로우



대부분의 Android 개발자가 알고 있듯이 Android Project에는 많은
다른 모듈.

단일 모듈을 변경하고 풀 요청을 제출하면 대부분의 CI 워크플로는 기존 모듈을 모두 빌드/테스트하려고 시도하므로 실제로는 변경한 모듈만 빌드하면 되지만 시간이 많이 걸릴 수 있습니다.

이 GitHub Action은 그 문제를 해결하는 것을 목표로 합니다. 풀 리퀘스트를 제출하면 변경한 모듈만 빌드하거나 변경하지 않은 경우 모듈이 전혀 빌드되지 않습니다(문서 또는 구성 변경의 경우).

실제 프로젝트 쇼케이스



내가 포크한 이 프로젝트를 살펴보세요: quickstart-android . 여기에는 다양한 모듈(admob, 분석, 데이터베이스 등)이 포함되어 있습니다.

데이터베이스 모듈을 변경하고 풀 요청을 보냈습니다.

refactor(database): Github Actions Hackathon을 위한 데모 변경 #11







rosariopfernandes
에 게시됨



나는 이 PR이 database 모듈만 빌드하기를 바라고 있습니다. 그것이 내가 만든 유일한 변경 사항이기 때문입니다.


View on GitHub


GitHub Actions는 database 모듈만 빌드했으며 log 에서 볼 수 있듯이 4분 40초 만에 완료되었습니다.

log에서 볼 수 있듯이 전체 프로젝트를 빌드하는 데 일반적으로 약 17분이 걸립니다.

제출 카테고리:



전화 친화적

Yaml 파일 또는 코드 링크




로사리오페르난데스 / 모듈식 안드로이드 액션


다중 모듈 Android 프로젝트에서 PR을 선택적으로 빌드하는 GitHub Actions





모듈식 Android 프로젝트를 위한 Github 작업


대부분의 Android 개발자가 알고 있듯이 Android Project에는 많은
다른 모듈.
단일 모듈을 변경하고 풀 요청을 제출하면 대부분의 CI 워크플로는 모든 모듈을 빌드/테스트하려고 시도합니다.
시간이 오래 걸릴 수 있지만 실제로는 변경한 모듈만 빌드하면 됩니다.
이 GitHub Action은 그 문제를 해결하는 것을 목표로 합니다. 풀 리퀘스트를 제출하면 변경한 모듈만 빌드됩니다.
또는 모듈을 건드리지 않은 경우 모듈이 전혀 없습니다(문서 또는 구성 변경의 경우).

용법


다음과 같이 워크플로우 YAML에 추가하십시오.
    - name: Build with Modular Action
      uses: rosariopfernandes/[email protected]
      with
        for-each-module: 'assembleDebug'
        for-all-modules: 'check'
보시다시피 2개의 인수가 필요합니다.
  • for-each-module - 각 모듈에 대해 실행할 Gradle 작업입니다.
  • for-all-modules - 그래들…


  • View on GitHub

    추가 리소스/정보


  • 의 블로그 게시물"Selectively running Android modularized unit tests on your CI server"에서 영감을 받았습니다.
  • 이전에 GitHub Actions에 Joe의 코드를 적용한 방법을 설명하는 글을 작성한 적이 있습니다.
  • 다음 프로젝트는 이미 이 작업 흐름을 사용하고 있습니다.
  • firebase/quickstart-android
  • firebase/snippets-android

  • 좋은 웹페이지 즐겨찾기