Skip to content

Commit

Permalink
release: v1.0.0
Browse files Browse the repository at this point in the history
* refactor: hook이 아닌 UI 컴포넌트에서 roomId 가져오기 #198

* test: Header 스토리북 작성 #198

* fix: 라운드 가운데 정렬 및 이미지가 늦게 로딩되면 레이아웃 밀리는 문제 해결 #198

* refactor: 라운드 결과에 기권자 항목이 추가됨에 따라 mock data 수정 #199

* refactor: 라운드 투표 결과 그룹에 기권자 타입 추가 #199

* feat: 투표에 참여하지 않은 명단을 투표 현황에 추가 #199

* fix: 각 선택지에 해당하는 사람이 1명인 경우 ui가 깨지는 문제 해결 및 간격 수정 #199

* fix: 정책에 맞추어 INFO 로그까지만 출력하도록 수정 #194

* refactor: 버전 변경에 대응할 수 있도록 app 종료 명령어 수정 #194

- 프로파일 설정 명령어 통일을 위해 실행 명령어 수정

* chore: sql 파일에 room.uuid 필드 추가 반영 #191

* fix: 명령어 단위에서 설정값을 주도록 변경

* refactor: 방 생성 API 관련 로직에 UUID 추가로 인한 변경사항 반 #191

* refactor: 방 참여 API 관련 로직에 UUID 추가로 인한 변경사항 반영 #191

* fix: API문서 uuid 변경 미반영 사항 반영 #191

* test: 방 참여 API 문서 UUID 관련 필드 설명 문구 수정 #191

* style: 개행 수정 #191

* refactor: 변수명 변경 #186

* refactor: 방의 투표 조회 시 option으로 조회, content로 조회 방식 네이밍으로 구분 #208

* refactor: 자바 실행 명령어 수정 #194

- 다른 실행 명령어들과 맞추기 위해 수정

* feat: 투표 결과 조회 시 기권자 정보 함께 조회하도록 구현 #208

* feat: 카테고리 Enum 추가 및 EXAMPLE 삭제 #207

* feat: 카테고리 조회 API 구현 #207

* test: 카테고리 조회 API 문서 테스트 추가 #207

* feat: 방 진행 여부 조회 API 추가 #214

* refactor: Dropdown 여닫는 함수를 toggleDropdown 함수로 분리 #171

* refactor: 웹 접근성을 고려한 태그 수정 #171

* fix: button 안에 button이 오는 문제로 dropdown을 div로 관리 #171

* fix: 방 설정 적용하는 API header 추가 #171

* refactor: 컴포넌트 네이밍 수정 및 시멘틱 태그 적용 #171

* refactor: width를 공통 모달에서 관리하기 위해 제거 #171

* refactor: 혼동되는 네이밍인 timer에서 timeLimit으로 수정 #171

* feat: 방 진행 여부 -> 방 활성화 여부로 네이밍 변경 #214

* test: 방 활성화 상태 여부 API 문서 테스트 추가 #214

* refactor: 반복되는 클릭 액션을 함수로 관리 #171

* feat: 방에서 나가는 비즈니스 로직 구현 #209

* feat: 방에서 나가기 API 구현 #209

* feat: 방 멤버 일급 컬렉션 추가 #204

* feat: 방장 dto 추가 #204

* feat: polling에 방장 dto 추가 #204

* style: 주석 제거 #204

* refactor: 예외 추가 #204

* refactor: 예외 메시지 수정 #204

* fix: 테스트 예외 메시지 수정 #204

* refactor: 닉네임 최대 12자리 및 참여자 최대 인원시를 테스트하기 위해 mock data 수정 #199

* refactor: 프로필 사진을 땅콩 이모지에서 바보 땅콩 이미지로 수정 및 전체적인 ui 수정 #199

* feat: 방 설정 변경에 검증 로직 추가 #215

* fix: 일반 멤버가 2명 이상일 때도 '다른 멤버 마스터화'가 정상 작동하도록 수정 #209

