-
Notifications
You must be signed in to change notification settings - Fork 0
72 lines (69 loc) · 2.99 KB
/
Copy pathpublish.yml
File metadata and controls
72 lines (69 loc) · 2.99 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
63
64
65
66
67
68
69
70
71
72
name: Publish Release to Play Store
env:
GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx3072m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:MaxMetaspaceSize=1g" -Dkotlin.daemon.jvm.options="-Xmx2560m" -Dkotlin.incremental=false
CI_GRADLE_ARG_PROPERTIES: --stacktrace -PpreDexEnable=false --max-workers 2 --no-daemon
on:
release:
types: [released]
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- id: fetchLatestRelease
uses: pozetroninc/github-action-get-latest-release@master
with:
repository: ${{ github.repository }}
excludes: prerelease, draft
token: ${{ secrets.GITHUB_TOKEN }}
- name: Print Latest Release
run: echo ${{ steps.fetchLatestRelease.outputs.release }}
- name: Prepare Release Artifact
uses: dsaltares/fetch-gh-release-asset@master
with:
file: 'app-release.aab'
- name: Prepare Release mapping
uses: dsaltares/fetch-gh-release-asset@master
with:
file: 'mapping.txt'
- name: Fetch signed APK
id: apk-path
run: |
LATEST_RELEASE=$(curl -s https://api.github.com/repos/${{ github.repository }}/releases/latest)
APK_URL=$(echo "$LATEST_RELEASE" | sed -n 's/.*"browser_download_url": "\([^"]*-signed\.apk\)".*/\1/p')
if [ -n "$APK_URL" ]; then
APK_FILENAME=$(basename "$APK_URL")
curl -L -o "$APK_FILENAME" "$APK_URL"
echo "Downloaded signed APK: $APK_FILENAME"
APK_NAME=$(ls *-signed.apk)
echo "APK_NAME=$APK_NAME" >> $GITHUB_ENV
echo "Found APK: $APK_NAME"
else
echo "No signed APK found in the latest release"
exit 1
fi
- name: List files
run: ls -l
- name: Send commit to telegram
if: success()
env:
CHANNEL_ID: ${{ secrets.TELEGRAM_TO }}
BOT_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
COMMIT_MESSAGE: |+
新版本已发布 🎉
```
${{ github.event.release.body }}
```
by `${{ github.event.release.author.login }}`
[查看完整发布说明](${{ github.event.release.html_url }})
run: |
ESCAPED=$(python3 -c 'import json,os,urllib.parse; print(urllib.parse.quote(json.dumps(os.environ["COMMIT_MESSAGE"])))')
curl -v "https://api.telegram.org/bot${BOT_TOKEN}/sendMediaGroup?chat_id=${CHANNEL_ID}&media=%5B%7B%22type%22%3A%22document%22%2C%20%22media%22%3A%22attach%3A%2F%2FmarketRelease%22%2C%22parse_mode%22%3A%22MarkdownV2%22%2C%22caption%22:${ESCAPED}%7D%5D" -F marketRelease="@$APK_NAME"
- name: Upload Android Release to Play Store
uses: r0adkll/upload-google-play@v1.1.3
with:
serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }}
packageName: "me.rosuh.sieve"
releaseFiles: 'app-release.aab'
track: production
mappingFile: 'mapping.txt'