This repository has been archived by the owner on Jan 4, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 922
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
6cff8ea
commit 7272480
Showing
8 changed files
with
487 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,198 @@ | ||
name: Mieru Plugin Release Build | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
tag: | ||
description: 'Release Tag' | ||
required: true | ||
upload: | ||
description: 'Upload: If want ignore' | ||
required: false | ||
publish: | ||
description: 'Publish: If want ignore' | ||
required: false | ||
play: | ||
description: 'Play: If want ignore' | ||
required: false | ||
jobs: | ||
check: | ||
name: Check Access | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: "Check access" | ||
uses: "lannonbr/repo-permission-check-action@2.0.0" | ||
with: | ||
permission: "write" | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
native: | ||
name: Native Build | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
- name: Fetch Status | ||
run: git submodule status 'plugin/mieru/*' > mieru_status | ||
- name: Mieru Cache | ||
id: cache | ||
uses: actions/cache@v2 | ||
with: | ||
path: | | ||
plugin/mieru/src/main/jniLibs | ||
key: ${{ hashFiles('.github/workflows/*', 'bin/lib/mieru/*', 'mieru_status') }} | ||
- name: Gradle cache | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.gradle | ||
key: gradle-${{ hashFiles('**/*.gradle.kts') }} | ||
- name: Install Golang | ||
uses: actions/setup-go@v2 | ||
if: steps.cache.outputs.cache-hit != 'true' | ||
with: | ||
go-version: 1.18.3 | ||
- name: Native Build | ||
if: steps.cache.outputs.cache-hit != 'true' | ||
run: ./run plugin mieru | ||
build: | ||
name: Gradle Build | ||
runs-on: ubuntu-latest | ||
needs: | ||
- native | ||
- check | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
- name: Fetch Status | ||
run: git submodule status 'plugin/mieru/*' > mieru_status | ||
- name: Mieru Cache | ||
uses: actions/cache@v2 | ||
with: | ||
path: | | ||
plugin/mieru/src/main/jniLibs | ||
key: ${{ hashFiles('.github/workflows/*', 'bin/lib/mieru/*', 'mieru_status') }} | ||
- name: Gradle cache | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.gradle | ||
key: gradle-${{ hashFiles('**/*.gradle.kts') }} | ||
- name: Release Build | ||
env: | ||
SKIP_BUILD: on | ||
BUILD_PLUGIN: mieru | ||
run: | | ||
echo "sdk.dir=${ANDROID_HOME}" > local.properties | ||
echo "ndk.dir=${ANDROID_HOME}/ndk/23.1.7779620" >> local.properties | ||
export LOCAL_PROPERTIES="${{ secrets.LOCAL_PROPERTIES }}" | ||
./run init action library | ||
./gradlew :plugin:mieru:assembleOssRelease | ||
APK=$(find plugin/mieru/build/outputs/apk -name '*arm64-v8a*.apk') | ||
APK=$(dirname $APK) | ||
echo "APK=$APK" >> $GITHUB_ENV | ||
- uses: actions/upload-artifact@v2 | ||
with: | ||
name: APKs | ||
path: ${{ env.APK }} | ||
- uses: actions/upload-artifact@v2 | ||
with: | ||
name: "SHA256-ARM ${{ env.SHA256_ARM }}" | ||
path: ${{ env.SUM_ARM }} | ||
- uses: actions/upload-artifact@v2 | ||
with: | ||
name: "SHA256-ARM64 ${{ env.SHA256_ARM64 }}" | ||
path: ${{ env.SUM_ARM64 }} | ||
- uses: actions/upload-artifact@v2 | ||
with: | ||
name: "SHA256-X64 ${{ env.SHA256_X64 }}" | ||
path: ${{ env.SUM_X64 }} | ||
- uses: actions/upload-artifact@v2 | ||
with: | ||
name: "SHA256-X86 ${{ env.SHA256_X86 }}" | ||
path: ${{ env.SUM_X86 }} | ||
publish: | ||
name: Publish Release | ||
if: github.event.inputs.publish != 'y' | ||
runs-on: ubuntu-latest | ||
needs: build | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
- name: Donwload Artifacts | ||
uses: actions/download-artifact@v2 | ||
with: | ||
name: APKs | ||
path: artifacts | ||
- name: Release | ||
run: | | ||
wget -O ghr.tar.gz https://github.com/tcnksm/ghr/releases/download/v0.13.0/ghr_v0.13.0_linux_amd64.tar.gz | ||
tar -xvf ghr.tar.gz | ||
mv ghr*linux_amd64/ghr . | ||
mkdir apks | ||
find artifacts -name "*.apk" -exec cp {} apks \; | ||
find artifacts -name "*.sha256sum.txt" -exec cp {} apks \; | ||
./ghr -delete -prerelease -t "${{ github.token }}" -n "${{ github.event.inputs.tag }}" "${{ github.event.inputs.tag }}" apks | ||
upload: | ||
name: Upload Release | ||
if: github.event.inputs.upload != 'y' | ||
runs-on: ubuntu-latest | ||
needs: build | ||
steps: | ||
- name: Donwload Artifacts | ||
uses: actions/download-artifact@v2 | ||
with: | ||
name: APKs | ||
path: artifacts | ||
- name: Release | ||
run: | | ||
mkdir apks | ||
find artifacts -name "*.apk" -exec cp {} apks \; | ||
function upload() { | ||
for apk in $@; do | ||
echo ">> Uploading $apk" | ||
curl https://api.telegram.org/bot${{ secrets.TELEGRAM_TOKEN }}/sendDocument \ | ||
-X POST \ | ||
-F chat_id="${{ secrets.TELEGRAM_CHANNEL }}" \ | ||
-F document="@$apk" \ | ||
--silent --show-error --fail >/dev/null & | ||
done | ||
for job in $(jobs -p); do | ||
wait $job || exit 1 | ||
done | ||
} | ||
upload apks/* | ||
play: | ||
name: Publish to Play Store | ||
if: github.event.inputs.play != 'y' | ||
runs-on: ubuntu-latest | ||
needs: | ||
- native | ||
- check | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
- name: Fetch Status | ||
run: git submodule status 'plugin/mieru/*' > mieru_status | ||
- name: Hysteria Cache | ||
uses: actions/cache@v2 | ||
with: | ||
path: | | ||
plugin/mieru/src/main/jniLibs | ||
key: ${{ hashFiles('.github/workflows/*', 'bin/lib/mieru/*', 'mieru_status') }} | ||
- name: Gradle cache | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.gradle | ||
key: gradle-${{ hashFiles('**/*.gradle.kts') }} | ||
- name: Release Build | ||
env: | ||
SKIP_BUILD: on | ||
BUILD_PLUGIN: mieru | ||
run: | | ||
echo "sdk.dir=${ANDROID_HOME}" > local.properties | ||
echo "ndk.dir=${ANDROID_HOME}/ndk/23.1.7779620" >> local.properties | ||
export LOCAL_PROPERTIES="${{ secrets.LOCAL_PROPERTIES }}" | ||
cat > service_account_credentials.json << EOF | ||
${{ secrets.ANDROID_PUBLISHER_CREDENTIALS }}" | ||
EOF | ||
./run init action library | ||
./gradlew :plugin:mieru:publishPlayReleaseBundle |
Oops, something went wrong.