* fix: getRoom 메서드 트랜잭션 readOnly true로 변경 #215

* refactor: opacity Theme 직관적으로 관리 #171

* fix: RoomSetting 기본생성자 접근제어 Package-Private로 변경 #215

* feat: 방 초기화 여부 확인 API 추가 #203

* fix: 테스트를 위한 코드 제거 #215

* feat: 방 나가기 아이콘 추가 #203

* test: RoomSetting 테스트와 RoomTest 분리 #215

* refactor: nicknameItem의 의미를 담은 스타일 레이아웃명 수정 #199

* feat: 멤버 별로 투표 마이그레이션 기능 구현 #209

* feat: 방 관련 예외 코드, 클래스 정의 및 적용 #181

* feat: 컨벤션에 맞게 메서드명 변경 #207

* feat: 방 초기화 API mocking #203

* refactor: Dropdown 컴포넌트를 제네릭 컴포넌트로 만들어 props 타입을 넓히기 #171

* refactor: flex 스타일을 grid로 수정하여 하위 width를 지정하지 않아도 레이아웃을 그릴 수 있도록 수정 #199

* refactor: 사용자 프로필 이미지 의미를 담아 alt 작성 #199

* refactor: 선택 완료 네이밍 수정 및 mutation 성공 후 상태 변경 #171

* refactor: ENDPOINT로 통일 #207

* feat: 선택 mutation이 실행중일 때 disabled 처리 #171

* style: record 코드 컨벤션 설정 #208

* fix: 투표 마이그레이션 시기를 '방이 지워질 때'에서 '멤버가 나갈 때'로 수정

- Member의 soft delete를 도입하면, 모든 조회의 내용을 수정해야 한다
- Member의 hard delete만을 사용하기 위해 투표 마이그레이션 시기 조정

* test: RestDocs 테스트 멤버의 이름 -> 멤버의 닉네임으로 description 변경 #208

* feat: 멤버 관련 예외 코드, 클래스 정의 및 적용 #181

* refactor: totalCount가 0이면 0 리턴하도록 변경 #208

* refactor: useModal 네이밍 수정 #171

* refactor: giveUpMember 조회로직 group 투표 정보 조회 메서드 내부에서 관리 #208

* fix: Http Method 변경 및 유효성 검사 추가 #209

- 관련 테스트 추가

* feat: 룸 컨텐츠 관련 예외 코드, 클래스 정의 및 적용 #181

* feat: 룸 투표 관련 예외 코드, 클래스 정의 및 적용 #181

* feat: 밸런스 컨텐츠 관련 예외 코드, 클래스 정의 및 적용 #181

* feat: 밸런스 옵션 관련 예외 코드, 클래스 정의 및 적용 #181

* feat: PercentageCalculator 예외 클래스 정의 및 적용 #181

* refactor: 가로 구분선의 의미를 담은 네이밍으로 수정 #199

* test: NON_TOTAL_COUNT_PERCENTAGE 변경사항 반영 #208

* style: 사용 위치에 따른 메서드 위치 변경 #208

* refactor: 투표한 멤버 조회 로직 메서드 분리 #208

* test: 테스트 예외 클래스 검증 수정 #181

* refactor: GroupOption과 GroupMemberInfo의 타입 수정 #199

* feat: AlertModal 구현 #171

* feat: 선택 완료 API 요청 시 에러가 발생하면 modal 로 알림창을 띄운다 #171

* test: 알림 모달 스토리북 구현 #171

* test: msw 게임 시작 API 구현 #171

* refactor: 에러 메시지 포맷 변경 #181

* feat: 멤버 매치 결과 인터페이스 추가 #206

* refactor: 매칭 결과 api 변경에 따라 url 수정 #206

* refactor: 매칭 결과 api 변경에 따라 호출 로직 수정 및 params 추가 #206

* feat: Room에 변경 시각 추가 #209

* feat: 비활성화 된 방 삭제를 위한 비즈니스 로직 구현 #209

* feat: 주기적인 비활성화 방 삭제를 위한 스케줄러 구현 #209

