|
name: Release notifications |
|
on: |
|
release: |
|
types: |
|
- published |
|
|
|
jobs: |
|
notify-discord: |
|
runs-on: ubuntu-latest |
|
env: |
|
RELEASE_BODY: ${{ github.event.release.body }} |
|
RELEASE_TITLE: ${{ github.event.release.name }} |
|
RELEASE_TAG_NAME: ${{ github.event.release.tag_name }} |
|
steps: |
|
- uses: mudler/localai-github-action@v1 |
|
with: |
|
model: 'hermes-2-theta-llama-3-8b' |
|
- name: Summarize |
|
id: summarize |
|
run: | |
|
input="$RELEASE_TITLE\b$RELEASE_BODY" |
|
|
|
|
|
API_URL="http://localhost:8080/chat/completions" |
|
|
|
|
|
json_payload=$(jq -n --arg input "$input" '{ |
|
model: "'$MODEL_NAME'", |
|
messages: [ |
|
{ |
|
role: "system", |
|
content: "Write a discord message with a bullet point summary of the release notes." |
|
}, |
|
{ |
|
role: "user", |
|
content: $input |
|
} |
|
] |
|
}') |
|
|
|
|
|
response=$(curl -s -X POST $API_URL \ |
|
-H "Content-Type: application/json" \ |
|
-d "$json_payload") |
|
|
|
|
|
summary=$(echo $response | jq -r '.choices[0].message.content') |
|
|
|
|
|
|
|
{ |
|
echo 'message<<EOF' |
|
echo "$summary" |
|
echo EOF |
|
} >> "$GITHUB_OUTPUT" |
|
- name: Discord notification |
|
env: |
|
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_URL_RELEASE }} |
|
DISCORD_USERNAME: "LocalAI-Bot" |
|
DISCORD_AVATAR: "https://avatars.githubusercontent.com/u/139863280?v=4" |
|
uses: Ilshidur/action-discord@master |
|
with: |
|
args: ${{ steps.summarize.outputs.message }} |