feat: release ci

This commit is contained in:
Diamond 2022-12-20 15:40:00 -08:00
parent 2bc8d1e532
commit 952779acf1
No known key found for this signature in database
GPG key ID: DCBE5952BB3B6420
3 changed files with 88 additions and 76 deletions

73
.github/workflows/release.yml vendored Normal file
View file

@ -0,0 +1,73 @@
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 }}

View file

@ -33,10 +33,25 @@ android {
buildConfigField("boolean", "GIT_LOCAL_CHANGES", "${gitHasLocalChanges()}")
}
signingConfigs {
create("release") {
enableV1Signing = true
enableV2Signing = true
enableV3Signing = true
enableV4Signing = true
keyAlias = System.getenv("SIGNING_KEY_ALIAS")
keyPassword = System.getenv("SIGNING_KEY_PASSWORD")
storeFile = System.getenv("SIGNING_STORE_FILE")?.let { File(it) }
storePassword = System.getenv("SIGNING_STORE_PASSWORD")
}
}
buildTypes {
release {
isMinifyEnabled = true
isShrinkResources = true
isCrunchPngs = true
signingConfig = signingConfigs.getByName("release")
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}

View file

@ -1,76 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Менеджер Алиюкорда</string>
<string name="app_description">A modification for the Discord Android App</string>
<string name="aliucord">Алиюкорд</string>
<string name="github">GitHub</string>
<string name="support_server">Support Server</string>
<string name="commits">Commits</string>
<string name="team">Team</string>
<string name="website">Website</string>
<string name="installer">Installer</string>
<string name="action_retry">Повторить</string>
<string name="action_apply">Применить</string>
<string name="action_confirm">Подтвердить</string>
<string name="action_dismiss">Скрыть</string>
<string name="action_install">Установить</string>
<string name="action_reinstall">Переустановить</string>
<string name="action_update">Обновить</string>
<string name="action_clear">Стереть</string>
<string name="action_launch">Запустить</string>
<string name="action_uninstall">Удалить</string>
<string name="action_close">Закрыть</string>
<string name="action_open_settings">Открыть настройки</string>
<string name="action_search">Поиск</string>
<string name="action_loading_trailing">Loading…</string>
<string name="permissions_grant_title">Grant Permissions</string>
<string name="permissions_grant_body">In order for Aliucord Manager to work properly, you need to grant file permissions. Since shared data in stored in ~/Aliucord, permissions are required in order for manager to function.</string>
<string name="install_success">Successfully installed Aliucord</string>
<string name="install_aborted">Aborted Aliucord installation</string>
<string name="install_failed">Установка завершилась с ошибкой: %o</string>
<string name="launch_aliucord_fail">Failed to launch Aliucord</string>
<string name="settings_theme">Тема</string>
<string name="settings_advanced">Advanced</string>
<string name="settings_appearance">Appearance</string>
<string name="settings_developer_options">Developer options</string>
<string name="setting_clear_cache">Clear cache</string>
<string name="setting_dex_location">Dex location</string>
<string name="setting_use_dex_from_storage">Use Injector.dex from storage</string>
<string name="setting_replace_icon">Replace app icon</string>
<string name="setting_replace_icon_desc">Uses the Aliucord variant as opposed to Discord\'s own icon</string>
<string name="setting_debuggable">Debuggable</string>
<string name="setting_debuggable_desc">Enable debuggable flag</string>
<string name="setting_theme_desc">Manager appearance</string>
<string name="setting_app_name">App Name</string>
<string name="setting_package_name">Package Name</string>
<string name="setting_target_version">Версия загрузки</string>
<string name="setting_dynamic_color">Dynamic color</string>
<string name="theme_system">Системная</string>
<string name="theme_dark">Тёмная</string>
<string name="theme_light">Светлая</string>
<string name="plugins_title">Плагины</string>
<string name="plugins_view_changelog">Открыть список изменений для %1$s</string>
<string name="plugins_delete_plugin_body">Are you sure you want to uninstall this plugin?</string>
<string name="plugins_search">Поиск плагинов</string>
<string name="plugins_none_installed">No plugins installed!</string>
<string name="plugins_changelog_media">Changelog Media</string>
<string name="plugins_plugin_title">§plugin§%1$s§ v%2$s</string>
<string name="navigation_back">Назад</string>
<string name="navigation_home">Главная</string>
<string name="navigation_about">About</string>
<string name="navigation_settings">Настройки</string>
<string name="contributors">Contributors</string>
<string name="contributors_contributions">%o contributions</string>
<string name="contributors_contributor">Contributor</string>
<string name="contributors_commit_title">§name§%1$s§ §middle§создал§ §commit§%2$s§</string>
<string name="selector_download_apk">Download APK</string>
<string name="selector_select_apk">Select APK</string>
<string name="selector_download_method">Download Method</string>
<string name="network_load_fail">Ошибка загрузки</string>
<string name="version_supported">Текущая версия:</string>
<string name="version_installed">Установленная версия:</string>
<string name="version_stable">Stable</string>
<string name="version_beta">Beta</string>
<string name="version_alpha">Alpha</string>
<string name="version_load_fail">Failed to retrieve version</string>
</resources>