From e9efcf1b92e5b302ba5b953a9b250853e8b41aba Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Mon, 8 Jun 2020 13:19:44 -0400 Subject: [PATCH] rework build scripts --- ...{build-fdroid.ps1 => build-sign-fdroid.ps1} | 9 ++++----- .github/scripts/android/build.ps1 | 13 +++++++++++++ .../android/{build-play.ps1 => sign-play.ps1} | 0 .github/scripts/decrypt-secret.ps1 | 4 ++-- .github/workflows/build.yml | 18 +++++++++++------- 5 files changed, 30 insertions(+), 14 deletions(-) rename .github/scripts/android/{build-fdroid.ps1 => build-sign-fdroid.ps1} (94%) create mode 100644 .github/scripts/android/build.ps1 rename .github/scripts/android/{build-play.ps1 => sign-play.ps1} (100%) diff --git a/.github/scripts/android/build-fdroid.ps1 b/.github/scripts/android/build-sign-fdroid.ps1 similarity index 94% rename from .github/scripts/android/build-fdroid.ps1 rename to .github/scripts/android/build-sign-fdroid.ps1 index 0d57f2772..b6c55c970 100644 --- a/.github/scripts/android/build-fdroid.ps1 +++ b/.github/scripts/android/build-sign-fdroid.ps1 @@ -4,6 +4,7 @@ $androidPath = $($rootPath + "\src\Android\Android.csproj"); $appPath = $($rootPath + "\src\App\App.csproj"); $appKeystoreFdroidFilename = "app_fdroid-keystore.jks"; +$androidManifest = $($rootPath + "\src\Android\Properties\AndroidManifest.xml"); Write-Output "########################################" Write-Output "##### Clean Android and App" @@ -80,11 +81,9 @@ Write-Output "########################################" Invoke-Expression "& nuget restore" -Write-Output "########################################" -Write-Output "##### Build FDroid Configuration" -Write-Output "########################################" - -msbuild "$($androidPath)" "/p:Configuration=FDroid" +# Build F-Droid Configuration +$buildScriptPath = $($rootPath + ".\.github\scripts\android\build.ps1"); +Invoke-Expression "& `"$buildScriptPath`" -configuration FDroid" Write-Output "########################################" Write-Output "##### Sign FDroid Configuration" diff --git a/.github/scripts/android/build.ps1 b/.github/scripts/android/build.ps1 new file mode 100644 index 000000000..e6a36532f --- /dev/null +++ b/.github/scripts/android/build.ps1 @@ -0,0 +1,13 @@ +param ( + [Parameter(Mandatory=$true)] + [string] $configuration +) + +$rootPath = $env:GITHUB_WORKSPACE; +$androidPath = $($rootPath + "\src\Android\Android.csproj"); + +Write-Output "########################################" +Write-Output "##### Build $configuration Configuration" +Write-Output "########################################" + +msbuild "$($androidPath)" "/p:Configuration=$configuration" diff --git a/.github/scripts/android/build-play.ps1 b/.github/scripts/android/sign-play.ps1 similarity index 100% rename from .github/scripts/android/build-play.ps1 rename to .github/scripts/android/sign-play.ps1 diff --git a/.github/scripts/decrypt-secret.ps1 b/.github/scripts/decrypt-secret.ps1 index 8dfabe5cf..157a2282b 100644 --- a/.github/scripts/decrypt-secret.ps1 +++ b/.github/scripts/decrypt-secret.ps1 @@ -14,14 +14,14 @@ $passphrase = $env:DECRYPT_FILE_PASSWORD $secretOutputPath = $homePath + "\secrets" if ([string]::IsNullOrEmpty($output)) { - if($filename.EndsWith(".gpg")) { + if ($filename.EndsWith(".gpg")) { $output = $secretOutputPath + "\" + $filename.TrimEnd(".gpg") } else { $output = $secretOutputPath + "\" + $filename + ".plaintext" } } -if(!(Test-Path -Path $secretOutputPath)) +if (!(Test-Path -Path $secretOutputPath)) { New-Item -ItemType Directory -Path $secretOutputPath } diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a4b814c38..1635a7104 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -43,36 +43,40 @@ jobs: - name: Restore packages run: nuget restore - - name: Build for Play Store + - name: Build + run: ./.github/scripts/android/build.ps1 -configuration Release + shell: pwsh + + - name: Sign for Play Store if: github.ref == 'refs/heads/master' - run: ./.github/scripts/android/build-play.ps1 + run: ./.github/scripts/android/sign-play.ps1 shell: pwsh env: PLAY_KEYSTORE_PASSWORD: ${{ secrets.PLAY_KEYSTORE_PASSWORD }} UPLOAD_KEYSTORE_PASSWORD: ${{ secrets.UPLOAD_KEYSTORE_PASSWORD }} - - name: Upload Play Store .aab + - name: Upload Play Store .aab artifact if: github.ref == 'refs/heads/master' uses: actions/upload-artifact@v2 with: name: com.x8bit.bitwarden.aab path: ./com.x8bit.bitwarden.aab - - name: Upload Play Store .apk + - name: Upload Play Store .apk artifact if: github.ref == 'refs/heads/master' uses: actions/upload-artifact@v2 with: name: com.x8bit.bitwarden.apk path: ./com.x8bit.bitwarden.apk - - name: Build for F-Droid Store + - name: Build and Sign for F-Droid Store if: github.ref == 'refs/heads/master' - run: ./.github/scripts/android/build-fdroid.ps1 + run: ./.github/scripts/android/build-sign-fdroid.ps1 shell: pwsh env: FDROID_KEYSTORE_PASSWORD: ${{ secrets.FDROID_KEYSTORE_PASSWORD }} - - name: Upload F-Droid .apk + - name: Upload F-Droid .apk artifact if: github.ref == 'refs/heads/master' uses: actions/upload-artifact@v2 with: