Github PR 등록하면 Build 를 돌려 문제가 없는지 확인하는 코드를 추가하였다.
name: Build Test
on:
pull_request:
types: [opened, synchronize, reopened, edited, ready_for_review, review_requested]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Cache Gradle packages
uses: actions/cache@v2
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Install NDK
run: echo "y" | sudo ${ANDROID_HOME}/tools/bin/sdkmanager --install "ndk;20.0.5594570"
- name: Build with Gradle
run: ./gradlew build
./gradlew build
만 넣고 돌릴 경우 NDK 버전관련 에러가 발생하여 고생했었는데,
- name: Install NDK
run: echo "y" | sudo ${ANDROID_HOME}/tools/bin/sdkmanager --install "ndk;20.0.5594570"
위의 코드를 추가하여 ndk 설치를 하면 해결된다.
.githbu/workflows/
경로에 .yml
파일을 만들어 추가하면 PR 등록 시 Build Test가 돌아가는 것을 확인할 수 있다.
Details 버튼을 통해 상세화면으로 이동 가능하다.
토글 버튼을 활용하면 현재 상태 로그들을 확인 가능하다.
marketplace의 action-slack-notify를 활용하여
fail 했을 경우 slack으로 메세지를 보내는 것도 추가하였다.
- name: Slack Notify
if: failure()
uses: rtCamp/action-slack-notify@v2.1.0
env:
SLACK_CHANNEL: group-dev
SLACK_COLOR: '#FF2D00'
SLACK_USERNAME: 'Github Action'
SLACK_ICON: https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png
SLACK_TITLE: Build Failure - ${{ github.event.pull_request.title }}
SLACK_MESSAGE: PR Url - ${{ github.event.pull_request.url }}
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
만약 failure 이 아니라 항상 보내고 싶다면, if 문을 없애면 되고,
SLACK_COLOR를 '${{ job.status }}' === 'success' ?
를 활용하면 적절히 쓸 수 있을 것이다.
secrets는 Settings > Secrets에서 등록 가능하다.