This commit is contained in:
2026-05-20 19:47:33 +10:00
commit dbb6302bd1
313 changed files with 17869 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
name: Build Debug App
on:
push:
pull_request:
workflow_dispatch:
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup JDK 21
uses: actions/setup-java@v4
with:
java-version: 21
distribution: zulu
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
cache-read-only: ${{ github.event_name == 'pull_request' }}
- name: Build with Gradle
run: ./gradlew :app:assembleDebug :app:assembleStaging --stacktrace
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: app
if-no-files-found: error
path: |
app/build/outputs/apk/debug/app-debug.apk
app/build/outputs/apk/staging/app-staging.apk
+32
View File
@@ -0,0 +1,32 @@
name: Sync Crowdin
on:
schedule:
- cron: "0 17 * * 6" # "At 17:00 on Saturday."
workflow_dispatch:
permissions:
contents: write
jobs:
sync-crowdin:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Crowdin
uses: crowdin/github-action@v2
with:
config: crowdin.yml
upload_sources: true
upload_translations: true
download_translations: true
push_translations: true
localization_branch_name: main
create_pull_request: false
commit_message: 'chore(l10n): sync translations'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_ID }}
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_TOKEN }}
+64
View File
@@ -0,0 +1,64 @@
name: Build & Publish Release App
on:
push:
tags: [ "v*.*.*" ]
concurrency:
group: "release"
cancel-in-progress: true
permissions:
contents: write
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup JDK 21
uses: actions/setup-java@v4
with:
java-version: 21
distribution: zulu
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
cache-write-only: true
- name: Build with Gradle
env:
SIGNING_KEY_ALIAS: ${{ secrets.keyAlias }}
SIGNING_KEY_PASSWORD: ${{ secrets.keyPassword }}
SIGNING_STORE_PASSWORD: ${{ secrets.keystorePassword }}
SIGNING_STORE_FILE: ${{ github.workspace }}/release.keystore
RELEASE: true
run: |
echo "${{ secrets.keystore }}" | base64 -d > release.keystore
./gradlew :app:packageRelease --stacktrace
rm release.keystore
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: app
if-no-files-found: error
path: app/build/outputs/apk/release/app-release.apk
- name: Publish Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
tag="${{ github.ref_name }}"
apk_file="radiant-lyrics-manager-$tag.apk"
mv -T ./app/build/outputs/apk/release/app-release.apk "./$apk_file"
gh release create "$tag" \
--title "$tag" \
--generate-notes \
--verify-tag \
--fail-on-no-commits \
"./$apk_file"
+20
View File
@@ -0,0 +1,20 @@
name: "Validate Gradle Wrapper"
on:
workflow_dispatch:
push:
paths:
- gradle/wrapper/**
- gradlew*
pull_request:
paths:
- gradle/wrapper/**
- gradlew*
jobs:
validation:
name: "Validate Authenticity of Gradle Wrapper"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: gradle/actions/wrapper-validation@v4