0f5eee1bdb
* update: GitHub workflow-dispatch * fix: separate app for testing * fix: separate app for testing * fix: separate app for testing * fix: new css for chapter content * fix: separate app for testing * branch: new test branch * Enhancement: added more CSS * build * Enhancement: git build * Fix: git build * merge * Enhancement: added more CSS * dev: update build.yml * dev: update sanitizer * sanitizer: updated sanitizer * dev: update index css * dev: update sanitizer * dev: update sanitizer * sanitizer: update sanitizer * sanitizer: added more allowed tags * filter: fix filters * progress-tracking: initial commit * progress-tracking: implemented tracking * progress-tracking: update tracker * progress-tracking: complete rework * progress-tracking: improvements * sanitizer: update sanitizer * sanitizer: block text-align * sanitizer: update img * sanitizer: reworked * sanitizer: reworked * sanitizer: fixed lazyloaded images * sanitizer: revert sanitizer * sanitizer: remove alt and title from images * sanitizer: revert other changes * sanitizer: fix * sanitizer: update
106 lines
3.5 KiB
YAML
106 lines
3.5 KiB
YAML
name: Build
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
jobs:
|
|
build-android:
|
|
name: Build App
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Clone Repository (Latest)
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '20'
|
|
|
|
- name: Cache npm & node modules
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
~/.npm
|
|
node_modules
|
|
key: ${{ runner.os }}-cache-npm-${{ hashFiles('**/package-lock.json') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-cache-npm-
|
|
|
|
- name: Install Dependencies
|
|
run: |
|
|
npm install
|
|
|
|
- name: Create .env
|
|
run: |
|
|
cat > .env << EOF
|
|
MYANIMELIST_CLIENT_ID=${{ vars.MYANIMELIST_CLIENT_ID }}
|
|
ANILIST_CLIENT_ID=${{ vars.ANILIST_CLIENT_ID }}
|
|
GIT_HASH=$(git rev-parse --short HEAD)
|
|
RELEASE_DATE=$(date --utc +'%d/%m/%y %I:%M %p %Z')
|
|
BUILD_TYPE=Github Action
|
|
EOF
|
|
|
|
- name: Cache Gradle Wrapper
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/.gradle/wrapper
|
|
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
|
|
|
|
- name: Cache Gradle Dependencies
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/.gradle/caches
|
|
key: ${{ runner.os }}-gradle-caches-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-gradle-caches-
|
|
|
|
- name: Cache build intermediates
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
android/app/build/generated
|
|
android/app/build/intermediates
|
|
android/app/build/tmp
|
|
android/.gradle
|
|
key: ${{ runner.os }}-build-${{ hashFiles('package-lock.json') }}
|
|
|
|
- name: Make Gradlew Executable
|
|
run: cd android && chmod +x ./gradlew
|
|
|
|
- name: Build Android Release
|
|
run: |
|
|
cd android && ./gradlew assembleRelease --no-daemon
|
|
mv app/build/outputs/apk/release/app-release.apk app/build/outputs/apk/release/LNReader.apk
|
|
|
|
- name: Set Env
|
|
run: |
|
|
set -x
|
|
echo "COMMIT_COUNT=$(git rev-list --count HEAD)" >> $GITHUB_ENV
|
|
echo "COMMIT_ID=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
|
|
|
|
- name: Upload Artifact
|
|
env:
|
|
COMMIT_COUNT: ${{ env.COMMIT_COUNT }}
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: LNReader-r${{ env.COMMIT_COUNT }}
|
|
path: android/app/build/outputs/apk/release/LNReader.apk
|
|
|
|
- name: Build Custom APK
|
|
env:
|
|
COMMIT_COUNT: ${{ env.COMMIT_COUNT }}
|
|
COMMIT_ID: ${{ env.COMMIT_ID }}
|
|
run: |
|
|
sed -i 's/LNReader/LNReader-r${{ env.COMMIT_COUNT }}(${{ env.COMMIT_ID }})/g' android/app/src/main/res/values/strings.xml
|
|
cd android && ./gradlew assembleRelease --no-daemon -PcustomAppId=com.rajarsheechatterjee.LNReader.commit_${{ env.COMMIT_ID }}
|
|
mv app/build/outputs/apk/release/app-release.apk app/build/outputs/apk/release/LNReader-r${{ env.COMMIT_COUNT }}\(${{ env.COMMIT_ID }}\)-customID.apk
|
|
|
|
- name: Upload Custom APK
|
|
env:
|
|
COMMIT_COUNT: ${{ env.COMMIT_COUNT }}
|
|
COMMIT_ID: ${{ env.COMMIT_ID }}
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: LNReader-r${{ env.COMMIT_COUNT }}(${{ env.COMMIT_ID }})-customID
|
|
path: android/app/build/outputs/apk/release/LNReader-r${{ env.COMMIT_COUNT }}(${{ env.COMMIT_ID }})-customID.apk
|