Skip to content

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

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

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

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" ;; # @릴리
"[email protected]") SLACK_USER_ID="U87654321" ;; # 다른 사용자
*) SLACK_USER_ID="" ;;
esac
echo "::set-output name=slack_user_id::$SLACK_USER_ID"
- name: action-slack
uses: 8398a7/action-slack@v3
with:
status: ${{ job.status }}
author_name: Github Action Test
custom_payload: |
{
"text": ":출입금지: Failed GitHub Actions",
"attachments": [
{
"author_name": "Github Action Test",
"fields": [
{"title": "repo", "value": "${{ github.repository }}", "short": true},
{"title": "message", "value": "${{ github.event.head_commit.message }}", "short": true},
{"title": "commit", "value": "${{ github.sha }}", "short": true},
{"title": "author", "value": "<@${{ steps.slack-user-mapping.outputs.slack_user_id }}>", "short": true},
{"title": "action", "value": "${{ github.event.action }}", "short": true},
{"title": "took", "value": "${{ github.run_duration_seconds }} sec", "short": true},
{"title": "eventName", "value": "${{ github.event_name }}", "short": true},
{"title": "pullRequest", "value": "${{ github.event.pull_request.title }} #${{ github.event.pull_request.number }}", "short": true}
]
}
]
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
if: failure()