mirror of
https://github.com/JustinZeus/Wholphin.git
synced 2026-07-08 15:50:16 +02:00
## Description Adds a variant of Wholphin targeted for the Amazon Fire TV App store. ### Related issues See #1192 for more details ### Testing Emulator ## Screenshots N/A ## AI or LLM usage None
80 lines
2.8 KiB
YAML
80 lines
2.8 KiB
YAML
name: Create release
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- v*
|
|
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
env:
|
|
APK_SHORT_NAME: Wholphin.apk
|
|
GRADLE_OPTS: "-Dorg.gradle.jvmargs='-Xmx4g -XX:MaxMetaspaceSize=512m'"
|
|
TAG_NAME: ${{ github.ref_name }}
|
|
|
|
jobs:
|
|
publish:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: write
|
|
steps:
|
|
- name: Checkout the code
|
|
uses: actions/checkout@v6
|
|
with:
|
|
fetch-depth: 0 # Need the tags to build
|
|
- name: Setup
|
|
uses: ./.github/actions/setup
|
|
- name: Build app
|
|
id: buildapp
|
|
env:
|
|
KEY_ALIAS: "${{ secrets.KEY_ALIAS }}"
|
|
KEY_PASSWORD: "${{ secrets.KEY_PASSWORD }}"
|
|
KEY_STORE_PASSWORD: "${{ secrets.KEY_STORE_PASSWORD }}"
|
|
SIGNING_KEY: "${{ secrets.SIGNING_KEY }}"
|
|
ORG_GRADLE_PROJECT_WholphinExtensionsUsername: "${{ secrets.EXTENSIONS_USERNAME }}"
|
|
ORG_GRADLE_PROJECT_WholphinExtensionsPassword: "${{ secrets.EXTENSIONS_PASSWORD }}"
|
|
run: |
|
|
./gradlew clean assembleDefaultRelease bundleAppstoreRelease bundleFiretvRelease --no-daemon
|
|
|
|
- name: Verify signatures
|
|
run: |
|
|
echo "Verify APK signatures"
|
|
find app/build/outputs \( -name '*.apk' -or -name '*.aab' \)
|
|
find app/build/outputs \( -name '*.apk' \) -print0 | xargs -0 -n1 ${{env.ANDROID_SDK_ROOT}}/build-tools/${{ env.BUILD_TOOLS_VERSION }}/apksigner verify --verbose --print-certs
|
|
- name: Copy APK to shorter names
|
|
id: apks
|
|
run: |
|
|
find app/build/outputs/apk -name '*.apk' -print0 |
|
|
while IFS= read -r -d '' line; do
|
|
# Wholphin-default-release-0.2.9-62-g5c12e03-16-arm64-v8a.apk => Wholphin-arm64-v8a.apk
|
|
short_name="$(echo $line | sed -E 's/-default-release-[0-9]+\.[0-9]+\.[0-9]+-[0-9]+-g[a-fA-F0-9]+-[0-9]+//')"
|
|
echo "$line => $short_name"
|
|
cp "$line" "$short_name"
|
|
done
|
|
apks=$(find app/build/outputs/apk -name '*.apk' -print0 | tr '\0' ',' | sed 's/,$//')
|
|
echo "apks=$apks" >> "$GITHUB_OUTPUT"
|
|
|
|
aab=$(find app/build/outputs -name '*.aab')
|
|
echo "aab=$aab" >> "$GITHUB_OUTPUT"
|
|
- name: Checksums
|
|
run: |
|
|
echo "SHA256 checksums:"
|
|
find app/build/outputs \( -name '*.apk' -or -name '*.aab' \) -print0 | xargs -0 sha256sum
|
|
- name: Upload AAB
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
name: AAB
|
|
path: |
|
|
app/build/outputs/bundle/**/*.aab
|
|
compression-level: 0
|
|
- name: Create GitHub release
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
shopt -s globstar
|
|
|
|
gh release create "${{ env.TAG_NAME }}" \
|
|
--latest --title "${{ env.TAG_NAME }}" --verify-tag -n "" --draft \
|
|
app/build/outputs/apk/**/*.apk
|