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_UPLOAD: description: "Upload 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 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 }} secrets: ENVS: ${{ secrets.ENVS }} upload-to-github: name: GitHub Upload runs-on: ubuntu-latest timeout-minutes: 5 needs: build-apk if: inputs.GITHUB_UPLOAD steps: - name: Download Already Built APKs uses: actions/download-artifact@v3 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/ghaction-rm-releases@v0.0.2 with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} RELEASE_PATTERN: "Build*" - name: Upload Build Artifact uses: ncipollo/release-action@v1.11.2 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_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: github.repository == 'nikhilbadyal/docker-py-revanced' 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 }}