mirror of
https://github.com/sotam0316/docker-py-revanced.git
synced 2026-04-25 11:58:37 +09:00
227 lines
6.9 KiB
YAML
227 lines
6.9 KiB
YAML
name: Build & Release
|
|
env:
|
|
DOCKER_BUILDKIT: 1
|
|
COMPOSE_DOCKER_CLI_BUILD: 1
|
|
HAVE_TELEGRAM_API_ID: ${{ secrets.TELEGRAM_API_ID != '' }}
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
GITHUB_UPLOAD:
|
|
description: "Upload to GitHub"
|
|
required: false
|
|
type: boolean
|
|
default: true
|
|
TELEGRAM_NO_ROOT_UPLOAD:
|
|
description: "Upload Non Rooted APKs to Telegram"
|
|
required: false
|
|
type: boolean
|
|
default: false
|
|
TELEGRAM_ROOT_UPLOAD:
|
|
description: "Upload Magisk Module from nikhilbadyal/revanced-magisk-module to Telegram"
|
|
required: false
|
|
type: boolean
|
|
default: false
|
|
APPRISE_NOTIFY:
|
|
description: "Use Apprise to Notify"
|
|
required: false
|
|
type: boolean
|
|
default: false
|
|
VIRUSTOTAL_SCAN:
|
|
description: "Scan apks with VirusTotal"
|
|
required: false
|
|
type: boolean
|
|
default: false
|
|
CLEANUP:
|
|
description: "Clear GitHub(Useful if Telegram upload is enabled)"
|
|
required: false
|
|
type: boolean
|
|
default: false
|
|
COMMIT_CHANGELOG:
|
|
description: "Update Changelog"
|
|
type: boolean
|
|
required: false
|
|
default: true
|
|
DEBUG_ENABLED:
|
|
type: boolean
|
|
description: 'Run the build with tmate debugging enabled.'
|
|
required: false
|
|
default: false
|
|
PREFERRED_PATCH_APPS:
|
|
description: "Apps to be patched. Overrides any env set"
|
|
required: false
|
|
type: string
|
|
workflow_dispatch:
|
|
inputs:
|
|
GITHUB_UPLOAD:
|
|
description: "Upload to GitHub"
|
|
required: false
|
|
type: boolean
|
|
default: true
|
|
TELEGRAM_NO_ROOT_UPLOAD:
|
|
description: "Upload Non Rooted APKs to Telegram"
|
|
required: false
|
|
type: boolean
|
|
default: false
|
|
TELEGRAM_ROOT_UPLOAD:
|
|
description: "Upload Magisk Module from nikhilbadyal/revanced-magisk-module to Telegram"
|
|
required: false
|
|
type: boolean
|
|
default: false
|
|
APPRISE_NOTIFY:
|
|
description: "Use Apprise to Notify"
|
|
required: false
|
|
type: boolean
|
|
default: false
|
|
VIRUSTOTAL_SCAN:
|
|
description: "Scan apks with VirusTotal"
|
|
required: false
|
|
type: boolean
|
|
default: false
|
|
CLEANUP:
|
|
description: "Clear GitHub(Useful if Telegram upload is enabled)"
|
|
required: false
|
|
type: boolean
|
|
default: false
|
|
COMMIT_CHANGELOG:
|
|
description: "Update Changelog"
|
|
type: boolean
|
|
required: false
|
|
default: true
|
|
DEBUG_ENABLED:
|
|
type: boolean
|
|
description: 'Run the build with tmate debugging enabled.'
|
|
required: false
|
|
default: false
|
|
PREFERRED_PATCH_APPS:
|
|
description: "Apps to be patched. Overrides any env set"
|
|
required: false
|
|
type: string
|
|
|
|
concurrency:
|
|
group: ${{ github.head_ref || github.run_id }}
|
|
cancel-in-progress: true
|
|
jobs:
|
|
build-apk:
|
|
uses: ./.github/workflows/build-artifact.yml
|
|
with:
|
|
COMMIT_CHANGELOG: ${{ inputs.COMMIT_CHANGELOG }}
|
|
DEBUG_ENABLED: ${{ inputs.DEBUG_ENABLED }}
|
|
PREFERRED_PATCH_APPS: ${{ inputs.PREFERRED_PATCH_APPS }}
|
|
secrets:
|
|
ENVS: ${{ secrets.ENVS }}
|
|
REDDIT_CLIENT_ID: ${{ secrets.REDDIT_CLIENT_ID }}
|
|
|
|
upload-to-github:
|
|
name: GitHub Upload
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 30
|
|
needs: build-apk
|
|
if: inputs.GITHUB_UPLOAD
|
|
|
|
steps:
|
|
- name: Download Already Built APKs
|
|
uses: actions/download-artifact@main
|
|
with:
|
|
name: Built-APKs
|
|
- name: Get Date
|
|
id: get-date
|
|
run: |
|
|
echo "date=$(TZ='Asia/Kolkata' date +"%Y.%m.%d-%H.%M.%S")" >> $GITHUB_OUTPUT
|
|
|
|
- name: Delete Older Releases
|
|
uses: nikhilbadyal/ghaction-rm-releases@v0.0.5
|
|
with:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
RELEASE_PATTERN: "Build*"
|
|
|
|
- name: Upload Build Artifact
|
|
uses: ncipollo/release-action@main
|
|
with:
|
|
artifacts: "*-output.apk"
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
tag: Build-${{ steps.get-date.outputs.date }}
|
|
artifactErrorsFailBuild: true
|
|
|
|
- name: Sleep for 10 seconds
|
|
run: |
|
|
sleep 10
|
|
|
|
virustotal-scan:
|
|
needs: [ upload-to-github ]
|
|
uses: nikhilbadyal/ghactions/.github/workflows/virustotal-scan.yml@main
|
|
with:
|
|
FILES: |
|
|
.apk$
|
|
request_rate: 4
|
|
if: inputs.VIRUSTOTAL_SCAN
|
|
secrets:
|
|
VT_API_KEY: ${{ secrets.VT_API_KEY }}
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
upload-to-telegram:
|
|
needs: [ upload-to-github ]
|
|
uses: nikhilbadyal/ghactions/.github/workflows/telegram-uploader.yml@main
|
|
if: inputs.TELEGRAM_NO_ROOT_UPLOAD
|
|
secrets:
|
|
TELEGRAM_API_ID: ${{ secrets.TELEGRAM_API_ID }}
|
|
TELEGRAM_API_HASH: ${{ secrets.TELEGRAM_API_HASH }}
|
|
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
|
|
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
|
|
TELEGRAM_STICKER_ID: ${{ secrets.TELEGRAM_STICKER_ID }}
|
|
MESSAGE: ${{ secrets.MESSAGE_NON_ROOT }}
|
|
|
|
upload-to-telegram-root:
|
|
needs: [ upload-to-telegram ]
|
|
uses: nikhilbadyal/ghactions/.github/workflows/telegram-uploader.yml@main
|
|
if: inputs.TELEGRAM_ROOT_UPLOAD
|
|
secrets:
|
|
TELEGRAM_API_ID: ${{ secrets.TELEGRAM_API_ID }}
|
|
TELEGRAM_API_HASH: ${{ secrets.TELEGRAM_API_HASH }}
|
|
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
|
|
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
|
|
DOWNLOAD_GITHUB_REPOSITORY: ${{ secrets.ROOT_DOWNLOAD_GITHUB_REPOSITORY }}
|
|
MESSAGE: ${{ secrets.MESSAGE_ROOT }}
|
|
|
|
apprise-notifier:
|
|
needs: build-apk
|
|
name: Apprise Notifier
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 30
|
|
if: inputs.APPRISE_NOTIFY
|
|
|
|
steps:
|
|
- name: Download Already Built APKs
|
|
uses: actions/download-artifact@main
|
|
with:
|
|
name: Built-APKs
|
|
|
|
- name: Find all built apks
|
|
id: ff
|
|
run: |
|
|
apk_list=""
|
|
for filename in $(find . -name "*-output.apk" -type f); do
|
|
apk_list="$apk_list,$filename"
|
|
done
|
|
apk_list=${apk_list:1}
|
|
echo "apks=$apk_list" >> "$GITHUB_OUTPUT"
|
|
is_present=$([ -n "${{ secrets.APPRISE_URL }}" ] && echo true || echo false );
|
|
echo "has_apprise_url=$is_present" >> $GITHUB_OUTPUT
|
|
- name: Print files
|
|
run: echo "${{ steps.ff.outputs.apks }} ${{ steps.ff.outputs.has_apprise_url }}"
|
|
|
|
- name: Upload to Telegram
|
|
uses: nikhilbadyal/ghaction-apprise@main
|
|
with:
|
|
APPRISE_URL: ${{ secrets.APPRISE_URL }}
|
|
APPRISE_NOTIFICATION_BODY: ${{ secrets.APPRISE_NOTIFICATION_BODY }}
|
|
APPRISE_NOTIFICATION_TITLE: ${{ secrets.APPRISE_NOTIFICATION_TITLE }}
|
|
APPRISE_ATTACHMENTS: ${{ steps.ff.outputs.apks }}
|
|
|
|
cleanup:
|
|
name: GitHub Cleanup
|
|
if: inputs.CLEANUP
|
|
needs: [ upload-to-telegram ]
|
|
uses: ./.github/workflows/github-cleanup.yml
|
|
secrets:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|