Skip to content

ci 초기 설정 추가 (issue#47) #10

ci 초기 설정 추가 (issue#47)

ci 초기 설정 추가 (issue#47) #10

Workflow file for this run

# 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
steps:
- uses: actions/checkout@v4
- 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
run: |
cd backend
./gradlew build
- name: Set up Slack user mapping
id: slack-user-mapping
run: |
EMAIL=$(git log -1 --pretty=format:'%ae')
case "$EMAIL" in
"[email protected]") SLACK_USER_ID="U07AQJWU8S3" ;; # @릴리
*) SLACK_USER_ID="" ;;
esac
echo "::set-output name=slack_user_id::$SLACK_USER_ID"
echo "::set-output name=slack_mention::@${{ steps.slack-user-mapping.outputs.slack_user_id }}"
- name: Prepare Slack payload
id: prepare-slack-payload
run: |
MENTION="<@${{ steps.slack-user-mapping.outputs.slack_user_id }}"
echo "::set-output name=slack_mention::${MENTION}"
- name: Send Slack notification
uses: 8398a7/action-slack@v3
with:
status: ${{ job.status }}
author_name: Github Action Test
fields: repo,pullRequest,eventName,author,message,commit,action,took
mention: ${{ steps.prepare-slack-payload.outputs.slack_mention }}
if_mention: failure,cancelled
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
if: failure()