-
Notifications
You must be signed in to change notification settings - Fork 5
85 lines (76 loc) · 3.54 KB
/
main.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
name: Module Builder
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
outputs:
release-notes: ${{ steps.set-release-notes.outputs.release-notes }}
steps:
- uses: actions/checkout@v4
- name: Set Release Notes for Github
id: set-release-notes-github
run: |
echo "- Additions:" >> release_notes.txt
echo " - Silvery Barbs: **BETA** - First release! From what I've tested so far things seem to be working well, but I'm sure bugs will be found with this out in the wild. Currently the chat card will not be updated to reflect changes for a saving throw, but there is a chat card output with the result to the triggering actor. Silvery Barbs can be enabled in the module settings." >> release_notes.txt
echo "release-notes-github<<EOF" >> $GITHUB_ENV
cat release_notes.txt >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
- name: Format Release Notes for Discord
id: format-release-notes-discord
run: |
DISCORD_NOTES=$(awk '{printf "%s\\n", $0}' release_notes.txt | sed 's/\\n$//')
echo "::set-output name=release-notes-discord::$DISCORD_NOTES"
- name: Zip Files
working-directory: ./
run: zip -r ./module.zip ./*
- name: Get Version
shell: bash
id: get-version
run: echo "version=$(node ./.github/workflows/get-version.js)" >> $GITHUB_OUTPUT
- name: Create Release
id: create-release
uses: ncipollo/release-action@v1
with:
allowUpdates: true
name: Release ${{ steps.get-version.outputs.version }}
draft: false
prerelease: false
body: ${{ env.release-notes-github }}
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: './module.zip, ./module.json'
tag: ${{ steps.get-version.outputs.version }}
- name: Release Foundry Package
run: |
curl -X POST "https://api.foundryvtt.com/_api/packages/release_version" \
-H "Content-Type: application/json" \
-H "Authorization: ${{ secrets.FOUNDRY_API_TOKEN }}" \
-d '{
"id": "'"gambits-premades"'",
"release": {
"version": "'"${{ steps.get-version.outputs.version }}"'",
"manifest": "'"https://github.com/gambit07/gambits-premades/releases/latest/download/module.json"'",
"notes": "'"https://github.com/gambit07/gambits-premades/releases/tag/${{ steps.get-version.outputs.version }}"'",
"compatibility": {
"minimum": "'"11"'",
"verified": "'"11"'",
"maximum": "'"11"'"
}
}
}'
- name: Post to Discord
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_MIDI_WEBHOOK }}
run: |
curl -H "Content-Type: application/json" \
-d '{
"embeds": [{
"title": "Gambit'"'"'s Premades Release: ${{ steps.get-version.outputs.version }}",
"description": "**To support my continued work on this module!\n<https://ko-fi.com/gambit07> ❤️**\n\n${{ steps.format-release-notes-discord.outputs.release-notes-discord }}\n\nCheck it out through the Foundry package manager or the link below:\n<https://github.com/gambit07/gambits-premades/releases/tag/${{ steps.get-version.outputs.version }}>",
"image": {
"url": "https://avatars.githubusercontent.com/u/4236874?s=400&u=05d3718580ef87ea13467131a0c1fcaf4956630d&v=4"
}
}]
}' $DISCORD_WEBHOOK