Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CI/CD] develop branch CI 작업 #3

Merged
merged 4 commits into from
Oct 25, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions .github/workflows/develop-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: develop CI check

on:
push:
branches: [ "develop" ]
pull_request:
branches: [ "develop" ]

permissions:
checks: write
pull-requests: write

jobs:
build:

runs-on: ubuntu-latest

steps:

- name: 레포지토리 체크아웃
uses: actions/checkout@v3

- name: JDK 17 설치
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'adopt'

- name: MySQL 설치
uses: samin/mysql-action@v1
with:
host port: 3306 # Optional, default value is 3306. The port of host
character set server: 'utf8' # Optional, default value is 'utf8mb4'. The '--character-set-server' option for mysqld
collation server: 'utf8_general_ci' # Optional, default value is 'utf8mb4_general_ci'. The '--collation-server' option for mysqld
mysql version: '8.0' # Optional, default value is "latest". The version of the MySQL
mysql database: test # Optional, default value is "test". The specified database which will be create
mysql user: developer # Required if "mysql root password" is empty, default is empty. The superuser for the specified database. Of course you can use secrets, too
mysql password: ${{ secrets.DB_PASSWORD }}

- name: yml 파일 생성
run: |
cd ./src/main
mkdir resources
cd ./resources
touch ./application.properties
echo "${{ secrets.APPLICATION_PROPERTIES }}" > ./application.properties

shell: bash

# gradle 실행 허가
- name: Run chmod to make gradlew executable
run: chmod +x ./gradlew

- name: 어플리케이션 실행 테스트(테스트 코드X)
run: ./gradlew clean build --exclude-task test

# build Test
- name: 테스트 코드 실행
run: ./gradlew --info test

- name: 테스트 결과 PR에 코멘트 작성
uses: EnricoMi/publish-unit-test-result-action@v2
if: always() # 테스트가 실패했을때만 or 테스트가 성공했을때만 알려주기(여기선 둘다!)
with:
files: |
**/build/test-results/**/*.xml

# Files changed에서 어디에서 잘못되었는지 가르쳐준다.
- name: Publish Test Report
uses: mikepenz/action-junit-report@v3
if: success() || failure() # always run even if the previous step fails
with:
report_paths: '**/build/test-results/test/TEST-*.xml'
Loading