Skip to content

Merge pull request #74 from OpenIPC/feature/redesign-ui #4

Merge pull request #74 from OpenIPC/feature/redesign-ui

Merge pull request #74 from OpenIPC/feature/redesign-ui #4

name: Build and Release OpenIPC Config App for Android
permissions:
contents: write
actions: read
on:
workflow_dispatch:
# push:
# branches:
# - android # Trigger only on pushes to the android branch
push:
tags:
- 'release-v*' # Trigger for tags that start with 'v', e.g., v1.0.0, v2.1.3
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
os: [ubuntu-latest]
arch: [x64, arm64]
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up .NET SDK
uses: actions/setup-dotnet@v3
with:
dotnet-version: '8.0.x'
- name: Update .NET SDK Workloads
run: |
dotnet workload update
- name: Install Android Workload
run: |
dotnet workload install android
- name: Restore dependencies
run: dotnet restore OpenIPC_Config.Android/OpenIPC_Config.Android.csproj
- name: Install Android SDK
run: |
echo "ANDROID_HOME=$HOME/android-sdk" >> $GITHUB_ENV
echo "ANDROID_SDK_ROOT=$HOME/android-sdk" >> $GITHUB_ENV
mkdir -p $HOME/android-sdk
curl -o sdk-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip
unzip -o sdk-tools.zip -d $HOME/android-sdk/cmdline-tools
mkdir -p $HOME/android-sdk/cmdline-tools/latest
mv $HOME/android-sdk/cmdline-tools/cmdline-tools/* $HOME/android-sdk/cmdline-tools/latest/
yes | $HOME/android-sdk/cmdline-tools/latest/bin/sdkmanager --licenses
$HOME/android-sdk/cmdline-tools/latest/bin/sdkmanager \
"platform-tools" \
"platforms;android-34" \
"build-tools;34.0.0"
- name: Build Android APK
run: |
dotnet build OpenIPC_Config.Android/OpenIPC_Config.Android.csproj --configuration Release
dotnet publish OpenIPC_Config.Android/OpenIPC_Config.Android.csproj -c Release -o ./output-apk
shell: bash
- name: Package Android APK
run: |
mkdir -p OpenIPC-Config-android-${{ matrix.arch }}
cp ./output-apk/* OpenIPC-Config-android-${{ matrix.arch }}/
zip -r OpenIPC-Config-android-${{ matrix.arch }}.zip OpenIPC-Config-android-${{ matrix.arch }}
shell: bash
- name: Upload Android Artifact
uses: actions/upload-artifact@v4
with:
name: OpenIPC-Config-android-${{ matrix.arch }}
path: OpenIPC-Config-android-${{ matrix.arch }}.zip
# - name: Upload APK to GitHub Release
# uses: softprops/action-gh-release@v1
# with:
# files: |
# OpenIPC-Config-android-${{ matrix.arch }}.zip
# draft: false # Set to `true` if you want the release to remain in draft