From 17d8aef5dbabf18a81d106c7f2a7c7fa911521ae Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Tue, 22 Sep 2020 16:00:58 -0400 Subject: [PATCH] try github action ci build --- .github/scripts/decrypt-secret.ps1 | 29 +++++++++ .github/scripts/macos/decrypt-secrets.ps1 | 10 ++++ .github/scripts/macos/increment-version.ps1 | 2 + .github/scripts/macos/setup-keychain.ps1 | 19 ++++++ .github/scripts/macos/setup-profiles.ps1 | 6 ++ .github/secrets/appstore-app-cert.p12.gpg | Bin 0 -> 3361 bytes .../secrets/appstore-installer-cert.p12.gpg | Bin 0 -> 3360 bytes .github/secrets/bitwarden-deskop-key.p12.gpg | Bin 0 -> 3363 bytes ...rden_desktop_appstore.provisionprofile.gpg | Bin 0 -> 5128 bytes .github/secrets/devid-app-cert.p12.gpg | Bin 0 -> 3326 bytes .github/secrets/devid-installer-cert.p12.gpg | Bin 0 -> 3323 bytes .github/workflows/build.yml | 56 ++++++++++++++++++ 12 files changed, 122 insertions(+) create mode 100644 .github/scripts/decrypt-secret.ps1 create mode 100644 .github/scripts/macos/decrypt-secrets.ps1 create mode 100644 .github/scripts/macos/increment-version.ps1 create mode 100644 .github/scripts/macos/setup-keychain.ps1 create mode 100644 .github/scripts/macos/setup-profiles.ps1 create mode 100644 .github/secrets/appstore-app-cert.p12.gpg create mode 100644 .github/secrets/appstore-installer-cert.p12.gpg create mode 100644 .github/secrets/bitwarden-deskop-key.p12.gpg create mode 100644 .github/secrets/bitwarden_desktop_appstore.provisionprofile.gpg create mode 100644 .github/secrets/devid-app-cert.p12.gpg create mode 100644 .github/secrets/devid-installer-cert.p12.gpg diff --git a/.github/scripts/decrypt-secret.ps1 b/.github/scripts/decrypt-secret.ps1 new file mode 100644 index 0000000000..b5251d533a --- /dev/null +++ b/.github/scripts/decrypt-secret.ps1 @@ -0,0 +1,29 @@ +param ( + [Parameter(Mandatory=$true)] + [string] $filename, + [string] $output +) + +$homePath = Resolve-Path "~" | Select-Object -ExpandProperty Path +$rootPath = $env:GITHUB_WORKSPACE + +$secretInputPath = $rootPath + "/.github/secrets" +$input = $secretInputPath + "/" + $filename + +$passphrase = $env:DECRYPT_FILE_PASSWORD +$secretOutputPath = $homePath + "/secrets" + +if ([string]::IsNullOrEmpty($output)) { + if ($filename.EndsWith(".gpg")) { + $output = $secretOutputPath + "/" + $filename.TrimEnd(".gpg") + } else { + $output = $secretOutputPath + "/" + $filename + ".plaintext" + } +} + +if (!(Test-Path -Path $secretOutputPath)) +{ + New-Item -ItemType Directory -Path $secretOutputPath +} + +gpg --quiet --batch --yes --decrypt --passphrase="$passphrase" --output $output $input diff --git a/.github/scripts/macos/decrypt-secrets.ps1 b/.github/scripts/macos/decrypt-secrets.ps1 new file mode 100644 index 0000000000..8c1e83719a --- /dev/null +++ b/.github/scripts/macos/decrypt-secrets.ps1 @@ -0,0 +1,10 @@ +$rootPath = $env:GITHUB_WORKSPACE; + +$decryptSecretPath = $($rootPath + "/.github/scripts/decrypt-secret.ps1"); + +Invoke-Expression "& `"$decryptSecretPath`" -filename bitwarden-deskop-key.p12.gpg" +Invoke-Expression "& `"$decryptSecretPath`" -filename appstore-app-cert.p12.gpg" +Invoke-Expression "& `"$decryptSecretPath`" -filename appstore-installer-cert.p12.gpg" +Invoke-Expression "& `"$decryptSecretPath`" -filename devid-app-cert.p12.gpg" +Invoke-Expression "& `"$decryptSecretPath`" -filename devid-installer-cert.p12.gpg" +Invoke-Expression "& `"$decryptSecretPath`" -filename bitwarden_desktop_appstore.provisionprofile.gpg" diff --git a/.github/scripts/macos/increment-version.ps1 b/.github/scripts/macos/increment-version.ps1 new file mode 100644 index 0000000000..c21f9ea919 --- /dev/null +++ b/.github/scripts/macos/increment-version.ps1 @@ -0,0 +1,2 @@ +$rootPath = $env:GITHUB_WORKSPACE; +$buildNumber = 100 + [int]$env:GITHUB_RUN_NUMBER; diff --git a/.github/scripts/macos/setup-keychain.ps1 b/.github/scripts/macos/setup-keychain.ps1 new file mode 100644 index 0000000000..ce93464f90 --- /dev/null +++ b/.github/scripts/macos/setup-keychain.ps1 @@ -0,0 +1,19 @@ +$homePath = Resolve-Path "~" | Select-Object -ExpandProperty Path; +$secretsPath = $homePath + "/secrets" + +$desktopKeyPath = $($secretsPath + "/bitwarden-dekstop-key.p12"); +$devidAppCertPath = $($secretsPath + "/devid-app-cert.p12"); +$devidInstallerCertPath = $($secretsPath + "/devid-installer-cert.p12"); +$appstoreAppCertPath = $($secretsPath + "/appstore-app-cert.p12"); +$appstoreInstallerCertPath = $($secretsPath + "/appstore-installer-cert.p12"); + +security create-keychain -p $env:KEYCHAIN_PASSWORD build.keychain +security default-keychain -s build.keychain +security unlock-keychain -p $env:KEYCHAIN_PASSWORD build.keychain +security set-keychain-settings -lut 1200 build.keychain +security import $desktopKeyPath -k build.keychain -P $env:DESKTOP_KEY_PASSWORD -T /usr/bin/codesign -T /usr/bin/security +security import $devidAppCertPath -k build.keychain -P $env:DIST_CERT_PASSWORD -T /usr/bin/codesign -T /usr/bin/security +security import $devidInstallerCertPath -k build.keychain -P $env:DIST_CERT_PASSWORD -T /usr/bin/codesign -T /usr/bin/security +security import $appstoreAppCertPath -k build.keychain -P $env:DIST_CERT_PASSWORD -T /usr/bin/codesign -T /usr/bin/security +security import $appstoreInstallerCertPath -k build.keychain -P $env:DIST_CERT_PASSWORD -T /usr/bin/codesign -T /usr/bin/security +security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k $env:KEYCHAIN_PASSWORD build.keychain diff --git a/.github/scripts/macos/setup-profiles.ps1 b/.github/scripts/macos/setup-profiles.ps1 new file mode 100644 index 0000000000..1f454dc0fc --- /dev/null +++ b/.github/scripts/macos/setup-profiles.ps1 @@ -0,0 +1,6 @@ +$homePath = Resolve-Path "~" | Select-Object -ExpandProperty Path; +$secretsPath = $homePath + "/secrets" +$rootPath = $env:GITHUB_WORKSPACE +$pprofile = "bitwarden_desktop_appstore.provisionprofile" + +Copy-Item "$secretsPath/$pprofile" -destination "$rootPath/$pprofile" diff --git a/.github/secrets/appstore-app-cert.p12.gpg b/.github/secrets/appstore-app-cert.p12.gpg new file mode 100644 index 0000000000000000000000000000000000000000..0591712090a888ce0baaee2d0721f1b644dc2ef5 GIT binary patch literal 3361 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 qO)QI|p^Hx@5Q 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 literal 0 HcmV?d00001 diff --git a/.github/secrets/bitwarden_desktop_appstore.provisionprofile.gpg b/.github/secrets/bitwarden_desktop_appstore.provisionprofile.gpg new file mode 100644 index 0000000000000000000000000000000000000000..bd7d01850f2973288d29e36ac4acb1fb41c43dd5 GIT binary patch literal 5128 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 literal 0 HcmV?d00001 diff --git a/.github/secrets/devid-app-cert.p12.gpg b/.github/secrets/devid-app-cert.p12.gpg new file mode 100644 index 0000000000000000000000000000000000000000..c445724ce9afe9a3b87da77ae53f494a88381a0a GIT binary patch literal 3326 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 literal 0 HcmV?d00001 diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8559148db3..b8bc875aad 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -99,3 +99,59 @@ jobs: with: name: desktop-artifacts path: artifacts/* + + macos: + runs-on: macos-latest + + steps: + - name: Print environment + run: | + Write-Output "GitHub ref: $env:GITHUB_REF" + Write-Output "GitHub event: $env:GITHUB_EVENT" + shell: pwsh + env: + GITHUB_REF: ${{ github.ref }} + GITHUB_EVENT: ${{ github.event_name }} + + - name: Checkout repo + uses: actions/checkout@v2 + + - name: Decrypt secrets + run: ./.github/scripts/macos/decrypt-secrets.ps1 + shell: pwsh + env: + DECRYPT_FILE_PASSWORD: ${{ secrets.DECRYPT_FILE_PASSWORD }} + + - name: Increment version + if: github.ref == 'refs/heads/master' || github.event_name == 'release' + run: ./.github/scripts/macos/increment-version.ps1 + shell: pwsh + + - name: Set up keychain + run: ./.github/scripts/macos/setup-keychain.ps1 + shell: pwsh + env: + KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} + DESKTOP_KEY_PASSWORD: ${{ secrets.DESKTOP_KEY_PASSWORD }} + DEVID_CERT_PASSWORD: ${{ secrets.DEVID_CERT_PASSWORD }} + APPSTORE_CERT_PASSWORD: ${{ secrets.APPSTORE_CERT_PASSWORD }} + + - name: Set up provisioning profiles + run: ./.github/scripts/macos/setup-profiles.ps1 + shell: pwsh + + - name: Build Safari extension for .dmg + shell: pwsh + run: ./scripts/safari-build.ps1 + + - name: Build application for .dmg + shell: pwsh + run: npm run dist:mac + + - name: Build Safari extension for App Store + shell: pwsh + run: ./scripts/safari-build.ps1 -mas + + - name: Build application for App Store + shell: pwsh + run: npm run dist:mac:mas