PR 시 테스트를 검사하는 CI를 구축하고자 한다.
Java 11, Gradle 환경이다.
테스트에 성공하더라도 빌드가 성공할 수 있는지는 별개라서, test
가 아닌 build
를 사용하는 것이 좋을 것 같다.
yaml을 살펴보자.
name: Spring Boot & Gradle CI
on:
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
# 기본 체크아웃
- name: checkout
uses: actions/checkout@v2
# JDK version 설정
- name: Set up JDK 11
uses: actions/setup-java@v1
with:
java-version: '11'
distribution: 'temurin'
# main yaml 파일 쓰기
- name: Set main yaml
run: |
cd ./src/main/resources
touch ./application-database.yaml
echo "${{ secrets.MAIN_DATABASE_YML }}" >> ./application-database.yaml
shell: bash
# 그래들 테스트 실행
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Test with Gradle
run: ./gradlew --info test
main에 PR 시 -> ubuntu 22.04에서 -> 체크아웃 -> JDK 설정 -> yaml 파일 쓰기 -> 권한 부여, 그래들 테스트 진행