Automated android snapshots (#4196)

- Update pom and github action to allow for android anapshots
This commit is contained in:
Chris H
2023-11-22 23:28:21 -05:00
committed by GitHub
parent 2436d6e443
commit 9355e3f76d
3 changed files with 50 additions and 16 deletions

View File

@@ -1,4 +1,4 @@
name: Forge Snapshot
name: Create Android Snapshot
on:
workflow_dispatch:
@@ -8,6 +8,10 @@ on:
description: 'Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)'
required: false
default: false
schedule:
# * is a special character in YAML so you have to quote this string
- cron: '00 19 * * *'
jobs:
build:
@@ -31,6 +35,14 @@ jobs:
server-password: ${{ secrets.FTP_PASSWORD }}
settings-path: ${{ github.workspace }} # location for the settings.xml file
- name: Install old maven (3.6.3)
run: |
curl -o apache-maven-3.6.3-bin.tar.gz https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
tar xf apache-maven-3.6.3-bin.tar.gz
export PATH=$PWD/apache-maven-3.6.3/bin:$PATH
export MAVEN_HOME=$PWD/apache-maven-3.6.3
mvn --version
- name: Install android SDK
uses: maxim-lobanov/setup-android-tools@v1
with:
@@ -46,32 +58,52 @@ jobs:
- name: Extract Android keystore
run: |
ls
cd forge-gui-android
echo "${{ secrets.FORGE_KEYSTORE }}" > forge.keystore.asc
gpg -d -passphrase "${{ secrets.FORGE_KEYSTORE_PASSPHRASE }}" --batch forge.keystore.asc > forge.keystore
gpg -d --passphrase "${{ secrets.FORGE_KEYSTORE_PASSPHRASE }}" --batch forge.keystore.asc > forge.keystore
cd -
- name: Setup tmate session
uses: mxschmitt/action-tmate@v3
if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }}
- name: Configure Git User
run: |
git config user.email "actions@github.com"
git config user.name "GitHub Actions"
- name: maven clean install
run: |
mvn clean install -Dmaven.test.skip=true
- name: Setup tmate session
uses: mxschmitt/action-tmate@v3
if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }}
- name: Install Android maven plugin
run: |
mkdir -p ~/.m2/repository/com/simpligility/maven/plugins/android-maven-plugin/4.6.1
cd ~/.m2/repository/com/simpligility/maven/plugins/android-maven-plugin/4.6.1
curl -L -o android-maven-plugin-4.6.1.jar https://github.com/Card-Forge/android-maven-plugin/releases/download/4.6.1/android-maven-plugin-4.6.1.jar
curl -L -o android-maven-plugin-4.6.1.pom https://github.com/Card-Forge/android-maven-plugin/releases/download/4.6.1/android-maven-plugin-4.6.1.pom
#mvn install:install-file -Dfile=android-maven-plugin-4.6.1.jar -DgroupId=com.simpligility.maven.plugins -DartifactId=android-maven-plugin -Dversion=4.6.1 -Dpackaging=jar
cd -
mvn install -Dmaven.test.skip=true
mvn dependency:tree
- name: Build/Install/Publish to GitHub Packages Apache Maven
run: |
mvn -U -B -P android-release-build,android-release-sign install -e -Dsign.keystore=forge.keystore -Dsign.alias=Forge -Dsign.storepass=${{ secrets.SIGN_STORE_PASS }} -Dsign.keypass=${{ secrets.SIGN_KEY_PASS }} -Dcardforge-repo.username=${{ secrets.FTP_USERNAME }} -Dcardforge-repo.password=${{ secrets.FTP_PASSWORD }} -Dandroid.sdk.path=/usr/local/lib/android/sdk
export _JAVA_OPTIONS="-Xmx2g"
mvn -U -B -P android-release-build,android-release-sign install -e -Dsign.keystore=forge.keystore -Dsign.alias=Forge -Dsign.storepass=${{ secrets.SIGN_STORE_PASS }} -Dsign.keypass=${{ secrets.SIGN_STORE_PASS }} -Dcardforge-repo.username=${{ secrets.FTP_USERNAME }} -Dcardforge-repo.password=${{ secrets.FTP_PASSWORD }} -Dandroid.sdk.path=/usr/local/lib/android/sdk -Dandroid.buildToolsVersion=30.0.3 -Dmaven.test.skip=true
env:
GITHUB_TOKEN: ${{ github.token }}
- name: Move important file
run: |
mkdir -p forge-gui-android/target/upload
mv forge-gui-android/target/*-signed-aligned.apk forge-gui-android/target/upload/
mv forge-gui-android/target/assets.zip forge-gui-android/target/upload/
ls forge-gui-android/target/upload/
- name: 📂 Sync files
uses: SamKirkland/FTP-Deploy-Action@v4.3.4
with:
server: ftp.cardforge.org
username: ${{ secrets.FTP_USERNAME }}
password: ${{ secrets.FTP_PASSWORD }}
local-dir: forge-gui-android/target/upload/
server-dir: downloads/dailysnapshots/
state-name: .ftp-deploy-android-sync-state.json

View File

@@ -2,7 +2,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="forge.app"
android:versionCode="1"
android:versionName="1.6.53" > <!-- versionName should be updated and it's used for Sentry releases tag -->
android:versionName="1.6.59" > <!-- versionName should be updated and it's used for Sentry releases tag -->
<uses-sdk
android:minSdkVersion="19"

View File

@@ -6,7 +6,7 @@
<packaging.type>jar</packaging.type>
<build.min.memory>-Xms1024m</build.min.memory>
<build.max.memory>-Xmx1536m</build.max.memory>
<alpha-version>1.6.58.001</alpha-version>
<alpha-version>1.6.59.001</alpha-version>
<sign.keystore>keystore</sign.keystore>
<sign.alias>alias</sign.alias>
<sign.storepass>storepass</sign.storepass>
@@ -204,7 +204,7 @@
<version>6.2.2</version>
</dependency>
</dependencies>
<version>4.6.0</version>
<version>4.6.1</version>
<extensions>true</extensions>
<configuration>
<sign>
@@ -212,6 +212,7 @@
</sign>
<sdk>
<platform>26</platform>
<buildTools>30.0.3</buildTools>
</sdk>
<dexForceJumbo>true</dexForceJumbo>
<androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile>
@@ -267,7 +268,7 @@
<version>6.2.2</version>
</dependency>
</dependencies>
<version>4.6.0</version>
<version>4.6.1</version>
<extensions>true</extensions>
<configuration>
<sign>
@@ -275,6 +276,7 @@
</sign>
<sdk>
<platform>26</platform>
<buildTools>30.0.3</buildTools>
</sdk>
<zipalign>
<verbose>false</verbose>
@@ -367,7 +369,7 @@
<version>6.2.2</version>
</dependency>
</dependencies>
<version>4.6.0</version>
<version>4.6.1</version>
<inherited>true</inherited>
<configuration>
<sign>