Pack in app structure (#429)

* Pack release in app-structure

* Fixed install block

* Build pkg
This commit is contained in:
Fedor Korotkov 2023-02-28 12:29:22 -05:00 committed by GitHub
parent 4339a03102
commit 6311b8b32a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 46 additions and 19 deletions

View File

@ -4,8 +4,13 @@ set -e
export VERSION="${CIRRUS_TAG:-0}"
mkdir -p .ci/pkg/
cp .build/arm64-apple-macosx/debug/tart .ci/pkg/
pkgbuild --root .ci/pkg --version $VERSION --install-location /usr/local/bin/ --identifier com.github.cirruslabs.tart --sign "Developer ID Installer: Cirrus Labs, Inc. (9M2P8L4D89)" "./dist/Tart-$VERSION.pkg"
mkdir -p .ci/pkg/Tart.app/Contents/MacOS
cp .build/arm64-apple-macosx/debug/tart .ci/pkg/Tart.app/Contents/MacOS/tart
cp Resources/embedded.provisionprofile .ci/pkg/Tart.app/Contents/embedded.provisionprofile
pkgbuild --root .ci/pkg/Tart.app --identifier com.github.cirruslabs.tart --version $VERSION \
--scripts .ci/pkg/scripts \
--install-location "/Library/Application Support/Tart/Tart.app" \
--sign "Developer ID Installer: Cirrus Labs, Inc. (9M2P8L4D89)" \
"./dist/Tart-$VERSION.pkg"
xcrun notarytool submit "./dist/Tart-$VERSION.pkg" --keychain-profile "notarytool" --wait
xcrun stapler staple "./dist/Tart-$VERSION.pkg"

8
.ci/pkg/scripts/postinstall Executable file
View File

@ -0,0 +1,8 @@
#!/bin/sh
set -e
echo "#!/bin/sh" > /usr/local/bin/tart
echo "exec '$2/Contents/MacOS/tart' \"\$@\"" >> /usr/local/bin/tart
chmod +x /usr/local/bin/tart

View File

@ -11,7 +11,7 @@ task:
integration_test_script:
# Build Tart
- swift build
- codesign --sign - --entitlements Resources/tart.entitlements --force .build/debug/tart
- codesign --sign - --entitlements Resources/tart-dev.entitlements --force .build/debug/tart
- export PATH=$(pwd)/.build/arm64-apple-macosx/debug:$PATH
# Run integration tests
- cd integration-tests
@ -43,7 +43,7 @@ task:
macos_instance:
image: ghcr.io/cirruslabs/macos-ventura-xcode:latest
build_script: swift build --product tart
sign_script: codesign --sign - --entitlements Resources/tart.entitlements --force .build/debug/tart
sign_script: codesign --sign - --entitlements Resources/tart-dev.entitlements --force .build/debug/tart
binary_artifacts:
path: .build/debug/tart

View File

@ -1,5 +1,10 @@
project_name: tart
before:
hooks:
- .ci/set-version.sh
- swift build -c debug --product tart
builds:
- builder: prebuilt
goos:
@ -13,17 +18,15 @@ builds:
- gon gon.hcl
- .ci/create-pkg.sh
before:
hooks:
- .ci/set-version.sh
- swift build -c debug --product tart
archives:
- id: binary
format: binary
name_template: "{{ .ProjectName }}"
- id: regular
name_template: "{{ .ProjectName }}"
- name_template: "{{ .ProjectName }}"
files:
- src: Resources/embedded.provisionprofile
dst: Tart.app/Contents
strip_parent: true
- src: ".build/arm64-apple-macosx/debug/tart"
dst: Tart.app/Contents/MacOS
strip_parent: true
release:
prerelease: auto
@ -32,8 +35,6 @@ release:
brews:
- name: tart
ids:
- regular
tap:
owner: cirruslabs
name: homebrew-cli
@ -44,6 +45,9 @@ brews:
skip_upload: auto
dependencies:
- "cirruslabs/cli/softnet"
install: |
libexec.install Dir["*"]
bin.write_exec_script "#{libexec}/Tart.app/Contents/MacOS/tart"
custom_block: |
depends_on :macos => :monterey

View File

@ -1,6 +1,6 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="sign debug" type="ShConfigurationType">
<option name="SCRIPT_TEXT" value="codesign --sign - --entitlements Resources/tart.entitlements --force .build/debug/tart" />
<option name="SCRIPT_TEXT" value="codesign --sign - --entitlements Resources/tart-dev.entitlements --force .build/debug/tart" />
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
<option name="SCRIPT_PATH" value="$PROJECT_DIR$/scripts/sign.sh" />
<option name="SCRIPT_OPTIONS" value="" />

Binary file not shown.

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.virtualization</key>
<true/>
<key>com.apple.vm.networking</key>
<true/>
</dict>
</plist>

View File

@ -8,5 +8,5 @@ apple_id {
sign {
application_identity = "Developer ID Application: Cirrus Labs, Inc."
entitlements_file = "Resources/tart.entitlements"
entitlements_file = "Resources/tart-prod.entitlements"
}