Skip to content

Commit 22a1d8d

Browse files
committed
🚧👷 attempt 1st build on linux
1 parent 38a4123 commit 22a1d8d

File tree

5 files changed

+105
-32
lines changed

5 files changed

+105
-32
lines changed
+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Build and Publish to GH Releases
2+
3+
on: push
4+
5+
jobs:
6+
build-and-publish:
7+
runs-on: windows-latest
8+
steps:
9+
- name: Checkout Repository
10+
uses: actions/checkout@v2
11+
12+
- name: Install System Dependencies
13+
uses: mstksg/get-package@v1
14+
with:
15+
brew: libicns create-dmg
16+
apt-get: icnsutils genisoimage
17+
- uses: actions/setup-go@v2
18+
with:
19+
go-version: '~1.16.2'
20+
21+
- name: Build
22+
run: ./dev/ci/build.sh
23+
24+
- name: Release
25+
uses: softprops/action-gh-release@v1
26+
if: startsWith(github.ref, 'refs/tags/')
27+
with:
28+
files: |
29+
bin/unrailed-save-scummer-amd64-windows.exe
30+
bin/unrailed-save-scummer-amd64-darwin.dmg
31+
bin/unrailed-save-scummer-amd64-linux
32+
env:
33+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

‎assets/Info.plist

+6-3
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
<key>CFBundleDisplayName</key>
88
<string>Unrailed Save Scummer</string>
99
<key>CFBundleExecutable</key>
10-
<string>app-amd64-darwin</string>
10+
<string>unrailed-save-scummer-amd64-darwin</string>
1111
<key>CFBundleIconFile</key>
12-
<string>appIcon.icns</string>
12+
<string>icon.icns</string>
1313
<key>CFBundleIdentifier</key>
1414
<string>io.orleans.unrailed_save_scummer</string>
1515
<key>CFBundleInfoDictionaryVersion</key>
@@ -21,7 +21,10 @@
2121
<key>CFBundlePackageType</key>
2222
<string>APPL</string>
2323
<key>CFBundleVersion</key>
24-
<string>$(git describe --tags --always)</string>
24+
<string>$(
25+
tag=$(git describe --tags --always)
26+
echo "${tag:1}"
27+
)</string>
2528
<key>CFBundleShortVersionString</key>
2629
<string>$(git describe --tags --always)</string>
2730
<key>CFBundleSignature</key>

‎assets/dmg-contents/USS.DS_Store

6 KB
Binary file not shown.

‎dev/ci/build-darwin.sh

-29
This file was deleted.

‎dev/ci/build.sh

+66
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
#!/usr/bin/env bash
2+
3+
mac_dir="./bin/macOS"
4+
mac_app_dir="$mac_dir/Unrailed Save Scummer.app"
5+
mac_app_contents_dir="$mac_app_dir/Contents"
6+
7+
rm -rf "./bin"
8+
9+
pkger
10+
11+
mkdir -p "$mac_app_contents_dir/"{MacOS,Resources}
12+
13+
# build ICNS
14+
mkdir "./assets/images/icon.iconset"
15+
for size in 128 256 512; do
16+
sips -z "$size" "$size" "./assets/images/icon.png" --out "./assets/images/icon.iconset/icon_${size}x${size}.png"
17+
done
18+
png2icns "./assets/images/icon.icns" "./assets/images/icon.iconset/"*.png
19+
cp "./assets/images/icon.icns" "$mac_dir/.VolumeIcon.icns"
20+
cp "./assets/images/icon.icns" "$mac_app_contents_dir/Resources/icon.icns"
21+
22+
# package images
23+
cp "./assets/images/icon.png" "$mac_app_contents_dir/Resources/"
24+
25+
# template Info.plist
26+
eval "cat <<EOF
27+
$(<"./assets/Info.plist")
28+
EOF
29+
" 2> /dev/null > "$mac_app_contents_dir/Info.plist"
30+
31+
# Prepare DMG assets
32+
cp "./assets/dmg-contents/USS.DS_Store" "$mac_dir/.DS_Store"
33+
ln -s "/Applications" "$mac_dir/Applications"
34+
35+
# build
36+
GOOS=darwin GOARCH=amd64 go build -o "$mac_app_contents_dir/MacOS/unrailed-save-scummer-amd64-darwin" .
37+
GOOS=linux GOARCH=amd64 go build -o "./bin/unrailed-save-scummer-amd64-linux" .
38+
GOOS=windows GOARCH=amd64 go build -o "./bin/unrailed-save-scummer-amd64-windows.exe" .
39+
40+
# Package macOS app into DMG
41+
case "$(uname)" in
42+
"Darwin")
43+
width=600
44+
height=400
45+
create-dmg \
46+
--volname "Unrailed Save Scummer" \
47+
--volicon "./assets/images/icon.icns" \
48+
--window-size $width $height \
49+
--icon-size $(expr $height / 4) \
50+
--icon "Unrailed Save Scummer.app" $(expr $width / 4 - $height / 8) $(expr $height / 2 - $height / 8) \
51+
--hide-extension "Unrailed Save Scummer.app" \
52+
--app-drop-link $(expr $width \* 3 / 4 - $height / 8) $(expr $height / 2 - $height / 8) \
53+
--hdiutil-quiet \
54+
--no-internet-enable \
55+
"./bin/unrailed-save-scummer-amd64-darwin.dmg" "$mac_app_dir"
56+
;;
57+
"Linux")
58+
# dd if=/dev/zero of=/tmp/foo.dmg bs=1M count=64
59+
# mkfs.hfsplus -v ThisIsFoo /tmp/foo.dmg
60+
genisoimage \
61+
-V "Unrailed Save Scummer" -D -R -apple -no-pad \
62+
-o "./bin/unrailed-save-scummer-amd64-darwin.dmg" "$mac_app_dir"
63+
;;
64+
*)
65+
>&2 echo "Unknown build platform!"
66+
esac

0 commit comments

Comments
 (0)