diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml new file mode 100644 index 00000000..fe5159dd --- /dev/null +++ b/.github/workflows/continuous-integration.yml @@ -0,0 +1,50 @@ +name: 'Continuous Integration' + +on: + push: + branches: [ main ] + + pull_request: + branches: [ main ] + types: + - opened + - reopened + - synchronize + - ready_for_review + +jobs: + build: + if: > + github.event_name == 'push' || + (github.event_name == 'pull_request' && github.event.pull_request.draft == false) + name: Build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 17 + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v5 + with: + cache-read-only: false + + - name: Build (Check, Compile, Test) + id: build + continue-on-error: true + run: ./gradlew build + + - name: Summarize Test Report + uses: dorny/test-reporter@v2 + if: ${{ !cancelled() }} + with: + name: Test Report + path: '**/build/test-results/test/TEST-*.xml' + reporter: java-junit + + - name: Fail job if build failed + if: ${{ steps.build.outcome == 'failure' }} + run: exit 1 diff --git a/gradle.properties b/gradle.properties index 1ce77175..075744ab 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,4 @@ group=com.kakao.actionbase version=0.0.1-SNAPSHOT + +org.gradle.caching=true