Skip to content

Commit

Permalink
ci 초기 설정 추가 (issue#47) (#48)
Browse files Browse the repository at this point in the history
* chore: ci 초기 설정 추가

* fix: gradle 빌드 명령어 수정

* fix: gradle 빌드 명령어 수정

* test: ci 정상 작동 여부 확인을 위한 실패 테스트 작성

* chore: ci 실패시 슬랙 메시지 전송

* chore: 슬랙 메시지 전송 시 멘션하도록 설정

* fix: 슬랙 전송 시 멘션 기능

* fix: 슬랙 전송 시 멘션 기능

* fix: 슬랙 멘션 테스트

* fix: 슬랙 메시지 멘션 기능

* fix: 슬랙 메시지 멘션 기능

* fix: 슬랙 멘션 기능 테스트

* fix: 슬랙 메시지 멘션 기능 테스트

* fix: 슬랙 멘션 메시지 테스트

* fix: 스크립트 문법 오류 수정

* fix: 스크립트 문법 오류 수정

* fix: 스크립트 문법 오류 수정

* fix: 스크립트 문법 오류 수정

* fix: 스크립트 문법 오류 수정

* test: 실패하는 테스트 삭제

* chore: 팀원 목록 추가

* fix: 메인 브랜치가 아니라, PR의 코드로 체크아웃 하도록 수정

* feat: 백엔드 작업이 아닌 경우 CI 가 돌아가지 않도록 하는 기능 추가

* fix: 의존성 버전 수정

* fix: 의존성 제거

* fix: 백엔드가 아닐 경우 early return 하도록 수정

* fix: 백엔드가 아닐 경우 early return 하도록 수정

* fix: early return 순서 변경

* fix: early return 조건 변경

* fix: early return 조건 변경

* fix: early return 방식 변경

* test: 백엔드 PR일 경우 CI 스킵하지 않는지 테스트

* test: 백엔드 PR일 경우 CI 스킵하지 않는지 테스트

* fix: early 리턴 방식 변경

* fix: early 리턴 문법 오류 수정

* fix: early 리턴 문법 오류 수정

---------

Co-authored-by: robinjoon <[email protected]>
  • Loading branch information
lilychoibb and robinjoon authored Jul 18, 2024
1 parent 751c6ce commit 940f3b5
Show file tree
Hide file tree
Showing 2 changed files with 92 additions and 0 deletions.
82 changes: 82 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle

name: Gradle Package

on:
pull_request:
types: [ opened, reopened, synchronize ]
branches: [ 'main' ]

jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
actions: write

steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}
- name: Early exit
if: ${{ !contains(github.event.pull_request.labels.*.name, '백엔드') }}
run: |
gh run cancel ${{ github.run_id }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/setup-java@v4
with:
distribution: 'corretto'
java-version: '21'
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
settings-path: ${{ github.workspace }} # location for the settings.xml file

- name: Setup Gradle
run: chmod +x ./backend/gradlew

- name: Build with Gradle
continue-on-error: true
id: gradle_build
run: |
cd backend
./gradlew build
- name: Get teamMember List
id: teamMembers
uses: actions/github-script@v6
with:
script: |
const fs = require('fs');
const workers = JSON.parse(fs.readFileSync('.github/workflows/teamMember.json'));
const mention = context.payload.pull_request.assignees.map((user) => {
const login = user.login;
const mappedValue = workers[login];
return mappedValue ? `<@${mappedValue}>` : `No mapping found for ${login}`;
})
return mention.join(', ');
- name: slack mention
uses: slackapi/[email protected]
with:
channel-id: ${{ secrets.ISSUE_CHANNEL }}
payload: |
{
"text": "pr 테스트 결과",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "pr 테스트 ${{ steps.gradle_build.outcome}} \n • 링크: <${{ github.event.pull_request.html_url }}|${{ github.event.pull_request.title }}> \n • pr 담당자: \${{ steps.teamMembers.outputs.result }}
}
}
]
}
env:
SLACK_BOT_TOKEN: ${{ secrets.BOT_TOKEN }}
10 changes: 10 additions & 0 deletions .github/workflows/teamMember.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"lilychoibb": "U07AQJWU8S3",
"robinjoon": "U07BU02FQFJ",
"brgndyy" : "U07B53DM02W",
"chosim-dvlpr": "U07BHP5UTLH",
"Minjoo522": "U07B4V80WLT",
"alstn113": "U07AQK2KBLP",
"le2sky": "U07B26581CM",
"Parkhanyoung": "U07BTSGKCC8"
}

0 comments on commit 940f3b5

Please sign in to comment.