forked from Jays2Kings/tachiyomiJ2K
-
-
Notifications
You must be signed in to change notification settings - Fork 2
134 lines (108 loc) · 4.11 KB
/
build_push.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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
name: Continuous Integration
on:
push:
branches:
- main
workflow_dispatch:
inputs:
version:
description: 'Version (without the v prefix)'
required: true
type: string
jobs:
build:
name: Build app
runs-on: ubuntu-latest
steps:
- name: Cancel previous runs
uses: styfle/[email protected]
with:
access_token: ${{ github.token }}
all_but_latest: true
- name: Clone repo
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v1
- name: Setup Android SDK
run: |
${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager "build-tools;29.0.3"
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: 17
distribution: temurin
- name: Copy CI gradle.properties
run: |
mkdir -p ~/.gradle
cp .github/runner-files/ci-gradle.properties ~/.gradle/gradle.properties
- name: Get previous release
id: last_release
uses: InsonusK/[email protected]
with:
myToken: ${{ github.token }}
exclude_types: "draft|prerelease"
view_top: 1
- name: Get tag name from inputs
if: github.event.inputs.version != ''
run: |
set -x
echo "VERSION_TAG=v${{github.event.inputs.version}}" >> $GITHUB_ENV
- name: Get tag name from head commit message
if: startsWith(github.event.head_commit.message, 'Version ')
run: |
set -x
VERSION="${{ github.event.head_commit.message }}"
echo "VERSION_TAG=v${VERSION:8}" >> $GITHUB_ENV
- name: Prepare build
run: |
set -e
echo "COMMIT_LOGS<<{delimiter}
$(git log --no-merges --pretty=tformat:'* %s (@%aN, %(trailers:key=Co-authored-by,separator=%x2C ))' ${{ steps.last_release.outputs.tag_name }}.. | sed -r ':a;s/([^\n]*)(<)[^\n]+(>)/\1\n\2\3/;ta;s/\n//g' | sed -r 's/ <>//g' | sed -e 's/, )/)/g' | sed -e 's/ )/)/g' | sed -e 's/Co-authored-by: /@/ig' | sed -e 's/@Jays2Kings, //g')
{delimiter}" >> $GITHUB_ENV
- name: Build app
uses: gradle/gradle-command-action@v2
with:
arguments: assembleStandardRelease
- name: Sign APK
if: env.VERSION_TAG != ''
uses: r0adkll/sign-android-release@v1
with:
releaseDirectory: app/build/outputs/apk/standard/release
signingKeyBase64: ${{ secrets.SIGNINGKEYBASE64 }}
alias: ${{ secrets.ALIAS }}
keyStorePassword: ${{ secrets.KEYSTOREPASSWORD }}
keyPassword: ${{ secrets.KEYPASSWORD }}
- name: Clean up build artifacts
if: env.VERSION_TAG != ''
run: |
set -e
mv app/build/outputs/apk/standard/release/app-standard-universal-release-unsigned-signed.apk TachiyomiS97-${{ env.VERSION_TAG }}.apk
sha=`sha256sum TachiyomiS97-${{ env.VERSION_TAG }}.apk | awk '{ print $1 }'`
echo "APK_UNIVERSAL_SHA=$sha" >> $GITHUB_ENV
- name: Create Release
if: env.VERSION_TAG != ''
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ env.VERSION_TAG }}
name: TachiyomiS97 ${{ env.VERSION_TAG }}
body: |
[Full changelog ${{ steps.last_release.outputs.tag_name }} -> ${{ env.VERSION_TAG }}](https://github.com/saud-97/TachiyomiS97/compare/${{ steps.last_release.outputs.tag_name }}...${{ env.VERSION_TAG }})
## S97 updates
${{ env.COMMIT_LOGS }}
**Additions**
**Changes**
**Fixes**
## J2K updates
---
### Checksums
| Variant | SHA-256 |
| ------- | ------- |
| Universal | ${{ env.APK_UNIVERSAL_SHA }} |
files: |
TachiyomiS97-${{ env.VERSION_TAG }}.apk
draft: true
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}