Skip to content

feat: add GitHub Actions workflows for building and releasing APKs an… #2

feat: add GitHub Actions workflows for building and releasing APKs an…

feat: add GitHub Actions workflows for building and releasing APKs an… #2

Workflow file for this run

name: PR Cleanup
on:
pull_request:
types: [ closed ]
workflow_dispatch:
inputs:
pr_number:
description: "PR number to clean up (optional - will use all closed PRs if not specified)"
required: false
type: string
permissions:
contents: write
pull-requests: read
jobs:
determine-pr:
runs-on: ubuntu-latest
name: Determine PR Number
outputs:
pr_number: ${{ steps.get_pr_number.outputs.pr_number }}
steps:
- name: Set PR Number
id: get_pr_number
run: |
if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
pr_number="${{ github.event.inputs.pr_number }}"
else
pr_number="${{ github.event.pull_request.number }}"
fi
echo "pr_number=$pr_number" >> $GITHUB_OUTPUT
check-draft-release:
runs-on: ubuntu-latest
name: Check Existing Draft Release
needs: determine-pr
outputs:
old_release_ids: ${{ steps.get_release_id.outputs.old_release_ids }}
steps:
- name: Get Previous Draft Release(s)
id: get_release_id
run: |
pr_number=${{ needs.determine-pr.outputs.pr_number }}
search_tag="PR-${pr_number}"
echo "Searching for previous draft release with tag: $search_tag"
old_release_ids=$(curl -L \
-H "Accept: application/vnd.github.v3+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/${{ github.repository }}/releases" \
| jq --arg search_tag "$search_tag" '[.[] | select(.tag_name == $search_tag) | .id] | @json' -r
)
echo "old_release_ids=$old_release_ids" >> $GITHUB_OUTPUT
echo "Found release IDs: $old_release_ids"
remove-previous-draft:
runs-on: ubuntu-latest
name: Remove Old Draft Release(s)
needs: check-draft-release
if: needs.check-draft-release.outputs.old_release_ids != '[]'
steps:
- name: Delete Previous Draft Release
run: |
old_release_ids=${{ needs.check-draft-release.outputs.old_release_ids }}
echo "Deleting previous draft releases with ID: $old_release_ids"
for old_release_id in $(echo "$old_release_ids" | jq -r '.[]'); do
echo "Deleting release ID: $old_release_id"
curl -L \
-X DELETE \
-H "Accept: application/vnd.github.v3+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/${{ github.repository }}/releases/$old_release_id
done
echo "Previous draft releases deleted successfully"