Skip to content

fix: improve intent handling in MainActivity for sharing URIs #18

fix: improve intent handling in MainActivity for sharing URIs

fix: improve intent handling in MainActivity for sharing URIs #18

Workflow file for this run

name: Build Manager
on:
push:
tags: [ "*" ]
branches: [ "main" ]
paths:
- '.github/workflows/build.yml'
- 'app/**'
- 'apd/**'
- 'build.gradle.kts'
- 'gradle/libs.versions.toml'
pull_request:
branches: [ "main" ]
paths:
- '.github/workflows/build.yml'
- 'app/**'
- 'apd/**'
- 'build.gradle.kts'
- 'gradle/libs.versions.toml'
workflow_call:
workflow_dispatch:
jobs:
build-manager:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Generate version
id: parse_version
run: |
COMMIT_NUM=$(git rev-list --count HEAD)
VERSION=$(echo "$COMMIT_NUM + 200 + 10000" | bc)
echo "Generated Version: $VERSION"
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
- name: Setup Java
uses: actions/setup-java@v5
with:
distribution: jetbrains
java-version: 21
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v5
- name: Setup Android SDK
uses: android-actions/setup-android@v3
with:
packages: 'platform-tools build-tools;36.1.0 ndk;29.0.14206865'
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: '3.11'
- name: Build with Gradle
run: |
echo 'org.gradle.parallel=true' >> gradle.properties
echo 'org.gradle.vfs.watch=true' >> gradle.properties
echo 'org.gradle.jvmargs=-Xmx2048m' >> gradle.properties
echo 'android.native.buildOutput=verbose' >> gradle.properties
sed -i 's/org.gradle.configuration-cache=true//g' gradle.properties
export ANDROID_NDK_HOME="${ANDROID_SDK_ROOT}/ndk/29.0.14206865"
export ANDROID_NDK_ROOT="${ANDROID_SDK_ROOT}/ndk/29.0.14206865"
./gradlew clean assembleDebug assembleRelease
echo "BUILD_TOOLS_VERSION=36.1.0" >> $GITHUB_ENV
- name: Sign Release
env:
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
BUILD_TOOLS_VERSION: ${{ env.BUILD_TOOLS_VERSION }}
if: ${{ env.SIGNING_KEY != '' }}
continue-on-error: true
uses: kevin-david/zipalign-sign-android-release@v2
id: sign_app
with:
releaseDirectory: app/build/outputs/apk/release
signingKeyBase64: ${{ secrets.SIGNING_KEY }}
alias: ${{ secrets.ALIAS }}
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
keyPassword: ${{ secrets.KEY_PASSWORD }}
zipAlign: true
- name: Sign Debug APK
env:
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
BUILD_TOOLS_VERSION: ${{ env.BUILD_TOOLS_VERSION }}
if: ${{ env.SIGNING_KEY != '' }}
continue-on-error: true
uses: kevin-david/zipalign-sign-android-release@v2
id: sign_debug_app
with:
releaseDirectory: app/build/outputs/apk/debug
signingKeyBase64: ${{ secrets.SIGNING_KEY }}
alias: ${{ secrets.ALIAS }}
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
keyPassword: ${{ secrets.KEY_PASSWORD }}
zipAlign: true
- name: Upload mappings
uses: actions/upload-artifact@v6
with:
name: "mappings"
path: "app/build/outputs/mapping/release/"
- name: Upload build artifact
env:
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
if: ${{ env.SIGNING_KEY != '' }}
uses: actions/upload-artifact@v6
with:
name: IcePatch
path: |
${{ steps.sign_app.outputs.signedReleaseFile }}
${{ steps.sign_debug_app.outputs.signedReleaseFile }}
- name: Post to channel (apbot)
if: ${{ github.event_name != 'pull_request' && github.ref == 'refs/heads/main' && github.ref_type != 'tag' }}
env:
BOT_TOKEN: ${{ secrets.BOT_TOKEN }}
SESSION_STRING: ${{ secrets.SESSION_STRING }}
CHAT_ID: ${{ vars.CHAT_ID }}
MESSAGE_THREAD_ID: ${{ vars.MESSAGE_THREAD_ID }}
COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
COMMIT_URL: ${{ github.event.head_commit.url }}
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
TITLE: IcePatch
VERSION: ${{ steps.parse_version.outputs.VERSION }}
BRANCH: ${{ github.ref_name }}
run: |
if [ -z "$BOT_TOKEN" ] || [ -z "$CHAT_ID" ]; then
echo "BOT_TOKEN/CHAT_ID not set, skipping."
exit 0
fi
python3 -m pip install --upgrade pip
python3 -m pip install telethon==1.34.0
RELEASE_APK="${{ steps.sign_app.outputs.signedReleaseFile }}"
DEBUG_APK="${{ steps.sign_debug_app.outputs.signedReleaseFile }}"
if [ -f "$RELEASE_APK" ] && [ -f "$DEBUG_APK" ]; then
python3 scripts/apbot.py "$RELEASE_APK" "$DEBUG_APK"
fi
- name: Release apk
env:
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
if: ${{ env.SIGNING_KEY != '' && github.ref_type == 'tag' }}
continue-on-error: true
uses: ncipollo/release-action@v1
with:
token: ${{ github.token }}
tag: ${{ steps.parse_version.outputs.VERSION }}
artifacts: ${{steps.sign_app.outputs.signedReleaseFile}},${{steps.sign_app.outputs.signedReleaseFile}}.sig
generateReleaseNotes: true
makeLatest: true
replacesArtifacts: true