Merge pull request #1017 from weblate/weblate-ytdlnis-strings #1514
This file contains hidden or 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: Android CI | |
| env: | |
| # The name of the main module repository | |
| main_project_module: app | |
| permissions: | |
| contents: write # for deleting/creating a pre-release | |
| on: | |
| push: | |
| branches: [ "main" ] | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: set up JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: 17 | |
| distribution: 'corretto' | |
| cache: 'gradle' | |
| - name: Create base64 jks file | |
| run: echo "${{ secrets.BASE_64_SIGNING_KEY }}" > app/release_keystore.txt | |
| - name: Create jks file | |
| run: base64 -d "app/release_keystore.txt" > app/release_keystore.jks | |
| - name: Create Blank Local Properties FIle | |
| run: touch local.properties | |
| - name: Create Keystore Properties File | |
| run: echo "${{ secrets.LOCAL_PROPERTIES }}" > keystore.properties | |
| - name: Grant execute permission for gradlew | |
| run: chmod +x gradlew | |
| - name: Set current date as env variable | |
| run: echo "date_today=$(date +'%Y-%m-%d')" >> $GITHUB_ENV | |
| # Create APK Release | |
| - name: Build apk release project (APK) | |
| run: ./gradlew assemble --warning-mode all | |
| # Upload Artifact Build | |
| # Noted For Output [main_project_module]/build/outputs/apk/release/ | |
| - name: Find Release arm64 | |
| run: echo "APK_PATH=$(find ${{ env.main_project_module }}/build/outputs/apk/release/ -type f -name '*arm64*.apk')" >> $GITHUB_ENV | |
| - name: Upload APK Release arm64 | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ytdlnis-autogenerated-arm64-v8a-release | |
| path: ${{ env.APK_PATH }} | |
| - name: Find Release armeabiv7 | |
| run: echo "APK_PATH=$(find ${{ env.main_project_module }}/build/outputs/apk/release/ -type f -name '*armeabi*.apk')" >> $GITHUB_ENV | |
| - name: Upload APK Release armeabiv7 | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ytdlnis-autogenerated-armeabi-v7a-release | |
| path: ${{ env.APK_PATH }} | |
| - name: Find Release universal | |
| run: echo "APK_PATH=$(find ${{ env.main_project_module }}/build/outputs/apk/release/ -type f -name '*universal*.apk')" >> $GITHUB_ENV | |
| - name: Upload APK Release universal | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ytdlnis-autogenerated-universal-release | |
| path: ${{ env.APK_PATH }} | |
| - name: Find Release x86 | |
| run: echo "APK_PATH=$(find ${{ env.main_project_module }}/build/outputs/apk/release/ -type f -name '*x86-*.apk')" >> $GITHUB_ENV | |
| - name: Upload APK Release x86 | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ytdlnis-autogenerated-x86-release | |
| path: ${{ env.APK_PATH }} | |
| - name: Find Release x86_64 | |
| run: echo "APK_PATH=$(find ${{ env.main_project_module }}/build/outputs/apk/release/ -type f -name '*x86_64*.apk')" >> $GITHUB_ENV | |
| - name: Upload APK Release x86_64 | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ytdlnis-autogenerated-x86_64-release | |
| path: ${{ env.APK_PATH }} | |
| # Noted For Output [main_project_module]/build/outputs/apk/release/ | |
| - name: Upload APK Release | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: YTDLnis APK release generated | |
| path: ${{ env.main_project_module }}/build/outputs/apk/release/ | |
| # Send Message To Telegram | |
| - name: send telegram message on push or pull | |
| continue-on-error: true | |
| uses: appleboy/telegram-action@master | |
| with: | |
| to: ${{ secrets.TELEGRAM_TO }} | |
| token: ${{ secrets.TELEGRAM_TOKEN }} | |
| message: | | |
| ${{ github.actor }} created commit: | |
| Commit message: ${{ github.event.commits[0].message }} | |
| Repository: ${{ github.repository }} | |
| See changes: https://github.com/${{ github.repository }}/commit/${{github.sha}} | |
| # # Start Creating Pre-Release | |
| # - name: Start Pre-Release | |
| # uses: actions/checkout@v4 | |
| # with: | |
| # persist-credentials: false | |
| # # returns null if no pre-release exists | |
| # - name: Get Commit SHA of Latest Pre-release | |
| # run: | | |
| # # Install Required Packages | |
| # sudo apt-get updated | |
| # sudo apt-get install -y curl jq | |
| # echo "COMMIT_SHA_TAG=$(jq -r 'map(select(.prerelease)) | first | .tag_name' <<< $(curl -s https://api.github.com/repos/deniscerri/ytdlnis/releases))" >> $GITHUB_ENV | |
| # | |
| # - run: gh release delete ${{ env.COMMIT_SHA_TAG }} --cleanup-tag | |
| # if: (env.COMMIT_SHA_TAG != 'null' && contains('Auto-Release', env.COMMIT_SHA_TAG)) | |
| # env: | |
| # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| # | |
| # # Make sure that an old ci that still runs on main doesn't recreate a prerelease | |
| # - name: Check Pullable Commits | |
| # id: check_commits | |
| # run: | | |
| # git fetch | |
| # CHANGES=$(git rev-list HEAD..origin/main --count) | |
| # echo "CHANGES=$CHANGES" >> $GITHUB_ENV | |
| # | |
| # - name: Get Release Name | |
| # id: get_last_release_tag | |
| # run: | | |
| # LASTRELEASE=$(curl "https://api.github.com/repos/deniscerri/ytdlnis/releases/latest") | |
| # ISPRERELEASE=$(echo $LASTRELEASE | jq -r '.prerelease') | |
| # NEWRELEASENAME=$(echo $LASTRELEASE | jq -r '.name') | |
| # if ! $ISPRERELEASE; then NEWRELEASENAME=$(echo $NEWRELEASENAME'.1'); else NEWRELEASENAME=$(echo $NEWRELEASENAME | sed -E 's/(.*\.)([0-9]+)$/echo "\1$((\2 + 1))"/e'); fi | |
| # echo "NEWRELEASENAME=$NEWRELEASENAME" >> $GITHUB_ENV | |
| # | |
| # - name: Get last commit SHA | |
| # id: last_commit | |
| # run: echo "COMMIT_SHA=$(git rev-parse HEAD | cut -c 1-8)" >> $GITHUB_ENV | |
| # | |
| # - name: Get commmit date | |
| # id: commit_date | |
| # run: echo "COMMIT_DATE=$(git show -s --date=format:'%Y%m%d' --format=%cd HEAD)" >> $GITHUB_ENV | |
| # | |
| # | |
| # # Create a new pre-release, the other upload_binaries.yml will upload the binaries | |
| # # to this pre-release. | |
| # - name: Create Prerelease | |
| # if: github.ref.name == 'main' && env.CHANGES == '0' | |
| # uses: softprops/action-gh-release@4634c16e79c963813287e889244c50009e7f0981 | |
| # with: | |
| # name: ${{ env.NEWRELEASENAME }} [Auto-Release] [${{ env.COMMIT_DATE }}-${{ env.COMMIT_SHA }}] | |
| # tag_name: v${{ env.NEWRELEASENAME }}-beta | |
| # body: ${{ github.event.commits[0].message }} | |
| # prerelease: true | |
| # files: | | |
| # ${{ env.main_project_module }}/build/outputs/apk/release/* | |