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 concurrency: group: ${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: build-apk: uses: ./.github/workflows/build-artifact.yml 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 ::set-output name=date::$(TZ='Asia/Kolkata' date +"%Y.%m.%d-%H.%M.%S") - name: Delete Older Releases uses: nikhilbadyal/ghaction-rm-releases@v0.0.2 with: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} RELEASE_PATTERN: 'Build*' - name: Upload Build Artifact uses: ncipollo/release-action@v1.11.1 with: artifacts: "*-output.apk" token: ${{ secrets.GH_TOKEN }} tag: Build-${{ steps.get-date.outputs.date }} artifactErrorsFailBuild: true generateReleaseNotes: 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.GH_TOKEN }} upload-to-telegram: needs: [ build-apk ] uses: nikhilbadyal/ghactions/.github/workflows/telegram-uploader.yml@main if: ${{ inputs.TELEGRAM_UPLOAD }} && ${{ inputs.GITHUB_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 }} cleanup: name: GitHub Cleanup if: ${{ inputs.CLEANUP }} needs: [ upload-to-telegram ] uses: ./.github/workflows/github-cleanup.yml secrets: GH_TOKEN: ${{ secrets.GH_TOKEN }}