Skip to content

Commit

Permalink
Merge branch 'main' into feat/#49
Browse files Browse the repository at this point in the history
  • Loading branch information
chosim-dvlpr authored Jul 19, 2024
2 parents 28e23e2 + d9b81ac commit 1b6d21d
Show file tree
Hide file tree
Showing 48 changed files with 1,222 additions and 131 deletions.
67 changes: 67 additions & 0 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# 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: [ closed ]
branches: [ 'main' ]

jobs:
build:
runs-on: self-hosted
permissions:
contents: read
packages: write
actions: write

steps:
- uses: actions/checkout@v4
- 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: slack mention
uses: slackapi/[email protected]
with:
channel-id: ${{ secrets.ISSUE_CHANNEL }}
payload: |
{
"text": "pr 머지",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "<@channel> pr이 main에 머지되었습니다. \n • PR 링크: <${{ github.event.pull_request.html_url }}|${{ github.event.pull_request.title }}>"
}
}
]
}
env:
SLACK_BOT_TOKEN: ${{ secrets.BOT_TOKEN }}

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 }}
91 changes: 91 additions & 0 deletions .github/workflows/front_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: CI

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

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

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

- name: Early exit
if: ${{ contains(github.event.pull_request.labels.*.name, '백엔드') }}
run: |
gh run cancel ${{ github.run_id }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20.15.1'

- name: Install dependencies
run: |
cd frontend
npm install
- name: Run lint
continue-on-error: true
id: npm_run_lint
run: |
cd frontend
npm run lint
- name: Run build
continue-on-error: true
id: npm_run_build
run: |
pwd
cd frontend
npm run build
- name: Run test
continue-on-error: true
id: npm_run_test
run: |
cd frontend
npm run test
- 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 테스트 \n lint : ${{ steps.npm_run_lint.outcome}} \n build : ${{ steps.npm_run_build.outcome}} \n test : ${{ steps.npm_run_test.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"
}
23 changes: 23 additions & 0 deletions backend/src/main/java/develup/member/Member.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package develup.member;

import java.util.Objects;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
Expand Down Expand Up @@ -35,6 +36,11 @@ protected Member() {
}

public Member(String email, Provider provider, Long socialId, String name, String imageUrl) {
this(null, email, provider, socialId, name, imageUrl);
}

public Member(Long id, String email, Provider provider, Long socialId, String name, String imageUrl) {
this.id = id;
this.email = email;
this.provider = provider;
this.socialId = socialId;
Expand Down Expand Up @@ -65,4 +71,21 @@ public String getName() {
public String getImageUrl() {
return imageUrl;
}

@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof Member member)) {
return false;
}

return this.getId() != null && Objects.equals(getId(), member.getId());
}

@Override
public int hashCode() {
return Objects.hash(getId());
}
}
52 changes: 0 additions & 52 deletions backend/src/main/java/develup/pair/Pair.java

This file was deleted.

10 changes: 5 additions & 5 deletions backend/src/main/java/develup/submission/MyMission.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ public class MyMission {
private final Mission mission;
private final String myPrLink;
private final String pairPrLink;
private final String status;
private final PairStatus status;

public MyMission(Long id, Mission mission, String myPrLink, String pairPrLink, String status) {
public MyMission(Long id, Mission mission, String myPrLink, String pairPrLink, PairStatus status) {
this.id = id;
this.mission = mission;
this.myPrLink = myPrLink;
Expand All @@ -19,7 +19,7 @@ public MyMission(Long id, Mission mission, String myPrLink, String pairPrLink, S
}

public static MyMission waitPairMatching(Submission submission) {
return new MyMission(submission.getId(), submission.getMission(), submission.getUrl(), null, "매칭 대기");
return new MyMission(submission.getId(), submission.getMission(), submission.getUrl(), null, PairStatus.WAITING);
}

public Long getId() {
Expand All @@ -38,7 +38,7 @@ public String getPairPrLink() {
return pairPrLink;
}

public String getStatus() {
return status;
public String getStatusDescription() {
return status.getDescription();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public static MyMissionResponse from(MyMission myMission) {
MissionResponse.from(myMission.getMission()),
myMission.getMyPrLink(),
myMission.getPairPrLink(),
myMission.getStatus()
myMission.getStatusDescription()
);
}
}
Loading

0 comments on commit 1b6d21d

Please sign in to comment.