ADSB CS and Vel on Beast Mode #1801
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: Android Build | |
on: | |
workflow_dispatch: | |
pull_request: | |
push: | |
branches: | |
- master | |
tags: | |
- beta | |
jobs: | |
buildAAB: | |
name: Build Release AAB | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: true | |
fetch-depth: 10 | |
- name: Cache multiple paths | |
uses: actions/cache@v2 | |
with: | |
path: | | |
**/obj/** | |
!**.apk | |
!**.so | |
!**.aab | |
key: ${{ runner.os }}-buildAAB | |
- name: Build | |
shell: pwsh | |
run: | | |
$msbuildPath = Split-Path (& "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -requires Microsoft.Component.MSBuild -find MSBuild\Current\Bin\amd64\MSBuild.exe | Select-Object -First 1) -Parent | |
$env:PATH = $msbuildPath + ';' + $env:PATH | |
nuget locals all -clear | |
$current = Get-Location | |
$days = [int]((New-TimeSpan -Start 2020-01-01 -End (Get-Date)).totaldays * 100) | |
$manifest = [xml](Get-Content -Path ExtLibs\Xamarin\Xamarin.Android\Properties\AndroidManifest.xml -Raw) | |
$manifest.SelectNodes("manifest") | % { $_.versionCode = ""+$days } | |
$manifest.SelectNodes("manifest") | % { $_.versionName = ""+$days } | |
$manifest.Save($current.Path + "\ExtLibs\Xamarin\Xamarin.Android\Properties\AndroidManifest.xml") | |
msbuild -v:m -restore -t:SignAndroidPackage -p:Configuration=Release "ExtLibs\Xamarin\Xamarin.Android\Xamarin.Android.csproj" | |
del ExtLibs\Xamarin\Xamarin.Android\bin\Release\com.michaeloborne.MissionPlanner-Signed.aab | |
mkdir whatsnew | |
git log --pretty=oneline --abbrev-commit -5 > whatsnew\whatsnew-en-US | |
git log --pretty=oneline --abbrev-commit -5 > whatsnew\whatsnew-en-GB | |
- name: Sign AAB | |
if: ${{ github.event_name == 'push' }} | |
id: sign | |
uses: r0adkll/sign-android-release@v1 | |
with: | |
releaseDirectory: ExtLibs\Xamarin\Xamarin.Android\bin\Release | |
signingKeyBase64: ${{ secrets.SIGNING_KEY }} | |
alias: ${{ secrets.ALIAS }} | |
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} | |
keyPassword: ${{ secrets.KEY_PASSWORD }} | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: com.michaeloborne.MissionPlanner.aab.zip | |
path: ExtLibs\Xamarin\Xamarin.Android\bin\Release\*.aab | |
- name: Upload Android Release to Play Store | |
if: ${{ github.event_name == 'push' }} | |
uses: r0adkll/[email protected] | |
continue-on-error: true | |
with: | |
serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }} | |
packageName: com.michaeloborne.MissionPlanner | |
releaseFiles: ExtLibs\Xamarin\Xamarin.Android\bin\Release\com.michaeloborne.MissionPlanner.aab | |
track: internal | |
whatsNewDirectory: whatsnew | |
buildAPK: | |
name: Build Release APK | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: true | |
fetch-depth: 10 | |
- name: Cache multiple paths | |
uses: actions/cache@v2 | |
with: | |
path: | | |
**/obj/** | |
!**.apk | |
!**.so | |
!**.aab | |
key: ${{ runner.os }}-buildAPK | |
- name: Build | |
shell: pwsh | |
run: | | |
$msbuildPath = Split-Path (& "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -requires Microsoft.Component.MSBuild -find MSBuild\Current\Bin\amd64\MSBuild.exe | Select-Object -First 1) -Parent | |
$env:PATH = $msbuildPath + ';' + $env:PATH | |
nuget locals all -clear | |
$current = Get-Location | |
$days = [int]((New-TimeSpan -Start 2020-01-01 -End (Get-Date)).totaldays * 100) | |
$manifest = [xml](Get-Content -Path ExtLibs\Xamarin\Xamarin.Android\Properties\AndroidManifest.xml -Raw) | |
$manifest.SelectNodes("manifest") | % { $_.versionCode = ""+$days } | |
$manifest.SelectNodes("manifest") | % { $_.versionName = ""+$days } | |
$manifest.Save($current.Path + "\ExtLibs\Xamarin\Xamarin.Android\Properties\AndroidManifest.xml") | |
Set-Content -Path ExtLibs\Xamarin\Xamarin.Android\Xamarin.Android.csproj -Value (Get-Content -Path ExtLibs\Xamarin\Xamarin.Android\Xamarin.Android.csproj -Raw).Replace("<AndroidPackageFormat>aab</AndroidPackageFormat>","<AndroidPackageFormat>apk</AndroidPackageFormat>") | |
Set-Content -Path ExtLibs\Xamarin\Xamarin.Android\Xamarin.Android.csproj -Value (Get-Content -Path ExtLibs\Xamarin\Xamarin.Android\Xamarin.Android.csproj -Raw).Replace("<AotAssemblies>true</AotAssemblies>","<AotAssemblies>false</AotAssemblies>") | |
msbuild -v:m -restore -t:SignAndroidPackage -p:Configuration=Release "ExtLibs\Xamarin\Xamarin.Android\Xamarin.Android.csproj" | |
del ExtLibs\Xamarin\Xamarin.Android\bin\Release\*-Signed.apk | |
$apks = Get-ChildItem -include *.apk -path ExtLibs\Xamarin\Xamarin.Android\bin\Release\ -Recurse | |
ForEach($i in $apks) { | |
echo $i.FullName | |
Move-Item -path $i.FullName temp.apk | |
C:\Android\android-sdk\build-tools\29.0.3\zipalign.exe -p -f -v 4 temp.apk $i.FullName | |
Remove-Item temp.apk | |
} | |
- name: Sign APK | |
if: ${{ github.event_name == 'push' }} | |
id: sign2 | |
uses: r0adkll/sign-android-release@v1 | |
with: | |
releaseDirectory: ExtLibs\Xamarin\Xamarin.Android\bin\Release | |
signingKeyBase64: ${{ secrets.SIGNING_KEY }} | |
alias: ${{ secrets.ALIAS }} | |
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} | |
keyPassword: ${{ secrets.KEY_PASSWORD }} | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: com.michaeloborne.MissionPlanner.apk.zip | |
path: ExtLibs\Xamarin\Xamarin.Android\bin\Release\*-signed.apk | |
- uses: "marvinpinto/[email protected]" | |
if: ${{ github.event_name == 'push' }} | |
with: | |
repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
automatic_release_tag: "latest" | |
prerelease: true | |
title: "Android Development Build" | |
files: '**/*-signed.apk' | |