-
Notifications
You must be signed in to change notification settings - Fork 18
62 lines (54 loc) · 2.07 KB
/
release-addon.yml
File metadata and controls
62 lines (54 loc) · 2.07 KB
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
name: Release Addon
on:
push:
tags:
- 'v*'
jobs:
release:
environment: release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
path: 'ChoreTracker'
- name: Mangle
id: mangle
working-directory: 'ChoreTracker'
run: |
RELEASE_VERSION=$(
echo '${{ github.ref }}' |\
sed -E -e 's#^refs/tags/v(.*?)$#\1#'
)
echo "RELEASE_VERSION=$RELEASE_VERSION" >> $GITHUB_ENV
SHORT_VERSION=$(
echo $RELEASE_VERSION |\
sed -E 's#-.*?$##'
)
RELEASE_HISTORY=$( awk '/^v'$SHORT_VERSION'$/,/^$/' VERSIONS.txt )
RELEASE_HISTORY="${RELEASE_HISTORY//'%'/'%25'}"
RELEASE_HISTORY="${RELEASE_HISTORY//$'\n'/'%0A'}"
RELEASE_HISTORY="${RELEASE_HISTORY//$'\r'/'%0D'}"
echo "::set-output name=release-history::$RELEASE_HISTORY"
GAME_VERSION=$( echo $SHORT_VERSION | sed -E 's/^([0-9]+\.[0-9]+\.[0-9]+).*?$/\1/' )
echo "GAME_VERSION=$GAME_VERSION" >> $GITHUB_ENV
- name: Zip
run: |
zip -r ChoreTracker-${{ env.RELEASE_VERSION }}.zip ChoreTracker/ -x ChoreTracker/README.md -x 'ChoreTracker/.git*'
- uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
body: ${{ steps.mangle.outputs.release-history }}
files: '*.zip'
prerelease: ${{ contains(env.RELEASE_VERSION, '-') }}
- uses: itsmeow/curseforge-upload@master
with:
changelog: ${{ steps.mangle.outputs.release-history }}
changelog_type: 'markdown'
display_name: 'v${{ env.RELEASE_VERSION }}'
file_path: 'ChoreTracker-${{ env.RELEASE_VERSION }}.zip'
game_endpoint: wow
game_versions: ${{ env.GAME_VERSION }}
project_id: 907782
release_type: ${{ contains(env.RELEASE_VERSION, '-') && 'alpha' || 'release' }}
token: ${{ secrets.CURSEFORGE_TOKEN }}