From 2eea51d6ec91999c6f6abd8b1206eac0d1d7b682 Mon Sep 17 00:00:00 2001 From: Fedor Korotkov Date: Wed, 31 Aug 2022 18:36:28 -0400 Subject: [PATCH] Create Apple Installer (#216) The installer will install tart binary to `/usr/local/bin/tart` Fixes #153 --- .cirrus.yml | 11 ++++++----- .goreleaser.yml | 13 ++++++++++--- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 2eb3d00..5095c7d 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -22,21 +22,22 @@ task: macos_instance: image: ghcr.io/cirruslabs/macos-ventura-xcode:latest env: - MACOS_CERTIFICATE: ENCRYPTED[0dcc39b6d243b7eafba4412741c41dcb6779ebcbc40d78e54dbbb92632e64cdd5b665595e3c1251d746d9e6a124e4121] + MACOS_CERTIFICATE: ENCRYPTED[8a6930a8c1286e7e536ea41b7647ea40e99174ad15e9cfcc753754fea55a619b355415629dff515b54a8921643e314e5] AC_PASSWORD: ENCRYPTED[4a761023e7e06fe2eb350c8b6e8e7ca961af193cb9ba47605f25f1d353abc3142606f412e405be48fd897a78787ea8c2] GITHUB_TOKEN: ENCRYPTED[!98ace8259c6024da912c14d5a3c5c6aac186890a8d4819fad78f3e0c41a4e0cd3a2537dd6e91493952fb056fa434be7c!] GORELEASER_KEY: ENCRYPTED[!9b80b6ef684ceaf40edd4c7af93014ee156c8aba7e6e5795f41c482729887b5c31f36b651491d790f1f668670888d9fd!] - install_script: - - brew install go goreleaser/tap/goreleaser-pro - - brew install mitchellh/gon/gon setup_script: - cd $HOME - echo $MACOS_CERTIFICATE | base64 --decode > certificate.p12 - security create-keychain -p password101 build.keychain - security default-keychain -s build.keychain - security unlock-keychain -p password101 build.keychain - - security import certificate.p12 -k build.keychain -P password101 -T /usr/bin/codesign + - security import certificate.p12 -k build.keychain -P password101 -T /usr/bin/codesign -T /usr/bin/pkgbuild - security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k password101 build.keychain + - xcrun notarytool store-credentials "notarytool" --apple-id "hello@cirruslabs.org" --team-id "9M2P8L4D89" --password $AC_PASSWORD + install_script: + - brew install go goreleaser/tap/goreleaser-pro + - brew install mitchellh/gon/gon info_script: - security find-identity -v - xcodebuild -version diff --git a/.goreleaser.yml b/.goreleaser.yml index 3b930e7..1d9e484 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -7,15 +7,20 @@ builds: goarch: - arm64 prebuilt: - path: .build/{{ .Arch }}-apple-macosx/debug/tart + path: .build/arm64-apple-macosx/debug/tart hooks: - post: gon gon.hcl + post: | + gon gon.hcl + mkdir -p .ci/pkg/ + cp .build/arm64-apple-macosx/debug/tart .ci/pkg/ + pkgbuild --root .ci/pkg --version "${CIRRUS_TAG:-0}" --install-location /usr/local/bin/ --identifier com.github.cirruslabs.tart --sign "Developer ID Installer: Fedor Korotkov (9M2P8L4D89)" Tart.pkg + xcrun notarytool submit Tart.pkg --keychain-profile "notarytool" --wait + xcrun stapler staple Tart.pkg before: hooks: - .ci/set-version.sh - swift build -c debug --product tart - - codesign --sign - --entitlements Resources/tart.entitlements --force .build/arm64-apple-macosx/debug/tart archives: - id: binary @@ -26,6 +31,8 @@ archives: release: prerelease: auto + extra_files: + - glob: Tart.pkg brews: - name: tart