diff --git a/.github/workflows/beta.yml b/.github/workflows/beta.yml index 313a0be5..0daa9c43 100644 --- a/.github/workflows/beta.yml +++ b/.github/workflows/beta.yml @@ -2,14 +2,20 @@ name: Build APK and Notify Discord on: push: - branches: - - dev + branches-ignore: + - main + - l10n_dev_crowdin + - custom-download-location paths-ignore: - '**/README.md' + tags: + - "v*.*.*" jobs: build: runs-on: ubuntu-latest + permissions: + contents: write env: CI: true SKIP_BUILD: false @@ -50,6 +56,10 @@ jobs: # Debugging: Print the variable to check its content echo "$COMMIT_LOGS" echo "$COMMIT_LOGS" > commit_log.txt + # Extract branch name from github.ref + BRANCH=${{ github.ref }} + BRANCH=${BRANCH#refs/heads/} + echo "BRANCH=${BRANCH}" >> $GITHUB_ENV shell: /usr/bin/bash -e {0} env: CI: true @@ -99,38 +109,54 @@ jobs: fi - name: Upload a Build Artifact - if: ${{ env.SKIP_BUILD != 'true' }} + if: ${{ env.SKIP_BUILD != 'true' && github.repository == 'rebelonion/Dantotsu' }} uses: actions/upload-artifact@v4 with: name: Dantotsu retention-days: 5 compression-level: 9 path: "app/build/outputs/apk/google/alpha/app-google-alpha.apk" - + + - name: Create GitHub Release + if: ${{ env.SKIP_BUILD != 'true' && github.repository != 'rebelonion/Dantotsu' }} + uses: softprops/action-gh-release@v2.0.6 + with: + files: app/build/outputs/apk/google/alpha/app-google-alpha.apk + name: ${{ env.BRANCH }} build ${{ env.VERSION }} + tag_name: v${{ env.VERSION }} + body: | + New Pretester Build ${{ env.VERSION }} released on branch "${{ env.BRANCH }}" :) + + Commits: + ${{ env.COMMIT_LOG }} + prerelease: false + make_latest: true + generate_release_notes: true + fail_on_unmatched_files: true + - name: Upload APK to Discord and Telegram shell: bash run: | # Prepare Discord embed fetch_user_details() { local login=$1 - user_details=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ - "https://api.github.com/users/$login") + user_details=$(curl -s "https://api.github.com/users/$login") name=$(echo "$user_details" | jq -r '.name // .login') login=$(echo "$user_details" | jq -r '.login') avatar_url=$(echo "$user_details" | jq -r '.avatar_url') echo "$name|$login|$avatar_url" } - # Additional information for the goats + # Additional information for the goatss declare -A additional_info - additional_info["ibo"]="\n Discord: <@951737931159187457>\n AniList: [takarealist112]()" - additional_info["aayush262"]="\n Discord: <@918825160654598224>\n AniList: [aayush262]()" - additional_info["rebelonion"]="\n Discord: <@714249925248024617>\n AniList: [rebelonion]()\n PornHub: [rebelonion]()" + additional_info["ibo"]="\n Discord: <@951737931159187457>\n AniList: [takarealist112]()" + additional_info["aayush262"]="\n Discord: <@918825160654598224>\n AniList: [aayush262]()" + additional_info["rebelonion"]="\n Discord: <@714249925248024617>\n AniList: [rebelonion]()\n PornHub: [rebelonion]()" # Decimal color codes for contributors declare -A contributor_colors default_color="#ff25f9" - contributor_colors["ibo"]="#ff7500" + contributor_colors["ibo"]="#ff9b46" contributor_colors["aayush262"]="#5d689d" contributor_colors["Sadwhy"]="#ff7e95" contributor_colors["rebelonion"]="#d4e5ed" @@ -138,12 +164,18 @@ jobs: # Count recent commits and create an associative array declare -A recent_commit_counts + echo "Debug: Processing COMMIT_LOG:" + echo "$COMMIT_LOG" while read -r count name; do recent_commit_counts["$name"]=$count + echo "Debug: Commit count for $name: $count" done < <(echo "$COMMIT_LOG" | sed 's/%0A/\n/g' | grep -oP '(?<=~)[^[]*' | sort | uniq -c | sort -rn) + + echo "Debug: Fetching contributors from GitHub" # Fetch contributors from GitHub - contributors=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ - "https://api.github.com/repos/${{ github.repository }}/contributors") + contributors=$(curl -s "https://api.github.com/repos/${{ github.repository }}/contributors") + echo "Debug: Contributors response:" + echo "$contributors" # Create a sorted list of contributors based on recent commit counts sorted_contributors=$(for login in $(echo "$contributors" | jq -r '.[].login'); do @@ -184,10 +216,18 @@ jobs: top_contributor_count=$((top_contributor_count + 1)) embed_color=$default_color fi + echo "Debug top contributors:" + echo "$top_contributors" # Get commit count for this contributor on the dev branch branch_commit_count=$(git rev-list --count dev --author="$login") + # Debug: Print recent_commit_counts + echo "Debug: recent_commit_counts contents:" + for key in "${!recent_commit_counts[@]}"; do + echo "$key: ${recent_commit_counts[$key]}" + done + extra_info="${additional_info[$name]}" if [ -n "$extra_info" ]; then extra_info=$(echo "$extra_info" | sed 's/\\n/\n- /g') @@ -264,6 +304,8 @@ jobs: ], "attachments": [] }') + echo "Debug: Final Discord payload:" + echo "$discord_data" # Send Discord message curl -H "Content-Type: application/json" \