La url de Atenea Cloud está implícita #20
Workflow file for this run
This file contains 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: Build Android APK | |
on: | |
push: | |
branches: | |
- mod | |
pull_request: | |
branches: | |
- mod | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Install Unzip/Zstd | |
if: ${{ env.ACT }} # Only run on local act | |
run: apt update -y && apt install -y unzip zstd | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v2 | |
with: | |
distribution: 'adopt' | |
java-version: '17' | |
- name: Set up Android SDK | |
if: ${{ env.ACT }} # Only run on local act setups, as GitHub Actions provides the Android SDK on Ubuntu | |
uses: android-actions/setup-android@v3 | |
- name: Cache Gradle packages | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.gradle/caches | |
~/.gradle/wrapper | |
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} | |
restore-keys: | | |
gradle-${{ runner.os }}- | |
- name: Generate key.properties file | |
run: | | |
echo " | |
keyStore=alea_android.keystore | |
keyStorePassword=${{ secrets.ALEA_KEYSTORE_PASSWORD }} | |
keyAlias=${{ secrets.ALEA_KEYSTORE_ALIAS }} | |
keyAliasPassword=${{ secrets.ALEA_KEYSTORE_PASSWORD }}" > app/key.properties | |
- name: Generate keystore file | |
run: | | |
echo ${{ secrets.ALEA_KEYSTORE }} | base64 -d > app/alea_android.keystore | |
- name: Download dependencies | |
run: ./gradlew build --stacktrace | |
- name: Build Release APK | |
run: ./gradlew assembleRelease | |
- name: Set Release APK path | |
run: echo RELEASE_APK_PATH=$(find app/build/outputs/apk/release/*.apk) >> $GITHUB_ENV | |
- name: Extract Release APK version | |
run: | | |
APK_PATH=$(echo ${{ env.RELEASE_APK_PATH }}) | |
APK_FILE_NAME=$(basename "$APK_PATH") | |
APK_VERSION="${APK_FILE_NAME%.apk}" | |
APK_VERSION=$(echo $APK_VERSION | awk -F '-' '{print $(NF-1)}') | |
echo "RELEASE_APK_FILENAME=$APK_FILE_NAME" >> $GITHUB_ENV | |
echo "RELEASE_APK_VERSION=$APK_VERSION" >> $GITHUB_ENV | |
- name: Build AAB Release | |
run: ./gradlew bundleRelease | |
- name: Set Release AAB path | |
run: | | |
echo RELEASE_AAB_PATH=$(find app/build/outputs/bundle/release/*.aab) >> $GITHUB_ENV | |
echo ${{ env.RELEASE_AAB_PATH }} | |
- name: Extract Release AAB version | |
run: | | |
AAB_PATH=$(echo ${{ env.RELEASE_AAB_PATH }}) | |
AAB_FILE_NAME=$(basename "$AAB_PATH") | |
AAB_VERSION="${AAB_FILE_NAME%.aab}" | |
AAB_VERSION=$(echo $AAB_VERSION | awk -F '-' '{print $(NF-1)}') | |
echo "RELEASE_AAB_FILENAME=$AAB_FILE_NAME" >> $GITHUB_ENV | |
echo "RELEASE_AAB_VERSION=$AAB_VERSION" >> $GITHUB_ENV | |
- name: Upload APK | |
uses: actions/upload-artifact@v4 | |
with: | |
name: atenea-cloud | |
path: | | |
${{ env.RELEASE_APK_PATH }} | |
${{ env.RELEASE_AAB_PATH }} | |
- name: Create GitHub Release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ env.RELEASE_APK_VERSION }} | |
release_name: Release ${{ env.RELEASE_APK_VERSION }} | |
draft: false | |
prerelease: false | |
- name: Upload APKs to Release | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ${{ env.RELEASE_APK_PATH }} | |
asset_name: ${{ env.RELEASE_APK_FILENAME }} | |
asset_content_type: application/vnd.android.package-archive | |
- name: Upload AAB to Release | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ${{ env.RELEASE_AAB_PATH }} | |
asset_name: ${{ env.RELEASE_AAB_FILENAME }} | |
asset_content_type: application/vnd.android.package-archive | |