Skip to content

fix: Crash caused by missing permission on Android 12 (#932) #309

fix: Crash caused by missing permission on Android 12 (#932)

fix: Crash caused by missing permission on Android 12 (#932) #309

Workflow file for this run

name: Badge Magic CI
on:
push:
branches: [ development ]
pull_request:
branches: [ master, development ]
jobs:
build-android:
runs-on: ubuntu-latest
name: Android Build
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
${{ runner.os }}-gradle-
- uses: actions/cache@v3
if: ${{ github.event_name != 'pull_request' && github.repository == 'fossasia/badgemagic-android' && github.ref == 'refs/heads/master' }}
with:
path: |
vendor/bundle
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile') }}
restore-keys: |
${{ runner.os }}-gems-
- name: Prepare Bundler
if: ${{ github.event_name != 'pull_request' && github.repository == 'fossasia/badgemagic-android' && github.ref == 'refs/heads/master' }}
run: |
bundle config path vendor/bundle
bundle install --jobs 4 --retry 3
- name: Pre Checks
run: |
bash scripts/check-screenshots.sh
- name: Prepare Build Keys
if: ${{ github.event_name != 'pull_request' && github.repository == 'fossasia/badgemagic-android' }}
env:
ENCRYPTED_F10B5E0E5262_IV: ${{ secrets.ENCRYPTED_F10B5E0E5262_IV }}
ENCRYPTED_F10B5E0E5262_KEY: ${{ secrets.ENCRYPTED_F10B5E0E5262_KEY }}
run: |
bash scripts/prep-key.sh
- name: Grant permission for gradlew
run: chmod +x gradlew
- name: Syntax Check
run: ./gradlew spotlessCheck
- name: Build APK And Bundle with Gradle
env:
STORE_PASS: ${{ secrets.STORE_PASS }}
ALIAS: ${{ secrets.ALIAS }}
KEY_PASS: ${{ secrets.KEY_PASS }}
run: |
./gradlew build --no-daemon --stacktrace
./gradlew bundleRelease
- name: Upload APK Debug
uses: actions/upload-artifact@v4
with:
name: APK Debug generated
path: android/build/outputs/apk/debug
- name: Upload APK Release
uses: actions/upload-artifact@v4
with:
name: APK Release generated
path: android/build/outputs/apk/release
- name: Upload AAB Release
uses: actions/upload-artifact@v4
with:
name: AAB Release generated
path: android/build/outputs/bundle/release
- name: Upload APK to apk branch
# Skip upload APK for pull requests
if: ${{ github.event_name != 'pull_request' && github.repository == 'fossasia/badgemagic-android' }}
run: |
git config --global user.name "${{ github.workflow }}"
git config --global user.email "gh-actions@${{ github.repository_owner }}"
git clone --branch=apk https://${{ github.repository_owner }}:${{ github.token }}@github.com/${{ github.repository }} apk
cd apk
if [[ ${{ github.ref_name }} =~ ^(master)$ ]]; then
rm -rf *
else
rm -rf badge-magic-dev*
fi
ls
find ../android/build/outputs -type f \( -name '*.apk' -o -name '*.aab' \) -exec cp -v {} . \;
branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}
for file in android*; do
mv $file badge-magic-$branch-${file#*-}
done
git checkout --orphan temporary
git add --all .
git commit -am "[Auto] Update APK/AAB's from $branch ($(date +%Y-%m-%d.%H:%M:%S))"
git branch -D apk
git branch -m apk
git push --force origin apk
- name: Upload alpha version to playstore
if: ${{ github.event_name != 'pull_request' && github.repository == 'fossasia/badgemagic-android' && github.ref == 'refs/heads/master' }}
run: |
bundle exec fastlane uploadToPlaystore
if [[ $? -ne 0 ]]; then
exit 1
fi