mirror of
https://github.com/jellyfin/jellyfin-android.git
synced 2026-10-22 15:51:57 +02:00
80 lines
3.4 KiB
YAML
80 lines
3.4 KiB
YAML
name: App Publish
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- v*
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-20.04
|
|
if: ${{ github.repository == 'jellyfin/jellyfin-android' }}
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v2
|
|
- name: Setup Java
|
|
uses: actions/setup-java@v2
|
|
with:
|
|
distribution: adopt
|
|
java-version: 11
|
|
- name: Set JELLYFIN_VERSION
|
|
run: echo "JELLYFIN_VERSION=$(echo ${GITHUB_REF#refs/tags/v} | tr / -)" >> $GITHUB_ENV
|
|
- name: Assemble release APKs
|
|
run: ./gradlew --no-daemon --info assemble versionTxt
|
|
- name: Sign libre APK
|
|
id: libreSign
|
|
uses: r0adkll/sign-android-release@v1
|
|
with:
|
|
releaseDirectory: app/build/outputs/apk/libre/release
|
|
signingKeyBase64: ${{ secrets.KEYSTORE }}
|
|
keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }}
|
|
alias: ${{ secrets.KEY_ALIAS }}
|
|
keyPassword: ${{ secrets.KEY_PASSWORD }}
|
|
- name: Sign proprietary APK
|
|
id: proprietarySign
|
|
uses: r0adkll/sign-android-release@v1
|
|
with:
|
|
releaseDirectory: app/build/outputs/apk/proprietary/release
|
|
signingKeyBase64: ${{ secrets.KEYSTORE }}
|
|
keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }}
|
|
alias: ${{ secrets.KEY_ALIAS }}
|
|
keyPassword: ${{ secrets.KEY_PASSWORD }}
|
|
- name: Split APK release types
|
|
run: |
|
|
mkdir -p build/jellyfin-publish
|
|
mv app/build/outputs/apk/*/*/jellyfin-android-*-libre-debug.apk build/jellyfin-publish/
|
|
mv app/build/outputs/apk/*/*/jellyfin-android-*-proprietary-debug.apk build/jellyfin-publish/
|
|
mv app/build/outputs/apk/*/*/jellyfin-android-*-libre-release-unsigned.apk build/jellyfin-publish/
|
|
mv app/build/outputs/apk/*/*/jellyfin-android-*-proprietary-release-unsigned.apk build/jellyfin-publish/
|
|
mv ${{ steps.libreSign.outputs.signedReleaseFile }} build/jellyfin-publish/jellyfin-android-v${{ env.JELLYFIN_VERSION }}-libre-release.apk
|
|
mv ${{ steps.proprietarySign.outputs.signedReleaseFile }} build/jellyfin-publish/jellyfin-android-v${{ env.JELLYFIN_VERSION }}-proprietary-release.apk
|
|
mv app/build/version.txt build/jellyfin-publish/
|
|
- name: Upload release artifacts
|
|
uses: alexellis/upload-assets@0.3.0
|
|
env:
|
|
GITHUB_TOKEN: ${{ github.token }}
|
|
with:
|
|
asset_paths: '["build/jellyfin-publish/*"]'
|
|
- name: Upload to repo.jellyfin.org
|
|
uses: burnett01/rsync-deployments@4.1
|
|
with:
|
|
switches: -vrptz
|
|
path: build/jellyfin-publish/
|
|
remote_path: /srv/repository/releases/client/android/versions/v${{ env.JELLYFIN_VERSION }}
|
|
remote_host: ${{ secrets.DEPLOY_HOST }}
|
|
remote_user: ${{ secrets.DEPLOY_USER }}
|
|
remote_key: ${{ secrets.DEPLOY_KEY }}
|
|
- name: Update repo.jellyfin.org symlinks
|
|
uses: appleboy/ssh-action@v0.1.4
|
|
with:
|
|
host: ${{ secrets.DEPLOY_HOST }}
|
|
username: ${{ secrets.DEPLOY_USER }}
|
|
key: ${{ secrets.DEPLOY_KEY }}
|
|
envs: JELLYFIN_VERSION
|
|
script_stop: true
|
|
script: |
|
|
cd /srv/repository/releases/client/android;
|
|
rm -rf *.apk version.txt;
|
|
ln -s versions/v${JELLYFIN_VERSION}/jellyfin-android-v${JELLYFIN_VERSION}-*.apk .;
|
|
ln -s versions/v${JELLYFIN_VERSION}/version.txt .;
|