Package macOS desktop releases as DMGs (#82)
This commit is contained in:
@@ -53,6 +53,7 @@ jobs:
|
||||
|
||||
- name: Build, package, and upload Unix releases
|
||||
env:
|
||||
CARGO_TARGET_X86_64_APPLE_DARWIN_RUSTFLAGS: -C link-arg=-Wl,-headerpad,0x1000
|
||||
GITEA_API_URL: ${{ gitea.server_url }}/api/v1
|
||||
GITEA_REF_NAME: ${{ gitea.ref_name }}
|
||||
GITEA_REPOSITORY: ${{ gitea.repository }}
|
||||
@@ -62,9 +63,10 @@ jobs:
|
||||
set -eu
|
||||
version=$(printf '%s' "$GITEA_REF_NAME" | sed 's/[^A-Za-z0-9._-]/-/g')
|
||||
for build in \
|
||||
'aarch64-apple-darwin|aarch64-apple-darwin|darwin-arm64' \
|
||||
'x86_64-apple-darwin|x86_64-apple-darwin|darwin-x64' \
|
||||
'aarch64-unknown-linux-gnu|aarch64-unknown-linux-gnu.2.28|linux-arm64' \
|
||||
'x86_64-unknown-linux-gnu|x86_64-unknown-linux-gnu.2.28|linux-x64' \
|
||||
'aarch64-apple-darwin|aarch64-apple-darwin|darwin-arm64'
|
||||
'x86_64-unknown-linux-gnu|x86_64-unknown-linux-gnu.2.28|linux-x64'
|
||||
do
|
||||
target=${build%%|*}
|
||||
rest=${build#*|}
|
||||
@@ -77,17 +79,31 @@ jobs:
|
||||
|
||||
cli="ironstorage-cli-${version}-${platform}"
|
||||
desktop="ironstorage-desktop-${version}-${platform}"
|
||||
mkdir -p "dist/$cli" "dist/$desktop"
|
||||
mkdir -p "dist/$cli"
|
||||
cp "target/$target/release/ironstorage" "dist/$cli/"
|
||||
cp "target/$target/release/ironstorage-tui" "dist/$cli/"
|
||||
cp "target/$target/release/ironstorage" "dist/$desktop/"
|
||||
cp "target/$target/release/ironstorage-tui" "dist/$desktop/"
|
||||
cp "target/$target/release/ironstorage-desktop" "dist/$desktop/"
|
||||
tar -C dist -czf "dist/${cli}.tar.gz" "$cli"
|
||||
tar -C dist -czf "dist/${desktop}.tar.gz" "$desktop"
|
||||
rm -r "dist/$cli" "dist/$desktop"
|
||||
rm -r "dist/$cli"
|
||||
|
||||
for asset in "dist/${cli}.tar.gz" "dist/${desktop}.tar.gz"; do
|
||||
case "$platform" in
|
||||
darwin-*)
|
||||
desktop_asset="dist/${desktop}.dmg"
|
||||
cargo run --release --locked --package ironstorage-macos-packager -- \
|
||||
"$GITEA_REF_NAME" "target/$target/release" \
|
||||
assets/icon-candidates/vault-classic@2x.png "$desktop_asset"
|
||||
;;
|
||||
*)
|
||||
desktop_asset="dist/${desktop}.tar.gz"
|
||||
mkdir -p "dist/$desktop"
|
||||
cp "target/$target/release/ironstorage" "dist/$desktop/"
|
||||
cp "target/$target/release/ironstorage-tui" "dist/$desktop/"
|
||||
cp "target/$target/release/ironstorage-desktop" "dist/$desktop/"
|
||||
tar -C dist -czf "$desktop_asset" "$desktop"
|
||||
rm -r "dist/$desktop"
|
||||
;;
|
||||
esac
|
||||
|
||||
for asset in "dist/${cli}.tar.gz" "$desktop_asset"; do
|
||||
name=$(basename "$asset")
|
||||
curl --fail --silent --show-error --retry 3 \
|
||||
-H "Authorization: token $GITEA_TOKEN" \
|
||||
|
||||
Reference in New Issue
Block a user