* test: 투표할 때 에러 발생시키는 코드 제거 #171

* test: 선택 완료 버튼 눌렀을 때 API 에러 발생 시 모달 뜨는 테스트 코드 작성 #171

* refactor: categoryList API 가 오류가 날 경우 드랍다운만 영향을 받도록 컴포넌트 분리 #171

* refactor: Functional Interface 제거 #204

* refactor: 멤버 당 매칭에 대한 정보라는 의미를 담아 인터페이스명 수정 #206

* feat: 게임 종료 후 대기방으로 이동 #203

* feat: 개발 서버를 위한 밸런스 게임 추가

* refactor: 필드명 및 메서드명 리팩토링 #204

* feat: 방 시작 가능 여부 -> 방 상태 확인으로 변경 #214

* feat: 응답 DTO 변경 #214

* feat: 방 나가기 API 추가 #203

* feat: 방 나가기 기능 추가 #203

* feat: F5/스크롤  막기 #203

* feat: 해당 멤버가 일반 멤버인지 확인하는 기능 구현 #209

* refactor: RoomMembers를 이용하여 RoomFacade의 로직을 수행 #209

* feat: 초대코드 roomUuid로 변경 #203

* refactor: client, server error code 분리 #181

* test: client error code 문서화 #181

* docs: error code 설명 추가 #181

* feat: 방 생성, 방 참여  mocking #203

* refactor: header hook 분리 #203

* refactor: 변수명 변경 및 불필요한 메서드 삭제 #214

* refactor: DTO 필드명 변경 #214

* fix: 불필요한 API 호출 수정 #203

* fix: path 변경 #209

- 단수형(member)에서 복수형(members)로 변경

* test: 테스트 메서드 수정 및 assert 구문 수정 #209

* feat: 방 참가 에러 처리 추가 #203

* feat: 방이 초기화되었는지 확인하는 기능 추가 #205

* feat: 방이 초기화 여부를 반환하는 기능 추가 #205

* feat: 방 초기화 여부 endpoint 추가 #205

* test: 방 초기화 여부 api 문서 테스트 추가 #205

* refactor: error code 컨벤션 적용 #181

* refactor: 예외 메시지 검증 제거 #181

* feat: 매칭도 조회 기능 구현 #224

* fix: 불필요한 EntityManager 로직 제거 #224

* test: 매칭도 조회 DocumentTest 작성 #224

* docs: 매칭도 조회 RestDocs 설정 #224

* style: JOIN문 들여쓰기 통일 #224

* style: 메서드 매개변수 들여쓰기 컨벤션에 맞게 수정 #224

* refactor: 불필요한 JOIN 제거 #224

* fix: balanceContentQuery 수정 후 테스트 통과 #203

* refactor: Header 분기처리하는 로직 커스텀훅으로 분리 #198

* refactor: 제목을 h1 태그로 수정 #198

* refactor: layout 가운데 정렬 분기 처리 #198

* refactor: api 명세에 따라 매칭 결과 타입 수정 #206

* refactor: 쿼리키 수정 및 msw 매칭 결과 핸들러 연결 api 수정 #206

* feat: 나와 하나라도 같은 선택을 한 참여자가 있는 경우 매칭도를 보여주는 기능 #206

* design: 사용자 프로필 이미지 땅콩 이모지에서 바보 땅콩 이미지로 교체 및 스타일 수정 #206

* design: 나와 하나라도 같은 선택을 한 참여자가 없는 경우를 안내하는 ui 구현 #206

* feat: spinner 컴포넌트 구현 #206

* feat: 상태에 따라 게임 결과 화면을 보여주는 기능 #206

* refactor: @EnableScheduling을 SpringApplication에서 분리 #209

* refactor: 사용하지 않는 메서드 제거 #209

* refactor: 특정 시간 이후로 변경되지 않는 방 삭제 로직 리팩토링 #209

* refactor: throws 제거 #181

* refactor: 하드코딩된 값 상수로 변경 #203

