Build & Release #25
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
name: Build & Release | |
env: | |
DOCKER_BUILDKIT: 1 | |
COMPOSE_DOCKER_CLI_BUILD: 1 | |
HAVE_TELEGRAM_API_ID: ${{ secrets.TELEGRAM_API_ID != '' }} | |
on: | |
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 | |
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 | |
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 }} | |
secrets: | |
ENVS: ${{ secrets.ENVS }} | |
REDDIT_CLIENT_ID: ${{ secrets.REDDIT_CLIENT_ID }} | |
upload-to-github: | |
name: GitHub Upload | |
runs-on: ubuntu-latest | |
timeout-minutes: 15 | |
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 | |
curl https://github.com/nikhilbadyal/docker-py-revanced/blob/changelogs/changelog.md > changelog.md | |
- name: Delete Older Releases | |
uses: nikhilbadyal/[email protected] | |
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 }} | |
STICKER_ID: ${{ secrets.STICKER_ID }} | |
CHANGELOG_GITHUB_REPOSITORY: ${{ secrets.CHANGELOG_GITHUB_REPOSITORY }} | |
MESSAGE: ${{ secrets.MESSAGE_NON_ROOT }} | |
SEND_STICKER: ${{ secrets.SEND_STICKER }} | |
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 }} | |
STICKER_ID: ${{ secrets.STICKER_ID }} | |
CHANGELOG_GITHUB_REPOSITORY: ${{ secrets.CHANGELOG_GITHUB_REPOSITORY }} | |
DOWNLOAD_GITHUB_REPOSITORY: ${{ secrets.DOWNLOAD_GITHUB_REPOSITORY }} | |
ASSETS_PATTERN: ${{ secrets.ASSETS_PATTERN }} | |
SEND_MESSAGE: ${{ secrets.SEND_MESSAGE }} | |
MESSAGE: ${{ secrets.MESSAGE_ROOT }} | |
cleanup: | |
name: GitHub Cleanup | |
if: inputs.CLEANUP | |
needs: [ upload-to-telegram ] | |
uses: ./.github/workflows/github-cleanup.yml | |
secrets: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |