Files
bitchat-android/.github/workflows/release.yml
T
2025-07-10 00:01:39 +05:30

88 lines
2.1 KiB
YAML

name: Release
on:
workflow_dispatch:
push:
tags:
- 'v*.*.*' # Triggers for tags like v1.0.0
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
- name: Cache Gradle files
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
gradle-${{ runner.os }}-
- name: Grant execute permission for Gradlew
run: chmod +x ./gradlew
- name: Build APK
run: ./gradlew assembleRelease
- name: Rename APK
run: |
mv app/build/outputs/apk/release/app-release-unsigned.apk app/build/outputs/apk/release/bitchat.apk
- name: DEBUG
run: |
set -x
pwd
ls -all
cd app/build/outputs/
ls -all
tree
# Optional: Sign APK (requires secrets)
# - name: Sign APK
# uses: r0adkll/sign-android-release@v1
# with:
# releaseDirectory: app/build/outputs/apk/release
# signingKeyBase64: ${{ secrets.SIGNING_KEY }}
# alias: ${{ secrets.ALIAS }}
# keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
# keyPassword: ${{ secrets.KEY_PASSWORD }}
- name: Upload APK as artifact
uses: actions/upload-artifact@v4
with:
name: app-release-apk
path: app/build/outputs/apk/release/*.apk
release:
needs: build
runs-on: ubuntu-latest
steps:
- name: Download APK artifact
uses: actions/download-artifact@v4
with:
name: app-release-apk
path: .
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
files: bitchat.apk
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}