Skip to content

Merge pull request #63 from roseforljh/release-please--branches--main #255

Merge pull request #63 from roseforljh/release-please--branches--main

Merge pull request #63 from roseforljh/release-please--branches--main #255

name: Release Please
on:
push:
branches:
- main
permissions:
contents: write
pull-requests: write
jobs:
release-please:
runs-on: ubuntu-latest
outputs:
release_created: ${{ steps.release.outputs.release_created }}
tag_name: ${{ steps.release.outputs.tag_name }}
steps:
- uses: google-github-actions/release-please-action@v4
id: release
with:
token: ${{ secrets.GITHUB_TOKEN }}
config-file: release-please-config.json
manifest-file: .release-please-manifest.json
build-release:
needs: release-please
if: ${{ needs.release-please.outputs.release_created }}
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
lfs: true
fetch-depth: 0
- name: set up JDK 17
uses: actions/setup-java@v4
with:
java-version: "17"
distribution: "temurin"
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Decode Keystore
run: |
echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 -d > ${{ github.workspace }}/release.keystore
env:
KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }}
- name: Grant execute permission for gradlew
run: chmod +x ./gradlew
- name: Build with Gradle
run: |
mkdir -p dist
# Build arm64-v8a APK
./gradlew assembleRelease -PabiOnly=arm64-v8a
find app/build/outputs/apk/release -type f -name "*.apk" -exec cp {} dist/ \;
# Build armeabi-v7a APK
rm -f app/build/outputs/apk/release/*.apk
./gradlew assembleRelease -PabiOnly=armeabi-v7a
find app/build/outputs/apk/release -type f -name "*.apk" -exec cp {} dist/ \;
env:
KEYSTORE_PATH: ${{ github.workspace }}/release.keystore
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
VERSION_NAME: ${{ needs.release-please.outputs.tag_name }}
- name: Upload APK Artifact
uses: actions/upload-artifact@v4
with:
name: sing-box-android-apk
path: dist/*.apk
- name: Upload Release Asset
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ needs.release-please.outputs.tag_name }}
files: dist/*.apk
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}