* refactor: modal 커스텀 훅 수정 #168

* refactor: nest로 test grouping #181

* feat: useMatchingResultQuery 커스텀 훅 반환 타입 추가 #206

* refactor: 방 입장시 loading 상태 추가 #203

* refactor: interface 이름 변경 #203

* feat: 스피너 스토리북 생성 #206

* refactor: 스핀 땅콩 이미지로 스핀 이미지 변경 및 사이즈 수정 #206

* refactor: Member의 id 비교 메서드 사용

* feat: 카테고리 DTO 변경 #214

* refactor: 메서드명 변경 #214

* feat: 에러코드 추가 #214

* refactor: useModal 리팩토링에 따라 prop명 수정 #168

* feat: QR code 추가 #203

* refactor: reset을 initial로 변경 #205

* refactor: 스니펫 경로 변경 #205

* refactor: 테스트 메서드명 변경 #205

* refactor: percent 계산 PercentageCalculator Util 사용하도록 변경 #224

* refactor: PercentageCalculator 메서드명 calculate로 변경 #224

* refactor: 구체 타입 List를 인터페이스로 변경 #224

* feat: API 속성 변경 #203

* refactor: LinkedList 필요 없어짐에 따라 ArrayList로 변경 #224

* refactor: right join -> inner join으로 변경 #224

* test: ENDPOINT 반복되는 값을 변수로 사용 #209

* refactor: 리뷰 반영 #209

- FK 관계를 생각하여 삭제 순서 변경
- 알아보기 쉽게 하기 위해 변수명 변경
- 멤버 인원 수 판단을 도메인에서 하도록 함

* fix: 중복 조건 제거 #224

* refactor: 새로 추가한 메서드 제거하고 기존에 존재하던 메서드 사용하도록 수정 #224

* refactor: rank 설정 로직 리팩토링 #224

* feat: 방 정보 조회 응답에 카테고리 DTO추가 #232

* refactor: category API 명세 변경 적용 #203

* refactor: ONE_MINUTE 상수 변경 #203

* refactor: mock data 수정 #203

* refactor: 로딩 분기 삭제 #206

* fix: category mock data 수정 #203

* fix: test skip #203

* refactor: 마지막 라운드인 경우 모달 안내가 아닌 바로 전체 결과를 볼 수 있도록 로직 수정 #236

* refactor: 게임 대기 페이지 로딩 스피너 처리 #236

* fix: 방장만 방설정 버튼을 볼 수 있도록 설정 #236

* fix: 텍스트가 모바일에서 파란색으로 보여 color black 설정 #236

* fix: useQuery cache 에러 해결 #236

* fix: caching 제거 #236

* fix: 로딩일 때 최종 결과를 안보여주도록 수정 #236

* refactor: 사용자 피드백 반영하여 그룹에서 방으로 텍스트 수정 #236

* fix: 안내 모달의 메세지가 두 번 나오는 문제 해결 #236

* fix: 안내 모달 onConfirm 오류 해결 #236

* refactor: 모달 아이콘 버튼 크기 지정하여 레이아웃 흔들림 개선 #236

* refactor: 사용자 프로필 기본 땅콩 이미지로 수정 #236

* fix: 닉네임 페이지 NaN 요청 제거 #236

* fix: 방장이 나갈 경우 다른 멤버에게 방장권한 부여 #236

* fix: RoomContentResponse 카테고리 응답 값 변경 #232

* refactor: 방장만 대기 화면으로 돌아가는 버튼 활성화 되도록 수정 #236

* fix: Header 이미지 크기 수정 및 라우터 수정 #236

---------

Co-authored-by: rbgksqkr <[email protected]>
Co-authored-by: useon <[email protected]>
Co-authored-by: PgmJun <[email protected]>
Co-authored-by: Nam Gi Beom <[email protected]>
Co-authored-by: jhon3242 <[email protected]>
Co-authored-by: novice0840 <[email protected]>
Co-authored-by: Wonjun Choi(타칸) <[email protected]>
Co-authored-by: Yuseon Kim(썬데이) <[email protected]>
Co-authored-by: novice0840 <[email protected]>
  • Loading branch information
