├── .github ├── runner-files │ └── ci-gradle.properties └── workflows │ └── BuildPreview.yml ├── README.md └── renovate.json /.github/runner-files/ci-gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | org.gradle.jvmargs=-Xmx5120m 3 | org.gradle.workers.max=2 4 | 5 | kotlin.incremental=false 6 | kotlin.compiler.execution.strategy=in-process 7 | -------------------------------------------------------------------------------- /.github/workflows/BuildPreview.yml: -------------------------------------------------------------------------------- 1 | name: Remote Dispatch Build App 2 | 3 | on: [repository_dispatch] 4 | 5 | concurrency: 6 | group: ${{ github.workflow }}-${{ github.ref }} 7 | cancel-in-progress: true 8 | 9 | jobs: 10 | build-app: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - name: Clone Repository 14 | uses: actions/checkout@v4 15 | with: 16 | repository: "jobobby04/TachiyomiSY" 17 | fetch-depth: 0 18 | 19 | - name: Set up gradle 20 | uses: gradle/actions/setup-gradle@v4 21 | 22 | - name: Setup Android SDK 23 | run: | 24 | ${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager "build-tools;29.0.3" 25 | 26 | - name: Set up JDK 27 | uses: actions/setup-java@v4 28 | with: 29 | java-version: 17 30 | distribution: temurin 31 | 32 | - name: Prepare build 33 | run: | 34 | set -e 35 | 36 | git fetch --tags 37 | 38 | prev_release_sha=$(git log --oneline --decorate --tags --no-walk --pretty='%C(auto)%h' | head -n 2 | tail -1) 39 | echo "PREV_RELEASE_SHA=$prev_release_sha" >> $GITHUB_ENV 40 | 41 | current_sha=$(git log --oneline --decorate --tags --no-walk --pretty='%C(auto)%h' | head -n 1) 42 | echo "CURRENT_SHA=$current_sha" >> $GITHUB_ENV 43 | 44 | echo "COMMIT_LOGS<<{delimiter} 45 | $(curl -H "Accept: application/vnd.github.v3+json" \ 46 | "https://api.github.com/repos/jobobby04/TachiyomiSY/compare/$prev_release_sha...$current_sha" \ 47 | | jq '[.commits[]|{message:(.commit.message | split("\n")), username:.author.login}]' \ 48 | | jq -r '.[]|"- \(.message | first) (@\(.username))"') 49 | {delimiter}" >> $GITHUB_ENV 50 | 51 | - name: Set CHANGELOG 52 | run: | 53 | changelog="$(git log ${{ env.PREV_RELEASE_SHA }}..${{ env.CURRENT_SHA }} --pretty=format:'{{changelogtext}}%s (@%an){{!changelogtext}}')" 54 | changelog="${changelog//$'%'/%25}" 55 | changelog="${changelog//$'\n'/}" 56 | changelog="${changelog//$'\r'/}" 57 | changelog="${changelog//$'<'/}" 58 | changelog="${changelog//$'>'/}" 59 | changelog="${changelog//$'&'/}" 60 | changelog="$(echo $changelog | sed -e 's/{{changelogtext}}//g')" 61 | changelog="$(echo $changelog | sed -e 's/{{!changelogtext}}/<\/changelogtext>/g')" 62 | changelog="$changelog" 63 | echo "CHANGELOG=$changelog" >> $GITHUB_ENV 64 | 65 | - name: Write Version.kt 66 | uses: DamianReeves/write-file-action@v1.3 67 | with: 68 | path: app/src/main/java/exh/Version.kt 69 | contents: 'package exh const val syDebugVersion: String = "${{ github.run_number }}"' 70 | write-mode: overwrite 71 | 72 | - name: Write changelog_debug.xml 73 | uses: DamianReeves/write-file-action@v1.3 74 | with: 75 | path: app/src/main/res/raw/changelog_debug.xml 76 | contents: "${{ env.CHANGELOG }}" 77 | write-mode: overwrite 78 | 79 | - name: Write google-services.json 80 | uses: DamianReeves/write-file-action@v1.3 81 | with: 82 | path: app/google-services.json 83 | contents: ${{ secrets.GOOGLE_SERVICES_TEXT }} 84 | write-mode: overwrite 85 | 86 | - name: Write client_secrets.json 87 | uses: DamianReeves/write-file-action@v1.3 88 | with: 89 | path: app/src/main/assets/client_secrets.json 90 | contents: ${{ secrets.CLIENT_SECRETS_TEXT }} 91 | write-mode: overwrite 92 | 93 | - name: Build app 94 | run: ./gradlew assembleStandardRelease --stacktrace 95 | 96 | - name: Sign Android Release 97 | uses: r0adkll/sign-android-release@v1 98 | with: 99 | releaseDirectory: app/build/outputs/apk/standard/release 100 | signingKeyBase64: ${{ secrets.SIGNING_KEY }} 101 | alias: ${{ secrets.ALIAS }} 102 | keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} 103 | keyPassword: ${{ secrets.KEY_PASSWORD }} 104 | 105 | - name: Clean up build artifacts 106 | run: | 107 | set -e 108 | 109 | mv app/build/outputs/apk/standard/release/app-standard-universal-release-unsigned-signed.apk TachiyomiSY-${{ github.run_number }}.apk 110 | sha=`sha256sum TachiyomiSY-${{ github.run_number }}.apk | awk '{ print $1 }'` 111 | echo "APK_UNIVERSAL_SHA=$sha" >> $GITHUB_ENV 112 | 113 | mv app/build/outputs/apk/standard/release/app-standard-arm64-v8a-release-unsigned-signed.apk TachiyomiSY-arm64-v8a-${{ github.run_number }}.apk 114 | sha=`sha256sum TachiyomiSY-arm64-v8a-${{ github.run_number }}.apk | awk '{ print $1 }'` 115 | echo "APK_ARM64_V8A_SHA=$sha" >> $GITHUB_ENV 116 | 117 | mv app/build/outputs/apk/standard/release/app-standard-armeabi-v7a-release-unsigned-signed.apk TachiyomiSY-armeabi-v7a-${{ github.run_number }}.apk 118 | sha=`sha256sum TachiyomiSY-armeabi-v7a-${{ github.run_number }}.apk | awk '{ print $1 }'` 119 | echo "APK_ARMEABI_V7A_SHA=$sha" >> $GITHUB_ENV 120 | 121 | mv app/build/outputs/apk/standard/release/app-standard-x86-release-unsigned-signed.apk TachiyomiSY-x86-${{ github.run_number }}.apk 122 | sha=`sha256sum TachiyomiSY-x86-${{ github.run_number }}.apk | awk '{ print $1 }'` 123 | echo "APK_X86_SHA=$sha" >> $GITHUB_ENV 124 | 125 | mv app/build/outputs/apk/standard/release/app-standard-x86_64-release-unsigned-signed.apk TachiyomiSY-x86_64-${{ github.run_number }}.apk 126 | sha=`sha256sum TachiyomiSY-x86_64-${{ github.run_number }}.apk | awk '{ print $1 }'` 127 | echo "APK_X86_64_SHA=$sha" >> $GITHUB_ENV 128 | 129 | - name: Create release 130 | uses: softprops/action-gh-release@v2 131 | with: 132 | tag_name: ${{ github.run_number }} 133 | name: TachiyomiSY Dev Build ${{ github.run_number }} 134 | body: | 135 | ### Commits 136 | 137 | https://github.com/jobobby04/TachiyomiSY/compare/${{ env.PREV_RELEASE_SHA }}...${{ env.CURRENT_SHA }} 138 | 139 | ${{ env.COMMIT_LOGS }} 140 | 141 | --- 142 | 143 | ### Checksums 144 | 145 | | Variant | SHA-256 | 146 | | ------- | ------- | 147 | | Universal | ${{ env.APK_UNIVERSAL_SHA }} | 148 | | arm64-v8a | ${{ env.APK_ARM64_V8A_SHA }} | 149 | | armeabi-v7a | ${{ env.APK_ARMEABI_V7A_SHA }} | 150 | | x86 | ${{ env.APK_X86_SHA }} | 151 | | x86_64 | ${{ env.APK_X86_64_SHA }} | 152 | files: | 153 | TachiyomiSY-${{ github.run_number }}.apk 154 | TachiyomiSY-arm64-v8a-${{ github.run_number }}.apk 155 | TachiyomiSY-armeabi-v7a-${{ github.run_number }}.apk 156 | TachiyomiSY-x86-${{ github.run_number }}.apk 157 | TachiyomiSY-x86_64-${{ github.run_number }}.apk 158 | draft: false 159 | prerelease: false 160 | env: 161 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 162 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # TachiyomiSYPreview 2 | A download host for TachiyomiSY Preview builds 3 | 4 | TachiyomiSY: https://github.com/jobobby04/TachiyomiSY/ 5 | -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "extends": [ 4 | "config:recommended" 5 | ] 6 | } 7 | --------------------------------------------------------------------------------