Skip to content

Build & Release

Build & Release #25

Workflow file for this run

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 }}