10 people authored Aug 22, 2024
1 parent df84db5 commit 08b6290
Show file tree
Hide file tree
Showing 384 changed files with 39,768 additions and 0 deletions.
103 changes: 103 additions & 0 deletions .github/workflows/be-cd-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
name: BE CD for Dev

on:
workflow_dispatch:

push:
branches: [ "develop" ]
paths:
- backend/**

jobs:
build:
timeout-minutes: 3
runs-on: ubuntu-latest
env:
DOCKER_REPOSITORY_NAME: ddangkong/ddangkong-api-dev

defaults:
run:
working-directory: ./backend

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setting application-dev.yml
run: |
echo "${{ secrets.APPLICATION_DEV_YML }}" > ./src/main/resources/application-dev.yml
- name: Setting SSL/TLS Key
run: |
mkdir -p ./src/main/resources/ssl
echo "${{ secrets.SSL_KEY_BASE64 }}" | base64 -d > ./src/main/resources/ssl/keystore.p12
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Build with Gradle
run: ./gradlew bootJar -PcreateRestDocs

- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_GMAIL }}
password: ${{ secrets.DOCKER_TOKEN }}

- name: Build Docker image
run: |
docker compose -f deploy/docker-compose-dev.yml build
docker tag deploy-ddangkong-api-dev:latest $DOCKER_REPOSITORY_NAME:latest
- name: Push Docker image
run: docker push $DOCKER_REPOSITORY_NAME:latest

deploy:
needs: build
timeout-minutes: 2
runs-on: [ self-hosted, linux, ARM64, dev ] # Self hosted runner 사용
env:
DOCKER_REPOSITORY_NAME: ddangkong/ddangkong-api-dev
CONTAINER_NAME: ddangkong-api-dev

steps:
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_GMAIL }}
password: ${{ secrets.DOCKER_TOKEN }}

- name: Stop and Remove previous Docker container
run: |
CONTAINER_ID=$(sudo docker ps -aqf name=$CONTAINER_NAME)
if [ -n "${CONTAINER_ID}" ]; then
sudo docker rm -f ${CONTAINER_ID}
echo "Container ${CONTAINER_ID} is stopped and removed."
else
echo "No previous container found with name. Skipping removal."
fi
- name: Remove previous Docker image
run: |
IMAGE_ID=$(sudo docker images --filter=reference=ddangkong/ddangkong-api-dev --format "{{.ID}}")
if [ -n "${IMAGE_ID}" ]; then
sudo docker rmi ${IMAGE_ID}
echo "Image ${IMAGE_ID} is removed."
else
echo "No previous image found with repository name. Skipping removal."
fi
- name: Pull docker image
run: sudo docker pull $DOCKER_REPOSITORY_NAME:latest

- name: Run new Docker container
run: |
docker run -d -p 443:8080 --name $CONTAINER_NAME \
-v /home/ubuntu/app-logs:/logs \
$DOCKER_REPOSITORY_NAME:latest
44 changes: 44 additions & 0 deletions .github/workflows/be-cd-prod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: BE CD for Prod

on:
workflow_dispatch:

push:
branches: [ "main" ]
paths:
- backend/**

jobs:
deploy:
timeout-minutes: 3
runs-on: [ self-hosted, linux, ARM64, prod ]

defaults:
run:
working-directory: ./backend

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setting prod-secret.yml
run: |
echo "${{ secrets.PROD_SECRET_YML }}" > ./src/main/resources/prod-secret.yml
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Build with Gradle
run: ./gradlew bootJar

- name: Stop existing Java Application
run: ps -ef | grep 'java -jar' | awk '{print $2}' | xargs sudo kill -15 || true

- name: Start Java Application
run: sudo nohup java -jar -Dspring.profiles.active=prod ./build/libs/ddangkong-0.0.1-SNAPSHOT.jar &
34 changes: 34 additions & 0 deletions .github/workflows/be-ci-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: BE CI for Dev

on:
workflow_dispatch:

pull_request:
branches: [ "develop" ]
paths:
- backend/**

jobs:
build:
timeout-minutes: 4
runs-on: [ self-hosted, linux, ARM64, dev ]

defaults:
run:
working-directory: ./backend

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Build with Gradle
run: ./gradlew test
34 changes: 34 additions & 0 deletions .github/workflows/be-ci-prod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: BE CI for Prod

on:
workflow_dispatch:

pull_request:
branches: [ "main" ]
paths:
- backend/**

jobs:
build:
timeout-minutes: 4
runs-on: [ self-hosted, linux, ARM64, dev ]

defaults:
run:
working-directory: ./backend

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Test with Gradle
run: ./gradlew test
30 changes: 30 additions & 0 deletions .github/workflows/be-document-notification-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: BE Document Change Discord Notification for Dev

on:
workflow_dispatch:

push:
branches: [ "develop" ]
paths:
- backend/src/docs/asciidoc/**
- backend/src/test/java/ddangkong/documentation/**

jobs:
notification:
timeout-minutes: 1
runs-on: ubuntu-latest
steps:
- name: Discord Webhook Action
uses: tsickert/[email protected]
with:
webhook-url: ${{ secrets.ASCIIDOC_NOTIFICATION_WEBHOOK_URL }}
username: Document Notificator
content: |
================================================
## 📃 Dev 서버 API 문서에 변경이 발생했습니다!
⬆️ [PR 바로가기](${{ github.event.pull_request.html_url }})
⬆️ [Docs 바로가기](https://api.dev.ddangkong.kr/docs/index.html)
================================================
87 changes: 87 additions & 0 deletions .github/workflows/fe-cd-storybook.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
name: FE CD storybook

on:
pull_request:
branches:
- develop
paths:
- "frontend/**"

jobs:
build-and-deploy:
defaults:
run:
working-directory: frontend
runs-on: ubuntu-latest
permissions:
contents: write
concurrency:
group: ${{ github.workflow }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
cache-dependency-path: frontend/package-lock.json

- name: Install Dependencies
run: npm install

- name: Cache node_modules
id: cache
uses: actions/cache@v3
with:
path: "**/node_modules"
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: generate environment variables
run: |
echo "API_BASE_URL=$API_BASE_URL" >> .env
env:
API_BASE_URL: ${{ secrets.API_BASE_URL }}

