73 lines
2 KiB
YAML
73 lines
2 KiB
YAML
name: Publish Release
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- 'release'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
publish:
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
ref: release
|
|
path: src
|
|
|
|
- name: Check target version
|
|
id: version
|
|
run: |
|
|
cd $GITHUB_WORKSPACE/src
|
|
version=$(cat app/build.gradle.kts | grep -E 'versionName = "' | cut -d \" -f 2)
|
|
version="v$version"
|
|
if git show-ref --tags --quiet --verify -- "refs/tags/$version" >/dev/null; then
|
|
echo "Git tag $version already exists, failing to publish";
|
|
exit 1
|
|
else
|
|
echo "::set-output name=release_tag::$version"
|
|
fi
|
|
|
|
- name: Setup Android SDK
|
|
uses: android-actions/setup-android@v2
|
|
|
|
- name: Setup JDK 11
|
|
uses: actions/setup-java@v2
|
|
with:
|
|
java-version: 11
|
|
distribution: zulu
|
|
cache: gradle
|
|
|
|
- name: Build Manager
|
|
env:
|
|
SIGNING_KEY_ALIAS: ${{ secrets.keyAlias }}
|
|
SIGNING_KEY_PASSWORD: ${{ secrets.keyPassword }}
|
|
SIGNING_STORE_PASSWORD: ${{ secrets.keystorePassword }}
|
|
run: |
|
|
cd $GITHUB_WORKSPACE/src
|
|
echo "${{ secrets.keystore }}" | base64 -d > ../../release.keystore
|
|
|
|
chmod +x gradlew
|
|
./gradlew :app:packageRelease
|
|
|
|
rm ../../release.keystore
|
|
|
|
- name: Release
|
|
run: |
|
|
cd $GITHUB_WORKSPACE/src
|
|
git config --local user.email "actions@github.com"
|
|
git config --local user.name "GitHub Actions"
|
|
|
|
tag="${{ steps.version.outputs.release_tag }}"
|
|
git tag "$tag"
|
|
git push origin "$tag"
|
|
|
|
apk_file="aliucord-manager-$tag.apk"
|
|
mv -T ./app/build/outputs/apk/release/app-release.apk "../$apk_file"
|
|
|
|
gh release create "$tag" \
|
|
--title "Aliucord Manager $tag" \
|
|
"../$apk_name"
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|