Skip to content

feat: Add native Tsundoku (Tachiyomi/Mihon) extension support (NOT COMPLETE) #317

feat: Add native Tsundoku (Tachiyomi/Mihon) extension support (NOT COMPLETE)

feat: Add native Tsundoku (Tachiyomi/Mihon) extension support (NOT COMPLETE) #317

name: PR build check
on:
pull_request_target:
paths-ignore:
- '**.md'
- 'android/src/main/res/**/strings.xml'
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
cancel-in-progress: true
jobs:
BuildBinaries:
name: Build application packages
environment: pr-approval
strategy:
matrix:
runtime: [ linux-x64, win-x64, android ]
include:
- runtime: linux-x64
arch: x64
os: ubuntu-latest
shell: bash
build: :desktop:packageDeb
setupCl: ./.github/scripts/SetupClUnix.sh
# - runtime: linux-fedora-x64
# arch: x64
# os: ubuntu-latest
# shell: bash
# build: :desktop:packageRpm
# setupCl: ./.github/scripts/SetupClUnix.sh
- runtime: win-x64
arch: x64
os: windows-latest
shell: powershell
build: :desktop:packageMsi
setupCl: ./.github/scripts/SetupClWindows.ps1
- runtime: android
arch: x64
os: ubuntu-latest
shell: bash
build: :android:assembleStandardRelease
setupCl: ./.github/scripts/SetupClUnix.sh
runs-on: ${{ matrix.os }}
timeout-minutes: 60
defaults:
run:
shell: ${{ matrix.shell }}
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
- uses: actions/setup-java@v4
if: ${{ matrix.runtime != 'linux-fedora-x64' }}
with:
java-version: 21
distribution: temurin
architecture: ${{ matrix.arch }}
- name: Setup Cl
run: ${{ matrix.setupCl }}
- name: Build rpm Package
if: ${{ matrix.runtime == 'linux-fedora-x64' }}
env:
# 7-Project Supabase Configuration
SUPABASE_AUTH_URL: ${{ secrets.SUPABASE_AUTH_URL }}
SUPABASE_AUTH_KEY: ${{ secrets.SUPABASE_AUTH_KEY }}
SUPABASE_READING_URL: ${{ secrets.SUPABASE_READING_URL }}
SUPABASE_READING_KEY: ${{ secrets.SUPABASE_READING_KEY }}
SUPABASE_LIBRARY_URL: ${{ secrets.SUPABASE_LIBRARY_URL }}
SUPABASE_LIBRARY_KEY: ${{ secrets.SUPABASE_LIBRARY_KEY }}
SUPABASE_BOOK_REVIEWS_URL: ${{ secrets.SUPABASE_BOOK_REVIEWS_URL }}
SUPABASE_BOOK_REVIEWS_KEY: ${{ secrets.SUPABASE_BOOK_REVIEWS_KEY }}
SUPABASE_CHAPTER_REVIEWS_URL: ${{ secrets.SUPABASE_CHAPTER_REVIEWS_URL }}
SUPABASE_CHAPTER_REVIEWS_KEY: ${{ secrets.SUPABASE_CHAPTER_REVIEWS_KEY }}
SUPABASE_BADGES_URL: ${{ secrets.SUPABASE_BADGES_URL }}
SUPABASE_BADGES_KEY: ${{ secrets.SUPABASE_BADGES_KEY }}
SUPABASE_ANALYTICS_URL: ${{ secrets.SUPABASE_ANALYTICS_URL }}
SUPABASE_ANALYTICS_KEY: ${{ secrets.SUPABASE_ANALYTICS_KEY }}
# Cloudflare R2 Storage
R2_ACCOUNT_ID: ${{ secrets.R2_ACCOUNT_ID }}
R2_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }}
R2_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }}
R2_BUCKET_NAME: ${{ secrets.R2_BUCKET_NAME }}
R2_PUBLIC_URL: ${{ secrets.R2_PUBLIC_URL }}
run: |
docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace \
-e SUPABASE_AUTH_URL="${{ secrets.SUPABASE_AUTH_URL }}" \
-e SUPABASE_AUTH_KEY="${{ secrets.SUPABASE_AUTH_KEY }}" \
-e SUPABASE_READING_URL="${{ secrets.SUPABASE_READING_URL }}" \
-e SUPABASE_READING_KEY="${{ secrets.SUPABASE_READING_KEY }}" \
-e SUPABASE_LIBRARY_URL="${{ secrets.SUPABASE_LIBRARY_URL }}" \
-e SUPABASE_LIBRARY_KEY="${{ secrets.SUPABASE_LIBRARY_KEY }}" \
-e SUPABASE_BOOK_REVIEWS_URL="${{ secrets.SUPABASE_BOOK_REVIEWS_URL }}" \
-e SUPABASE_BOOK_REVIEWS_KEY="${{ secrets.SUPABASE_BOOK_REVIEWS_KEY }}" \
-e SUPABASE_CHAPTER_REVIEWS_URL="${{ secrets.SUPABASE_CHAPTER_REVIEWS_URL }}" \
-e SUPABASE_CHAPTER_REVIEWS_KEY="${{ secrets.SUPABASE_CHAPTER_REVIEWS_KEY }}" \
-e SUPABASE_BADGES_URL="${{ secrets.SUPABASE_BADGES_URL }}" \
-e SUPABASE_BADGES_KEY="${{ secrets.SUPABASE_BADGES_KEY }}" \
-e SUPABASE_ANALYTICS_URL="${{ secrets.SUPABASE_ANALYTICS_URL }}" \
-e SUPABASE_ANALYTICS_KEY="${{ secrets.SUPABASE_ANALYTICS_KEY }}" \
-e R2_ACCOUNT_ID="${{ secrets.R2_ACCOUNT_ID }}" \
-e R2_ACCESS_KEY_ID="${{ secrets.R2_ACCESS_KEY_ID }}" \
-e R2_SECRET_ACCESS_KEY="${{ secrets.R2_SECRET_ACCESS_KEY }}" \
-e R2_BUCKET_NAME="${{ secrets.R2_BUCKET_NAME }}" \
-e R2_PUBLIC_URL="${{ secrets.R2_PUBLIC_URL }}" \
fedora:latest bash -c "
dnf install -y java-21-openjdk rpm-build findutils git &&
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk &&
export PATH=\$JAVA_HOME/bin:\$PATH &&
./gradlew ${{ matrix.build }} --stacktrace
"
- name: Build
if: ${{ matrix.runtime != 'linux-fedora-x64' }}
uses: gradle/gradle-build-action@v2
env:
# 7-Project Supabase Configuration
SUPABASE_AUTH_URL: ${{ secrets.SUPABASE_AUTH_URL }}
SUPABASE_AUTH_KEY: ${{ secrets.SUPABASE_AUTH_KEY }}
SUPABASE_READING_URL: ${{ secrets.SUPABASE_READING_URL }}
SUPABASE_READING_KEY: ${{ secrets.SUPABASE_READING_KEY }}
SUPABASE_LIBRARY_URL: ${{ secrets.SUPABASE_LIBRARY_URL }}
SUPABASE_LIBRARY_KEY: ${{ secrets.SUPABASE_LIBRARY_KEY }}
SUPABASE_BOOK_REVIEWS_URL: ${{ secrets.SUPABASE_BOOK_REVIEWS_URL }}
SUPABASE_BOOK_REVIEWS_KEY: ${{ secrets.SUPABASE_BOOK_REVIEWS_KEY }}
SUPABASE_CHAPTER_REVIEWS_URL: ${{ secrets.SUPABASE_CHAPTER_REVIEWS_URL }}
SUPABASE_CHAPTER_REVIEWS_KEY: ${{ secrets.SUPABASE_CHAPTER_REVIEWS_KEY }}
SUPABASE_BADGES_URL: ${{ secrets.SUPABASE_BADGES_URL }}
SUPABASE_BADGES_KEY: ${{ secrets.SUPABASE_BADGES_KEY }}
SUPABASE_ANALYTICS_URL: ${{ secrets.SUPABASE_ANALYTICS_URL }}
SUPABASE_ANALYTICS_KEY: ${{ secrets.SUPABASE_ANALYTICS_KEY }}
# Cloudflare R2 Storage
R2_ACCOUNT_ID: ${{ secrets.R2_ACCOUNT_ID }}
R2_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }}
R2_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }}
R2_BUCKET_NAME: ${{ secrets.R2_BUCKET_NAME }}
R2_PUBLIC_URL: ${{ secrets.R2_PUBLIC_URL }}
with:
arguments: >
${{ matrix.build }}