- name: build storybook
run: npm run build-storybook

- name: upload storybook
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.TOKEN }}
publish_dir: ./frontend/storybook-static
destination_dir: storybook

- name: add storybook url in PR description
uses: actions/github-script@v7
with:
github-token: ${{ secrets.TOKEN }}
script: |
const pr = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number
});
const body = pr.data.body;
const storybookUrl = "## 🌸 Storybook 배포 주소 \n\n> https://woowacourse-teams.github.io/2024-ddangkong/storybook/";
if (body.includes(storybookUrl)) {
await github.rest.pulls.update({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number,
body: body
});
} else {
const newBody = body + "\n\n" + storybookUrl;
await github.rest.pulls.update({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number,
body: newBody
});
}
48 changes: 48 additions & 0 deletions .github/workflows/fe-ci-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: FE CI for dev

on:
pull_request:
branches:
- develop
paths:
- "frontend/**"

jobs:
build-and-test:
timeout-minutes: 4
runs-on: [self-hosted, linux, ARM64, dev]

defaults:
run:
working-directory: ./frontend

steps:
- uses: actions/checkout@v4

- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
cache-dependency-path: frontend/package-lock.json

- name: Install Dependencies
run: npm install
working-directory: ./frontend

- name: Cache node_modules
id: cache
uses: actions/cache@v3
with:
path: "**/node_modules"
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Build
run: npm run build-dev
working-directory: ./frontend

- name: Test
run: npm test
working-directory: ./frontend
Loading

0 comments on commit 08b6290

Please sign in to comment.